восстановить файлы на ext4

11

Моя мама поместила несколько важных файлов на ее / TMP за несчастный случай. Теперь, конечно, они ушли.

Это случилось вчера (2 ботинка машины с тех пор)

Я хочу попытаться восстановить файлы. Они были в / tmp, который находился в том же разделе, что и остальные /, поэтому мне нужен инструмент, который работает на смонтированной системе (или, может быть, я мог бы использовать livecd ...)

Прямо сейчас я пробую testdisk на systemrescuecd, который я только что скачал. Я могу получить некоторые файлы из / tmp, но не все. (это правильный инструмент? Что это за «красные» файлы? только некоторые из них можно восстановить?)

josinalvo
источник

Ответы:

14

Вы также можете использовать extundelete

Сначала unmount ( 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  
olibre
источник
3
Этот ответ буквально только что спас мою работу. Спасибо.
Двадцать первое
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для различных методов поиска.

Windigo
источник
Было бы неплохо, если бы вы могли добавить точные шаги?
saji89
@ saji89 Добавлен пример использования - также исправлена ​​ссылка на нужную утилиту!
Виндиго
красивый. сейчас ... это работает с ext4?
Josinalvo
1
@josinalvo Я работал с томом EXT4, когда пытался, и он работал; он не нашел файлы, которые я искал, но я думаю, что упустил окно возможностей.
Виндиго
0

Я не смог восстановить файл crontab с помощью ext4magic или extundelete.

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

/var/spool/cron/crontabs/root

Но с помощью следующей команды я смог по крайней мере вручную восстановить свой crontab из журналов.

 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

AnalyzeEXT

Разобрать блоки данных для данных каталога EXT.

Подробную документацию по EXT4 можно найти здесь:

Загрузите скрипт на Perl

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

Нет гарантии, но может быть в состоянии восстановить удаленные файловые системы.

jouell
источник
1
Что это за инструмент? Как вы используете его? Я прочитал описание репо и сообщение помощи в скрипте , но там не так много деталей.
wjandrea
Взглянул на Perl-скрипт; Справка Cli не соответствует сценарию!
abu_bua
Более подробная информация здесь. Я наткнулся на это - никогда не использовал это! youtube.com/watch?v=6pzm6909IvY
Джоуэлл,
@jouell Я смотрел 2:30 видео, и он еще не упомянул сценарий. Не могли бы вы отредактировать свой ответ, чтобы добавить краткое резюме?
wjandrea