web-dev-qa-db-ja.com

ext4-fs:ジオメトリが正しくありません:ブロック数がデバイスのサイズを超えています

ノートブックで使用する2TBのディスクを持っています。このディスクはext4としてフォーマットされており、ノートブックでは問題なく動作しますが、(sata-usbアダプターを介して)デスクトップに接続すると、次のエラーのためにマウントできません。

デスクトップから:

# 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

ノートブックから:

# 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

私の質問は、次のとおりです。なぜ、1台のコンピューターでディスク上のセクター数が他のコンピューターと異なるのですか?不良ブロックをチェックしたところ、何も見つかりませんでした。

3
rabbit

これは、障害のあるUSBインターフェイスアダプタで発生します。アダプターの障害の考えられる理由:

  • アダプターが古すぎます

  • 安いアダプター

  • アダプターのファームウェアが不良

これらのエラーは advanced format ドライブの登場により、さらに頻繁に発生しました。

一部のアダプタは、AFドライブの相互作用を「変換」しようとするため、レガシーフォーマットドライブをエミュレートします。

これは、次のことができることを意味します。

  1. USBアダプターを使用してドライブをフォーマットし、両方のコンピューターでUSBアダプターを引き続き使用する

  2. ドライブをフォーマットする必要がないので、より良いUSBアダプターを入手してください。

  3. 両方のコンピューターで内部SATAコネクターを使用します。

フォーマットすると、ドライブ上のすべてのデータが破壊されます。

3
svin83

報告されたサイズの違いは非常に小さく、3907029166対3907029168のみ、または2セクター= 1KBです。デスクトップシステムに移動する前に、ラップトップのファイルシステムとパーティション(サイズが大きいと報告されている)を縮小するだけで、これを機能させることができる場合があります。

まず、resize2fsを使用してファイルシステムを1ブロック縮小するだけで、それで十分な場合があります。

ただし、パーティションテーブルの記述方法によっては、パーティションをそれほど小さく縮小できない場合があります(たとえば、トラック全体または1MBなどが必要になる場合があります)。その場合、これらの詳細を知っているpartedのようなものを使用する方が良い場合があります。

USBアダプターが異なるサイズを報告する理由については、いくつかの有効な理由があります。アダプターは、単純な丸めまたは内部ディスクラベルの追加を使用できます。

0
LustreOne