首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ext4 4-fs:糟糕的几何形状:块数超过设备大小

ext4 4-fs:糟糕的几何形状:块数超过设备大小
EN

Unix & Linux用户
提问于 2018-09-16 08:53:39
回答 2查看 3K关注 0票数 3

我有2TB磁盘,我用在笔记本上。此磁盘被格式化为ext4,在笔记本中工作正常,但当我将它附加到桌面(通过sata适配器)时,由于以下错误,无法挂载它:

来自桌面:

代码语言:javascript
运行
复制
# 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

来自笔记本:

代码语言:javascript
运行
复制
# 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

我的问题是:为什么一台计算机在磁盘上显示的扇区数量与另一台计算机不同?我检查了坏的地块,没有发现。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-09-16 12:21:25

这种情况发生在错误的USB接口适配器上。出现适配器故障的可能原因:

  • 适配器太旧了
  • 廉价适配器
  • 坏适配器固件

随着高级格式驱动器的出现,这些错误变得更加频繁。

一些适配器试图“翻译”AF驱动器的交互,以便模仿遗留的格式驱动器。

这意味着你可以:

  1. 使用USB适配器格式化驱动器,然后在两台计算机上继续使用USB适配器。
  2. 获得一个更好的USB适配器,这样你就不用格式化你的驱动器了。
  3. 在两台计算机上使用内部SATA连接器。

格式将破坏驱动器上的所有数据.

票数 3
EN

Unix & Linux用户

发布于 2018-09-17 06:04:22

报告的大小之间的差别很小,只有3907029166比3907029168,或者两个扇区= 1KB。在将文件系统和分区移动到桌面系统之前,您可以通过缩小膝上型计算机上的文件系统和分区(在这里报告更大的大小)来完成这项工作。

首先,您可以使用resize2fs将文件系统缩小1块,这可能就足够了。

但是,根据分区表的编写方式,您可能无法将分区缩小这么小(例如,它可能需要一个完整的轨道或1MB或任何东西)。在这种情况下,使用像parted这样了解这些细节的东西可能会更好。

至于为什么USB适配器报告的大小不同,有多少合理的理由。适配器可以使用简单的舍入或添加内部磁盘标签。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/469348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档