суббота, 10 января 2026 г.

Восстановление удаленных с Shift+Del фотографий и других файлов в Ubuntu Linux с помощью foremost

Однажды у меня случилась неприятная оказия. Я нечаянно удалил папку с важными фотографиями с помощью Shift+Del минуя Корзину. Но прежде чем опечалиться этому факту, я вспомнил, что на самом деле файлы на жёстком диске сохраняются, пока их не затрут другие файлы. Удаляется только их описание в файловой системе. И действительно! Существуют программные утилиты, которые ищут "призрачные файлы" и "воскрешают" их! Правда названия имён при этом теряется, но хотя бы так.

Итак! Спасителем моих фотографий стала программа foremost (что значит "прежде всего" на русском). Она была разработана специальными агентами Крисом Кендаллом и Джесси Корнблюмом из Управления специальных расследований ВВС США, но сгодится и для бытовых задач обычным людям. Последний стабильный релиз состоялся в 2011 году, первый релиз был в 2001 году. Работает только под ОС Linux.

Перед запуском следует убедиться, что у вас достатночно свободного пространства на другом носителе, куда вы будете восстанавливать данные. Восстановить данные на тот же носитель, который вы будете сканировать не получится. Я освободил приблизительно 150 Гб свободного места на SSD (sdb2), на которые записались свыше 80000 jpg-файлов после сканирования более 100000000000 байт с жесткого диска (sda1).

sudo apt-get install foremost

sudo foremost -v -t jpg -q -i /dev/sda1 -o /home/moogle/foremost -T

foremost может восстанавливать следующие типы файлов: jpg, gif, gif, png, bmp, avi, exe, mpg, mp4, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, htm, cpp.

Инструкция по пользованию программой foremost (foremost -h):

foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d] [-t <тип>] [-s <блоки>] [-k <размер>] [-b <размер>] [-c <файл>] [-o <директория>] [-i <файл>]

-V  - показать копирайт и выйти
-t  - определить тип файлов.  (-t jpeg,pdf ...)
-d  - включить обнаружения блока косвенной адресации (для файловых систем UNIX)
-i  - задать файл ввода (по умолчанию это stdin, т. е. стандартный ввод)
-a  - записать все заголовки, не выполнять обнаружение ошибок (повреждённые файлы)
-w  - только записать файл аудита, не записывать какие-либо обнаруженные файлы на диск
-o  - установить директорию вывода (по умолчанию это output)
-c  - установить используемый конфигурационный файл (по умолчанию это foremost.conf)
-q  - включить быстрый режим. Поиск выполняется на границах 512 байт.
-Q  - включить тихий режим. Подавление сообщений вывода.
-v  - вербальный режим. Записывать все сообщения на экран

Подробнее можно посмотреть здесь: https://kali.tools/?p=2494

Поиск формата jpg с пропуском первых 100 блоков: foremost -s 100 -t jpg -i image.dd

Чтобы найти свои фотографии среди кучи файлов с непонятным названием я воспользовался программой jhead, которая переименовывает jpg по EXIF-метаданным.

sudo apt-get install jhead

jhead -autorot -nf%Y-%m-%d_%H-%M-%S *.jpg

Слава Линуксу! Восстановились фотки!

А ещё существует утилита photorec из пакета testdisk. Ей тоже можно восстанавливать файлы, причём любые!

sudo apt-get install testdisk

Подробнее про photorec здесь: https://recoverit.wondershare.com.ru/file-recovery/photorec-linux.html

Комментариев нет:

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