ext4-fs: geometria incorreta: a contagem de blocos excede o tamanho do dispositivo

2

Eu tenho um disco de 2 TB que uso no notebook. Este disco foi formatado como ext4 e funciona bem no notebook, mas quando eu o conecto ao desktop (via adaptador sata-usb), não consigo montá-lo devido ao seguinte erro:

Na área de trabalho:

# mount /dev/sdd1 /mnt
mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sdd1, missing codepage or helper program, or other error.
# dmesg | grep sdd
[ 6978.692452] sd 11:0:0:0: [sdd] 3907029166 512-byte logical blocks: (2.00 TB/1.82 TiB)
[ 6978.692604] sd 11:0:0:0: [sdd] Write Protect is off
[ 6978.692606] sd 11:0:0:0: [sdd] Mode Sense: 03 00 00 00
[ 6978.692799] sd 11:0:0:0: [sdd] No Caching mode page found
[ 6978.692803] sd 11:0:0:0: [sdd] Assuming drive cache: write through
[ 6978.789625]  sdd: sdd1
[ 6978.789631] sdd: p1 size 3907027120 extends beyond EOD, enabling native capacity
[ 6978.792344]  sdd: sdd1
[ 6978.792346] sdd: p1 size 3907027120 extends beyond EOD, truncated
[ 6978.793299] sd 11:0:0:0: [sdd] Attached SCSI disk
[ 7002.085079] EXT4-fs (sdd1): bad geometry: block count 488378390 exceeds size of device (488378389 blocks)

# fdisk -l /dev/sdd
Disk /dev/sdd: 1.8 TiB, 2000398932992 bytes, 3907029166 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa3bf120c

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdd1        2048 3907029167 3907027120  1.8T 83 Linux

Do notebook:

# dmesg | grep sdb
[    6.747344] sd 1:0:0:0: [sdb] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
[    6.747347] sd 1:0:0:0: [sdb] 4096-byte physical blocks
[    6.747369] sd 1:0:0:0: [sdb] Write Protect is off
[    6.747372] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00
[    6.747407] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    6.769650]  sdb: sdb1
[    6.770587] sd 1:0:0:0: [sdb] Attached SCSI disk
[   14.128886] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: data=ordered
here I tried remount it, and it worked fine:
[  286.189504] EXT4-fs (sdb1): mounted filesystem with ordered data mode. Opts: (null)

# fdisk -l /dev/sdb
Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xa3bf120c

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1        2048 3907029167 3907027120  1.8T 83 Linux

Minha pergunta é: Por que um computador mostra uma quantidade diferente de setores no disco do que o outro? Eu verifiquei por blocos ruins, nenhum foi encontrado.

    
por rabbit 16.09.2018 / 10:53

2 respostas

3

Isso acontece com adaptadores de interface USB defeituosos. Possíveis razões para adaptadores defeituosos:

  • Adaptador muito antigo

  • Adaptador barato

  • Firmware do adaptador incorreto

Esses erros se tornaram muito mais frequentes com o advento dos drives formato avançado .

Alguns adaptadores tentam "traduzir" interações da unidade AF para que eles emulem unidades de formato legadas.

Isso significa que você pode:

  1. Use o adaptador USB para formatar a unidade e continue usando o adaptador USB nos dois computadores

  2. Obtenha um adaptador USB melhor, para que você não precise formatar sua unidade.

  3. Use conectores SATA internos nos dois computadores.

A formatação irá destruir todos os dados na unidade.

    
por 16.09.2018 / 14:21
0

A diferença entre os tamanhos reportados é muito pequena, apenas 3907029166 vs. 3907029168, ou 2 setores = 1KB. Você pode conseguir fazer isso simplesmente encolhendo o sistema de arquivos e a partição no laptop (onde ele reporta o tamanho maior) antes de movê-lo para o sistema desktop.

Para começar, você pode usar apenas resize2fs para reduzir o sistema de arquivos em 1 bloco e isso pode ser suficiente.

Dependendo de como a tabela de partição está escrita, no entanto, talvez você não consiga reduzir a partição em uma quantidade tão pequena (por exemplo, pode ser necessário ter uma faixa inteira ou 1 MB ou qualquer outra coisa). Nesse caso, usar algo como parted que conhece esses detalhes pode ser melhor.

Por que o adaptador USB está relatando um tamanho diferente, há vários motivos válidos. Simples arredondamento ou adicionar uma etiqueta de disco interno pode ser usado pelo adaptador.

    
por 17.09.2018 / 08:04