4KB'den büyük blok boyutlarına sahip dosya sistemlerini nasıl bağlayabilirim?


18

WD Mybook Live NAS'dan çıkarılan 3 TB'lık bir sabit diskim var. Bölümleme tablosu aşağıdaki gibidir:

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

Bu yüzden bölüm 4'e (büyük olan!) Erişmeye çalışıyorum:

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 çıkışı:

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

Bu yeterince adil. Çektiğim kadarıyla 4K'nın üzerindeki blok boyutlarını destekleyecek şekilde yapılandırılmamış.

Benim sorum, daha büyük blok boyutlu bölümlerin monte edilmesine izin vermek için çekirdek yapılandırmamda hangi simgeyi aramalıyım? Bunun için google'ı temizledim ve seçeneği daha önce gördüğümü düşündüm, ancak en son kararlı çekirdek kaynağında bundan söz edemiyorum.

Düzenleme : Hdparm'dan tam sabit disk bilgisi: http://pastebin.com/hDdbUzjd

Düzenleme : dumpe2fs çıktı:

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 komutuna bir blok boyutu iletmenin hiçbir şey yapmadığını unutmayın: mount -t ext4 -o bs = 65536 / dev / sdb4 / mnt .... bs seçeneği yalnızca birkaç dosya sisteminde desteklenir (ext sistemlerinde değil). .)
John Hunt

dumpe2fs -hBu cilt için çıktı nedir ? Mke2fs için 2012 kılavuz sayfam: "Geçerli blok boyutu değerleri blok başına 1024, 2048 ve 4096 bayttır." 4096'dan 65536'ya oldukça büyük bir sıçrama.
Hauke ​​Laging

@HaukeLaging - Bu çıktıyı eklediniz, teşekkürler :)
John Hunt


@jofel aslında bir çözüm sunmuyor, sadece belirsiz bir akıl yürütme.
John Hunt

Yanıtlar:


20

Woohoo, çözdüm :)

Kısa cevap, x86 linux makinelerine 4 k blok boyutundaki cihazları, ciddi çekirdek hacklemeden söyleyebildiğim kadarıyla monte edemeyeceğinizdir.

Ancak, etrafında bir çalışma var .. diski monte etmek için fuse-ext2 kullanarak:

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

(büyük olasılıkla önce fuseext2'yi almanız gerekir.)

ilk kez mükemmel çalışıyor!

Temelde bu, insanların MyBook Live disklerini nasıl kurtarabilecekleri olacaktır.

Buraya nasıl blog gönderilir: http://john-hunt.com/2013/04/25/recovering-data-from-a-wd-mybook-live-2tb-3tbor-slike/


1
Evet, çekirdek sayfa önbelleği blok boyutunu CPU'nun sayfa boyutuyla sınırlar, bu nedenle i386 / amd64 için 4k blok boyutundan daha büyük bir fs bağlayamazsınız. Başka bir alternatif e2tools kullanmaktır.
psusi

1
Teşekkür ederim! Bir Seagate Central NAS diskine bu şekilde erişebildim.
Tobia

Bu şekilde 2 makinede (kubuntu 14.04 x86 ve 15.10 x64) deniyorum, ancak açık montaj klasöründe fuseext2 tarafından% 100 donma ve CPU kullanımı elde ediyorum. Birisi diyebilir miyim, neden?
Yura Shinkarev

YShinkarev'e benzer bir deneyim alıyorum - fuseext2 montajına erişmeye çalışırken asılı, onu takmaya çalıştığımda da donuyor. Ctrl + c'nin bir etkisi yok ...
Adam Griffiths

1
Bu, soruyu kendi başına cevaplamasa da , dosyaları güvenli bir konuma kopyalamak ve kopyalamak debugfs /dev/sdXXgibi temel komutları çalıştırabileceğiniz verileri kullanarak kurtarabilirsiniz . Kaynak: n-dimensional.de/blog/2012/05/01/wd-mybook-live-data-rescue fuseext2 dontuğu için bu yöntemi kullandım ( bugs.debian.org/cgi-bin/bugreport.cgi?bug= 776248 )lsrdump
Alecz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.