Як я можу встановити файлові системи із розмірами блоків> 4 КБ?


18

У мене жорсткий диск розміром 3 Тб витягнутий із WD Mybook Live NAS. Таблиця розділів така:

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). .)
Джон Хант

Який dumpe2fs -hвихід для цього обсягу? Моя сторінка man 2012 для mke2fs говорить: "Дійсні значення розміру блоку - 1024, 2048 та 4096 байт на блок". Досить стрибок з 4096 до 65536.
Хоук Лагінг

@HaukeLaging - Додали, що результат, дякую :)
Джон Хант


@jofel, який насправді не пропонує рішення, а лише розпливчасті міркування.
Джон Хант

Відповіді:


20

Woohoo, я це вирішив :)

Коротка відповідь - ви не можете встановити пристрої розміром 4 к блоків на пристроях Linux x86, наскільки я можу сказати, без серйозних злому ядра.

Однак існує робота навколо .., використовуючи fuse-ext2 для монтажу диска:

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

(вам, ймовірно, потрібно буде спочатку додати fuseext2 ..)

працює чудово перший раз!

Це в основному так, як люди можуть відновити свої диски MyBook Live.

Як розмістити блог тут: http://john-hunt.com/2013/04/25/recovering-data-from-a-wd-mybook-live-2tb-3tbor-s подобни/


1
Так, кеш сторінки ядра обмежує розмір блоку розміром сторінки процесора, тому для i386 / amd64 ви не можете монтувати fs з розміром блоку більше 4 кб. Ще одна альтернатива - використання e2tools.
psusi

1
Дякую! Мені вдалося отримати доступ до приводу Seagate Central NAS таким чином.
Тобія

Я намагаюся таким чином на двох машинах (kubuntu 14.04 x86 та 15.10 x64), але отримую заморожування та використання процесора на 100% за допомогою fuseext2 у відкритій папці кріплення. Чи можу я хтось сказати, чому?
Юра Шинкарев

У мене є подібний досвід, як у YShinkarev - підвішування при спробі отримати доступ до кріплення fuseext2, також зависає, коли я намагаюся його замінити. Ctrl + c не має ефекту ...
Адам Гриффітс

1
Хоча це не відповідає на запитання як таке, ви можете відновити дані, використовуючи, debugfs /dev/sdXXде можна запустити основні команди, такі як lsта rdumpскопіювати файли в безпечне місце. Джерело: n-dimensions.de/blog/2012/05/01/wd-mybook-live-data-rescue Я використовував цей метод, оскільки fuseext2 замерзає ( bugs.debian.org/cgi-bin/bugreport.cgi?bug= 776248 )
Алеч
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.