ブロックサイズが 4KB を超えるファイルシステムをマウントするにはどうすればよいでしょうか?

ブロックサイズが 4KB を超えるファイルシステムをマウントするにはどうすればよいでしょうか?

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

答え1

やったー、解決しました :)

簡単に答えると、私の知る限り、カーネルをかなりハッキングしない限り、x86 Linux マシンに 4k を超えるブロック サイズのデバイスをマウントすることはできません。

ただし、回避策があります。fuse-ext2 を使用してディスクをマウントします。

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

(おそらく最初に apt-get fuseext2 を実行する必要があります。)

初めてでも完璧に動作します!

基本的に、これが MyBook Live ディスクを復元する方法になります。

ハウツーブログ投稿はこちら:http://john-hunt.com/2013/04/25/recovering-data-from-a-wd-mybook-live-2tb-3tbor-similar/

答え2

fuseext2 でロックアップを経験した人もいるので、代替案を次に示します。

debugfs /dev/sdb4

debugfsCLI を開きます。 は、rdump <directory> <target>ディスクのファイルシステムからホストのファイルシステムにディレクトリ全体を再帰的にコピーします。 たとえば、rdump home /tmpはディスクの/homeディレクトリを にコピーします/tmp/home

関連情報