Skip to main content

Восстановление фотографий (и других файлов) с затертых-перетертых разделов.

Потеря файлов

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

Восстановление таблицы разделов

Первыми в гугле нам советуют TestDisk и PhotoRec (есть в репозитории) . Это комплект утилит способных помочь в случае, когда вы просто снесли таблицу разделов на своем жестком диске. В моем случае это не подошло, так как я не только снес таблицу (состоявшую из зоопарка swap,ext2,ext3,ntfs разделов), но и записал туда новую. Причем диском я успел порядком попользоваться.

Впрочем, даже для своей текущей цели эти утилиты показались мне неудобными в управлении (только TUI, +достаточно кривое место, мне пришлось пересканировать диск три раза, а это небыстрая процедура).

Так что от этих утилит пришлось отказаться.

Создание образа раздела

Вторым инструментом по мнению поисковой выдачи гугла стал ddrescue (есть в репозитории) и брат его gddrescue (gnu ddrescue, тоже есть в репах). Они умеют слить образ нужных разделов на другой диск для дальнейшего препарирования. Однако это очень долго и не ведет к непосредственному восстановлению файлов. Да и место жрет порядочно (где-то надо было найти еще 250 Гб места).

ddrescue тоже остался не у дел.

Восстановление файла по сигнатуре

Самым эффективным вариантом оказалось восстановление файлов по сигнатуре линейным сканированием диска. Конечно, при дикой фрагментации очень много файлов будет потеряно, но результат достоин того. В моем случае мне помогла утилита foremost.

Пример запуска:

$: sudo foremost -i <block device or image file> -o <rescue path> -t <file type>
 
-i - источник данных
-o - итоговый приемник данных (папка)
-t - тип файлов для восстановления ( в моем случае это был jpg)

Утилита сканирует весь диск в поисках сигнатур файлов. Процедура долгая, но действенная.

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

Аналогичной по функциональности программой является magick rescue. Для винды есть Zero Assumption Recovery (бесплатна для восстановления данных с флешек, в частности фотографий), которой я пользовался до этого, когда затирал фотки на SD-карте фотоаппарата.

Эпилог

В итоге все шикарно, большая часть ( почти 100% фоток, которые были в единственном экземпляре) восстановились. Подохли почему то в основном фотки, которые у кого то можно скачать.

Моя дочка
Успешно восстановленная фотография