Відновити дані з тома ext4 (очищення необхідних структур і т.д.)


1

tl: dr: Як відновити дані з тома ext4, що дає помилки типу "Структура потребує очищення?" Я спробував багато речей, як описано нижче, але досі не має успіху.

EDIT: Будь ласка, дивіться нижче оригінальний пост для виводу e2fsck і dumpe2fs відповідно до запиту commentor. Оригінальний пост слід.


При спробі змонтувати том Truecrypt 7.1, який я часто використовую, сьогодні я отримав цю чудову помилку:

Помилка: mount: mount / dev / mapper / truecrypt1 на / media / truecrypt1 не вдалося: Структура потребує очищення

Потім я спробував встановити це з командним рядком truecrypt 7.1a на іншій системі і отримав цю помилку:

Помилка: mount: неправильний тип fs, поганий варіант, поганий суперблок в / dev / mapper / truecrypt1,

Ось ті кроки, які я зробив досі:

1 - розшифровується, але не встановлюється за допомогою програми Truecrypt за допомогою:

truecrypt --filesystem = none / dev / xxx.

Це, здається, дає мені незашифрований, але немонтируемий розділ. Тоді я підтримав це з використанням dd і намагаюся все інше на резервних копіях.

2 - Отже, я намагаюся встановити його:

mount sda3.1 / mnt / tmp

... і я розумію, що це не дивно:

mount: mount / dev / loop0 на / mnt / tmp не вдалося: Структура потребує очищення

3 - Отже, я намагаюся:

dmesg | хвіст

... і це дає мені:

[1283.815816] EXT4-fs (loop0): ext4_check_descriptors: Блок растрового зображення для групи 64 не в групі (блок 1312711560940789246)!
[1283.815825] EXT4-fs (loop0): пошкоджені дескриптори груп!

Слід зазначити, що я не впевнений, що це був обсяг ext4. Я чесно не пам'ятаю, чи було це 2, 3 або 4. Але з вищенаведеного повідомлення я припускаю, що це ext4. Тільки подумав що може бути важливо згадати.

4 - Тепер я намагаюся fsck.ext4 і все погано. Якщо я запускаю його автоматично, отримую:

sda3.1: Примітка: якщо декілька блоків або частин блокових растрових або блокових   таблиці inode вимагає перенесення, ви можете спробувати   запускає e2fsck з опцією '-b 32768'. Проблема   може лежати тільки з первинними блочними дескрипторами групи, і   дескриптори групи резервних блоків можуть бути нормальними.

sda3.1: Блок растрових зображень для групи 64 не входить до групи. (блок 1312711560940789246)

sda3.1: НЕПРОГЛЯДНА НЕСВ'ЄДНІСТЬ; RUN fsck Вручну.       (тобто без параметрів -a ​​або -p)

5 - Тепер я думаю, що, можливо, я повинен спробувати запустити fsck вручну. Так що я роблю це. Проблема в тому, що відбувається одна з двох речей:

i) Я вибираю "y" для всього, і кінцевим результатом є те, що я може монтуйте об'єм, але він повністю порожній АБО

ii) Я повинен вирішити, що сказати "у" і "н", і я не маю проклятого поняття, як розрізнити. Я трохи читаю файлові системи, але це все ще здається. Крім того, існують сотні питань, які виникають (перша з яких дійсно стосується групи 64 ..., а потім 65, 66 і т.д.), тому навіть якщо я знаю, що робити, знадобиться багато годин, щоб зробити це - і я не можу зробити жодної помилки, або я можу втратити дані, чи не так?

6 - читаю цю тему: Як відновити файлову систему ext4 і я також "пробував монтувати з альтернативними місцями суперблоку" як у:

mount -t ext4 -o sb = 131072, ro sda3.1 / mnt / data_c

Як він це зробив, "я зробив вище, з опцією sb, що дорівнює кратній кількості 4 всіх наступних чисел: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000." Кожен раз я отримував ту саму помилку:

mount: неправильний тип fs, поганий варіант, поганий суперблок в / dev / loop0,          відсутня кодова сторінка або допоміжна програма, або інша помилка

