如何挂载大于4KB的文件系统?


18

我从WD Mybook Live NAS中拉出了3TB硬盘。分区表如下:

Model: ATA WDC WD30EZRS-11J (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 3      15.7MB  528MB   513MB                primary
 1      528MB   2576MB  2048MB  ext3         primary  raid
 2      2576MB  4624MB  2048MB  ext3         primary  raid
 4      4624MB  3001GB  2996GB  ext4         primary

所以我正在尝试访问分区4(大分区!):

root@john-desktop:~/linux-3.9-rc8# mount -t ext4 /dev/sdb4 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/sdb4,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Dmesg输出:

[ 2058.085881] EXT4-fs (sdb4): bad block size 65536

这很公平。据我所知,我的内核未配置为支持超过4K的块大小。

我的问题是,我应该在内核配置中搜索哪个符号以允许安装更大的块大小的分区?我已经为此搜寻了Google,我想我以前看过这个选项,但是在最新的稳定内核源代码中找不到任何提及。

编辑:从此处的hdparm获得完整的硬盘信息:http : //pastebin.com/hDdbUzjd

编辑:dumpe2fs输出:

Mount count:              0
Maximum mount count:      30Last checked:             Wed May 30 15:22:14 2012Check interval:           15552000 (6 months)Next check after:         Mon Nov 26 14:22:14 2012Lifetime writes:          319 GBReserved blocks uid:      0 (user root)Reserved blocks gid:      0 (group root)First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      cd7a28a0-714c-9942-29f4-83bca1209130
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Journal size:             2048M
Journal length:           32768
Journal sequence:         0x00010146
Journal start:            0

请注意,将块大小传递给mount命令不会执行任何操作:mount -t ext4 -o bs = 65536 / dev / sdb4 / mnt...。bs选项仅在少数文件系统(而不是ext文件系统)上受支持。 。)
John Hunt

dumpe2fs -h该量的输出是多少?我在2012年的mke2fs手册页中说:“有效的块大小值为每个块1024、2048和4096字节。” 太突然,从4096到65536
Hauke Laging

@HaukeLaging-添加了该输出,谢谢:)
John Hunt


@jofel实际上并没有提供解决方案,只是一个模糊的推理。
约翰·亨特2013年

Answers:


19

哇,我解决了:)

简短的答案是,就我所知,如果没有严重的内核黑客攻击,您无法在x86 linux机器上安装> 4k块大小的设备。

但是,有一种解决方法..使用保险丝-ext2来安装磁盘:

fuseext2 -o ro -o sync_read /dev/sdb4 /mnt/

(您可能需要先apt-获取fuseext2。)

完美的第一次!

基本上,这将是人们如何恢复MyBook Live磁盘的方式。

Howto博客发布在这里:http : //john-hunt.com/2013/04/25/recovering-data-from-a-wd-mybook-live-2tb-3tbor-like/


是的,内核页面缓存将块大小限制为CPU的页面大小,因此对于i386 / amd64,您不能挂载超过4k块大小的fs。另一种选择是使用e2tools。
psusi 2013年

1
谢谢!我能够通过这种方式访问​​Seagate Central NAS驱动器。
Tobia'9

我在2台机器(kubuntu 14.04 x86和15.10 x64)上尝试这种方式,但是通过mount文件夹上的fuseext2获得冻结和CPU使用率100%。我可以说为什么吗?
尤拉·辛卡列夫

我得到了与YShinkarev类似的体验-尝试访问fuseext2安装座时挂起,而尝试卸载它时也冻结。Ctrl + c无效...
Adam Griffiths

虽然这本身不能解决问题,但是您可以使用debugfs /dev/sdXX可以在其中运行基本命令(例如lsrdump将文件复制到安全位置)的位置恢复数据。来源:n-Dimension.de/blog/2012/05/01/wd-mybook-live-data-rescue我使用此方法是因为fuseext2冻结(bugs.debian.org/cgi-bin/bugreport.cgi?bug= 776248
Alecz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.