ZaLinux.ru

Как восстановить удалённый файл в Linux

Использование PhotoRec

Если вам приходится восстанавливать файлы, то начните с программы PhotoRec. Подробная инструкция «PhotoRec: восстановление удалённых и потерянных фотографий и файлов на картах памяти и жёстких дисках».

Если PhotoRec не принесла результатов, то попробуйте другие инструменты.

Использование Scalpel

Scalpel – это программа с открытым исходным кодом для восстановления файлов используя базу данных заголовков, колонтитулов. Может восстанавливать с образов дисков или устройств с сырыми блоками, заголовки и колонтитулы устанавливаются пользователем. Программа используется не только для восстановления файлов, но и цифровых криминалистических исследований.

Установка Scalpel в Ubuntu, Linux Mint и Debian

Откройте терминал и скопируйте в него команду:

sudo apt-get install scalpel

После завершения установки scalpel, вам нужно найти файл scalpel.conf:

locate scalpel.conf

Обычно он размещается в /etc/scalpel/scalpel.conf или /etc/scalpel.conf. Откройте этот файл текстовым редактором, вы увидите, что все строки закомментированы (начинаются с #). Т.е. перед запуском scalpel вам нужно раскомментировать форматы файлов, которые вы хотите восстановить. Если раскомментировать весь файл, то потребуется много времени и появится много ложных результатов.

Допустим, я хочу восстановить только файлы .jpg, тогда я просто раскомментирую секцию jpg в конфигурационном файле scalpel.

# GIF and JPG files (very common)
gif     y       5000000         \x47\x49\x46\x38\x37\x61        \x00\x3b
gif     y       5000000         \x47\x49\x46\x38\x39\x61        \x00\x3b
jpg     y       200000000       \xff\xd8\xff\xe0\x00\x10        \xff\xd9

В командной строке вам нужно указать расположение удалённых файлов, которые вы пытаетесь восстановить (в данном примере это /dev/sda1):

sudo scalpel /dev/sda1-o output

Переключатель -o указывает на директорию вывода, где вы хотите сохранить ваши восстановленные файлы. Перед запуском программы убедитесь, что это директория является пустой, в противном случае вы получите ошибку. Вывод команды:

Scalpel version 1.60
Written by Golden G. Richard III, based on Foremost 0.69.
Opening target "/dev/sda1"
Image file pass 1/2.
/dev/sda1:   6.1% |***** 		|    6.6 GB    39:16 ETA

Как вы видите, теперь scalpel выполняет свои действия, процесс восстановления удалённых файлов занимает время, которое зависит от объёма диска, который вы сканируете, и от скоросоти машины.

Использование extundelete

extundelete – утилита, позволяющая восстанавливать файлы, которые были удалены с разделов ext3/ext4.

Установить extundelete в Ubuntu, Linux Mint и Debian можно выполнив команду:

sudo apt-get install extundelete

Как только вы поняли, что удалили нужные файлы, надо отмонтировать раздел:

umount /dev/<partition>

или перемонтировать в режиме «только чтение»

mount -o remount,ro /dev/<partition>

Так же следует создать резервную копию раздела прежде, чем начинать с ним работу по восстановлению файлов:

dd bs=4M if=/dev/<partition> of=partition.backup

Зайдите в каталог, в который будут восстанавливаться удаленные данные. Он должен быть расположен на разделе отличном от того, на котором хранились восстанавливаемые данные:

cd /<путь_к_каталогу_куда_восстанавливать_данные>

Запустите extundelete, указав раздел, с которого будет происходить восстановление и файл, который необходимо восстановить:

sudo extundelete /dev/<partition> --restore-file /<путь к файлу>/<имя_файла>

Можно так же восстанавливать содержимое каталогов:

sudo extundelete /dev/<partition> --restore-directory /<путь_к_директории>

Можно задать для восстановления рамки по времени удаления восстанавливаемых файлов, например так:

sudo extundelete --after <дата> /dev/<partition> --restore-directory /<путь_к_директории>

Дату необходимо указывать в UNIX-времени:

date -d "March 28 19:34" +%s

Некоторые файлы могут восстановиться под другим именем и расширением, хотя это не повлияет на содержимое файла.

Полный список параметров extundelete можно посмотреть на странице https://kali.tools/?p=2574

Использование foremost

foremost производит поиск и восстановление данных по сигнатурам. Хорошо подходит для восстановления фотографий и скриншотов с битых карт памяти и флешек.

Установка foremost в Ubuntu, Linux Mint и Debian:

sudo apt-get install foremost

Пример использования для восстановления изображений с диска /dev/sdb в каталог ~/out_dir:

sudo foremost -t jpg,gif,png,bmp -i /dev/sdb -o ~/out_dir

Полный список параметров foremost можно посмотреть на странице https://kali.tools/?p=2494

Удалён файл, открытый в программе

Если вы считаете, что удалённый файл ещё открыт в какой-то программе (например, фильм, который в настоящий момент проигрывается медиа плеером) и вы знаете имя файла, но для начала попробуйте эту процедуру:

lsof|grep "путь/до/файла"
progname 5559 user 22r REG 8,5 1282410 1294349 /path/to/file

Запоминаем номер во втором столбце, это 5559, и номер в четвёртой колонке, это 22. Тогда команда восстановления:

cp /proc/5559/fd/22 restored.file

Если этот трюк не дал результата, то немедленно размонтируйте файловую систему с удалённым файлом или переведите её в режим только чтения.

Рекомендуемые статьи:

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *