відновити файли на ext4


11

Моя мати розмістила кілька важливих файлів на її / tmp за випадковість. Тепер, звичайно, їх немає.

Це сталося вчора (2 черевики машини з тих пір)

Я хочу спробувати відновити файли. Вони були на / tmp, який знаходився на тому ж розділі, що і решта /, тому мені потрібен інструмент, який працює на змонтованій системі (або, можливо, я міг би використовувати livecd ...)

Зараз я пробую testdisk на systemrescuecd, який я щойно завантажив. Я можу отримати деякі файли з / tmp, але не всі. (це правильний інструмент? Які саме ті "червоні" файли? лише деякі з них можна відновити?)

Відповіді:


15

Ви також можете використовувати extundelete

Спочатку відключіть ( umount) файлову систему, з якої були видалені файли.
Потім прочитайте розділ Що робити, якщо ви видалили файл .

Ви можете встановити extundeleteз класичного сховища Ubuntu:

sudo apt-get install extundelete

Або ще краще, ви можете завантажити останню версію та скласти її:

cd ~/Download
tar -xf extundelete-*.*.*-.tar.bz2  #Replace *.*.* by the version
cd      extundelete-*.*.*
sudo apt-get install e2fslibs-dev   #Required for compilation
./configure
make
sudo make install
extundelete --version               #Should be your *.*.* version

Приклад використання: відновлення всіх видалених файлів з каталогу Imagesв новому створеному каталозіrestore

sudo extundelete --restore-directory Images/ -o restore /dev/sda3

Погані новини, якщо ви бачите свій файл XXXXу такому форматі:

Unable to restore inode NNN (Images/XXXX): Space has been reallocated.

Перегляньте всі відновлені файли (знайдіть свій файл):

find restore -name '*'

Створіть резервні копії файлів і видаліть цей тимчасовий каталог restore

cp restore/Images/XXXX MY_BACKUP_DIRECTORY
sudo rm -rf restore  

3
Ця відповідь буквально просто врятувала мою роботу. Дякую.
Twifty

10

Відновлення даних, особливо у файлових системах EXT, слід намагатись із живого компакт-диска або іншої системи, яка не залежить від розділу, з якого ви видаляєте. Очищення диска відключеним або повторно встановленим лише для читання дуже допомагає в відновлення.

Більшу частину часу я намагаюся створити зображення розділу чи диска за допомогою ddчи подібного інструменту, щоб я не працював над самим диском:

dd if=/dev/sd[xx] of=/media/backup_drive/recovery.img

Коли ви маєте своє зображення, ви можете скористатися інструментом, як ext3grepспробувати знайти файли, які шукаєте. Ви можете спробувати багато різних комутаторів, але це може бути вдалим початком:

ext3grep --restore-file 'tmp/moms-file.txt' recovery.img

ext3grepУтиліта також надає кілька різних способів пошуку через файлову систему , якщо ви не знаєте ім'я файлу. Перевірте ext3grep --helpнаявність різних методів пошуку.


Було б добре, якби ви могли додати точні кроки?
saji89

@ saji89 Додано використання зразка - також виправлено для посилання на потрібну утиліту!
Віндіго

приємно. тепер ... це працює з ext4?
josinalvo

1
@josinalvo Я працював з томом EXT4, коли я спробував це, і він спрацював; він не знайшов файлів, які я шукав, але я думаю, що я пропустив вікно можливостей.
Віндіго


0

Я не зміг відновити файл crontab, використовуючи ext4magic або extundelete.

У Debian тут знаходиться crontab для root:

/var/spool/cron/crontabs/root

Але, скориставшись такою командою, я зміг принаймні вручну відновити свій кронтаб із журналів.

 grep CRON /var/log/syslog.* -i| awk -F " CMD " {'print $2;'} |sort | uniq

Він видаватиме лише виконані завдання cron (без термінів), але принаймні це набагато більше, ніж починати з нуля.

Якщо ви не пам’ятаєте, як часто виконуються певні завдання в Cron, візьміть повний журнал, наприклад, syslog.1, і це дасть вам кількість рахунків за пробіг протягом дня:

grep CRON /var/log/syslog.1 -i| awk -F " CMD " {'print $2;'} |sort | uniq -c |sort -n

0

ПроаналізуйтеEXT

Аналіз блоків даних для даних каталогу EXT.

Детальну документацію на EXT4 можна знайти тут:

Завантажте сценарій perl за допомогою

git clone https://github.com/halpomeranz/analyzeEXT

Ніякої гарантії, але можливо не вдасться відновити видалені файлові системи.


1
Який саме цей інструмент? Як ти ним користуєшся? Я прочитав опис репо та повідомлення довідки в сценарії , але деталей не так багато.
wjandrea

Поглянув на сценарій perl; Довідка про cli не відповідає сценарію!
abu_bua

Детальніше тут. Я натрапив на нього - ніколи не користувався ним! youtube.com/watch?v=6pzm6909IvY
jouell

@jouell Я дивився 2:30 відео, і він ще не згадав сценарій. Чи можете ви відредагувати свою відповідь, щоб додати короткий підсумок?
wjandrea
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.