Библиотека сайта rus-linux.net
Восстановление удаленных файлов в Linux
Оригинал: How to recover deleted files on LinuxАвтор: Dan Nanni
Дата публикации: 4 октября 2013 года
Перевод: А. Кривошей
Дата перевода: апрель 2014 г.
Удаление файла, как правило, не означает, что он потерян навсегда. При удалении файла его метаданные (т.е. имя файла, размер, время создания, расположение и т.д.) теряются, но фактические данные, содержащиеся в файле, остаются нетронутыми до тех пор, пока этот блок файловой системы не будет перезаписан данными другого файла. Это значит, что если вы случайно удалили файл, есть шансы его восстановить.
В этом руководстве я опишу восстановление удаленных файлов в Linux. Для этого предназначены несколько утилит. Среди них необходимо отметить PhotoRec, так как это программа с открытым исходным кодом, распространяющаяся под лицензией GPLV v2+. PhotoRec работает в Linux, BSD, MacOS X и Windows.
Возможности PhotoRec
Как можно понять из названия программы, изначально PhotoRec предназначался для восстановления случайно удаленных цифровых фотографий. Тем не менее, на сегодняшний день он достаточно универсален и поддерживает различные форматы файлов. PhotoRec восстанавливает файлы, просматривая блоки данных один за другим и сравнивая их с хранящимися в его базе данных сигнатурами для различных типов файлов.
Поддерживаемые типы файлов: видео (avi, mov, mp3, mp4, mpg), изображения (jpg, gif, png), документы (doc(x), ppt(x), xls(x), html), аудио (mp3, ogg), архивы (gz, zip) и т.д.
Поддерживаемые файловые системы: EXT2, EXT3, EXT4, HFS+, FAT, NTFS, exFAT.
Помимо жестких дисков, PhotoRec может восстанавливать файлы, хранимые на CD/DVD, USB-флешках, картах памяти (CompactFlash, Memory Stick, Secure Digital/SD, SmartMedia) и так далее. Если вы случайно удалили цифровые фотографии, хранившиеся на карте памяти или в фотоаппарате, то можете использовать PhotoRec для их восстановления.
Установка PhotoRec в Linux
На официальном сайте PhotoRec предлагают скачать бинарные файлы для различных платформ. Поэтому вы можете скачать статически скомпонованный бинарник для вашей системы Linux.
Для 32-битного Linux:
$ wget http://www.cgsecurity.org/testdisk-6.14.linux26.tar.bz2 $ tar xvfvj testdisk-6.14.linux26.tar.bz2
Для 64-битного Linux:
$ wget http://www.cgsecurity.org/testdisk-6.14.linux26-x86_64.tar.bz2 $ tar xvfvj testdisk-6.14.linux26-x86_64.tar.bz2
В директории с распакованным архивом вы найдете исполняемый файл PhotoRec (photorec_static).
Восстановление удаленных фотографий и видео
В этом руководстве я покажу вам, как восстанавливать фото и видео, удаленные с SD-карты, которые были созданы камерой Canon EOS Rebel T3i. Если вы случайно удалили файлы, очень важно не сохранять больше никаких файлов на этот диск или карту памяти, чтобы не перезаписать удаленные файлы. Как только вы обнаружили, что удалили файлы, сразу же запустите PhotoRec.
$ sudo photorec_static
Вы увидите список доступных носителей. Выберите нужный.
Далее, выберите раздел, который содержит удаленные файлы.
Выберите тип используемой файловой системы. В целом, вы можете идентифицировать файловую систему из вывода команды mount. В случае SD-карты из Canon, она отформатирована в файловую систему VFAT. Поэтому выберите "Other".
Выберите, нужно ли анализировать весь диск. В нашем случае выберите "Free", чтобы просканировать только свободное пространство.
Выберите папку, в которой хранились удаленные файлы. Теперь вам нужно выбрать другой раздел или диск, после чего нажать "C".
Теперь PhotoRec начинает считывать отдельные сектора в поиске потерянных файлов. Вы будете видеть ход процесса. В зависимости от размера носителя, он может занять пару минут или даже больше.
После окончания сканирования восстановленные файлы будут сохранены в выбранной вами папке назначения. Обратите внимание, что размер восстановленного файла может быть таким же или большим, чем размер оригинального файла.