在代码的底部,您可以看到它失败了。事实上,我也会在一开始就把它放在这里,因为这是我需要解决的问题:
[350591.924819] EXT4-fs (loop0): bad geometry: block count 9750806 exceeds size of device (9750168 blocks)
我不明白为什么这个设备太小了。我在两天前使用普通的fdisk创建了这个分区,它是用ext4创建和格式化的,除了分区(/ dev / sdb2)之外没有提供格式化的选项。
我能想到的唯一解释是ext4在某种程度上错误地分配了分区的大小,但这似乎不太可能。我的数学有什么问题?偏移是正确的,你可以看到使用file命令,并且大小也应该是正确的,因为End-Start来自相同数量的扇区减1,就像它应该的那样(一个磁盘从扇区1开始到扇区结束) 2将是2 - 1 = 1并且有两个扇区。
# sfdisk -luS /dev/sdb
Disk /dev/sdb: 9729 cylinders, 255 heads, 63 sectors/track
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/sdb2 78295040 156296384 78001345 83 Linux
# losetup -r -f --show -o $((78295040 * 512)) --sizelimit $((78001345 * 512)) /dev/sdb
/dev/loop0
# file -s /dev/loop0
/dev/loop0: Linux rev 1.0 ext4 filesystem data (needs journal recovery) (extents) (large files) (huge files)
# mount -o ro -t ext4 /dev/loop0 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
# dmesg | tail -n 1
[350591.924819] EXT4-fs (loop0): bad geometry: block count 9750806 exceeds size of device (9750168 blocks)