У деяких випадках корисна інформація знаходиться в syslog - спробуйте          dmesg | хвіст або так.   7 - я запустив testdisk і є багато варіантів, але вибір таблиці розділів Intel / PC на файлі sda3.1 дає мені:

Сектор розділів не має позначення 0xAA55

... і testdisk не бачить розділів.


Отже, це те, де я зараз перебуваю. Якщо ви можете допомогти, я був би вдячний. Очевидно, якщо б ці дані не мали значення, я б не піклувався. Це не небезпечно для життя, але для мене це надзвичайно корисно. Чому б я не підтримав його, запитаєте ви. Тому що іноді ви не розумієте, наскільки важливим є щось, поки не втратите його. І тому, що я іноді є ідіотом.

Спасибі заздалегідь.


РЕДАГУВАТИ: додаю вихідні дані до моєї початкової публікації за запитом від коментатора:

(a) dumpe2fs

dumpe2fs 1.43.3 (04-Sep-2016)
Filesystem volume name:   
Last mounted on:          /mnt/truecrypt1
Filesystem UUID:          26177e9d-7268-48e8-86ff-47373c24d454
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean with errors
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              1501440
Block count:              5998016
Reserved block count:     299900
Free blocks:              2303431
Free inodes:              1393801
First block:              0
Block size:               4096
Fragment size:            4096
Group descriptor size:    64
Reserved GDT blocks:      1024
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8160
Inode blocks per group:   510
Flex block group size:    16
Filesystem created:       Sat Apr  9 17:57:07 2016
Last mount time:          Mon Dec 19 02:11:03 2016
Last write time:          Mon Dec 19 03:24:29 2016
Mount count:              382
Maximum mount count:      -1
Last checked:             Sat Apr  9 17:57:07 2016
Check interval:           0 ()
Lifetime writes:          95 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:           256
Required extra isize:     32
Desired extra isize:      32
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      65bfc178-1879-4c35-ab2c-39bf976dff4c
Journal backup:           inode blocks
FS Error count:           9760
First error time:         Mon Dec 19 03:24:13 2016
First error function:     ext4_read_inode_bitmap
First error line #:       186
First error inode #:      0
First error block #:      0
Last error time:          Mon Dec 19 03:24:21 2016
Last error function:      ext4_iget
Last error line #:        4095
Last error inode #:       14
Last error block #:       0
Checksum type:            crc32c
Checksum:                 0x989a676a
dumpe2fs: Inode checksum does not match inode while reading journal inode

(b) e2fsck -fy

Висновок для цього занадто довгий для розміщення. Так ось посилання: Вихід e2fsck

Кінцевий продукт монтується, але він не відновлюється. Є один файл з втраченим і знайденим, і цей файл дуже великий. Я можу надати деталі, якщо хочете.

Дякуємо за допомогу. Я з нетерпінням чекаю на вашу думку про вище.


Спробуйте photorec. Я розумію, що ви хочете виправити всю файлову систему і за допомогою цього інструменту ви зможете (у кращому випадку) відновити лише деякі файли. Але якщо це вдасться, то ви будете знати, що ваші дані добре розшифровані, і це все ще очікує відновлення. Крім того, у вас будуть деякі файли, які, як ми сподіваємося, краще, ніж нічого.
Kamil Maciorowski

@Kamil Maciorowski: Дякуємо за пропозицію. Я запустив photorec і він знайшов деякі файли. Але нічого корисного. Але, як ви сказали, це говорить нам, що дані були розшифровані правильно.
Jason Cotman

Будь ласка, додайте (a) вихід dumpe2fs у файлову систему, і (b) вихід e2fsck -fy на копію файлової системи. Це єдиний спосіб, яким хтось може надати конкретні рекомендації щодо дій щодо відновлення файлової системи.
Theodore Ts'o

@ Theodore Ts'o: Я відредагував свій початковий пост, щоб включити вивід кожного з них. Дякуємо за відповідь.
Jason Cotman

@Kamil Maciorowski: Для наступного: photorec дійсно знайшов деякі корисні речі. Не все, але близько 15% важливих речей, так що це ще краще, ніж я б без вашої допомоги. Дякую.
Jason Cotman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.