Использование 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
Если этот трюк не дал результата, то немедленно размонтируйте файловую систему с удалённым файлом или переведите её в режим только чтения.
Смотрите также «Могут ли правоохранительные органы восстановить удалённые файлы?».
Связанные статьи:
- PhotoRec: восстановление удалённых и потерянных фотографий и файлов на картах памяти и жёстких дисках (100%)
- Какие есть полезные инструменты с интерфейсом командной строки для системных администраторов Linux (50%)
- 10 полезных примеров команды du для определения, сколько места занимают файлы и директории (50%)
- Как в Linux подключить новый диск, разметить и отформатировать разделы (50%)
- Как передавать файлы между Android и Linux (50%)
- Команда findmnt для просмотра смонтированных файловых систем в Linux (RANDOM - 27.8%)