После rm, сбоя диска или «пропавшего» раздела шанс на восстановление есть, пока свободные блоки не перезаписаны. Ниже — рабочие утилиты для Linux (Ubuntu, Debian, Fedora, Arch, openSUSE и др.): safecopy, TestDisk, PhotoRec, foremost, scalpel, плюс правила, которые важнее любого «магического» софта.
С чего начать (и чего не делать)
Типичные причины потери данных: ошибочный rm/rm -rf, переразметка, повреждение ФС, bad-сектора, реже — вредоносное ПО. Пока идёт запись на тот же раздел, удалённые файлы вытесняются новыми данными.
- Сразу прекратите запись на затронутый раздел (не сохраняйте «восстановленное» туда же).
- По возможности размонтируйте раздел или работайте с Live USB / другого диска.
- Определите устройство:
lsblk,fdisk -l,blkid(подставляйте реальный путь вместо/dev/sdX). - Критичные случаи с железом — лучше образ диска, а уже с образа — сканирование.
Safecopy: копия с проблемного носителя
Safecopy умеет читать повреждённые диски и образы, обходя bad-сектора, и сохранять максимально возможный дамп. Это не «undelete по имени файла», а спасение данных с «сыплющегося» носителя перед дальнейшим разбором.
Установка:
# Ubuntu/Debian sudo apt install safecopy # Fedora sudo dnf install safecopy # Arch sudo pacman -S safecopy # openSUSE sudo zypper install safecopy
Пример: снять образ проблемного устройства в файл на другом диске:
sudo safecopy /dev/sdX /path/on/other/disk/disk.img
При ошибках чтения иногда помогают более «агрессивные» режимы (смотрите man safecopy и опции вроде --force / стадии stage). Дальше образ можно монтировать или отдавать TestDisk/PhotoRec.
TestDisk: разделы и структура ФС
TestDisk восстанавливает таблицы разделов, boot-сектора, помогает вернуть «пропавшие» разделы и иногда файлы через обход ФС. Удобен, когда диск «стал пустым» после fdisk/gparted или сбилась разметка.
# Ubuntu/Debian sudo apt install testdisk # Fedora sudo dnf install testdisk # Arch sudo pacman -S testdisk # openSUSE sudo zypper install testdisk
Запуск (интерактивное TUI-меню):
sudo testdisk # или сразу указать устройство sudo testdisk /dev/sdX
Типичный путь: выбрать диск → тип таблицы разделов → Analyse → Quick Search / Deeper Search → просмотр файлов (P) → копирование на другой носитель → запись таблицы (Write), если разделы найдены верно. Не пишите таблицу, пока не убедитесь, что найденное совпадает с ожидаемой разметкой.
PhotoRec: файлы по сигнатурам (в т.ч. медиа)
PhotoRec идёт в пакете с TestDisk. Это file carving: поиск JPG, PDF, ZIP, документов и т.д. по сигнатурам, без опоры на имена в ФС. Имена часто теряются, каталоги «рассыпаются» — зато контент многих типов удаётся вытащить после rm или форматирования, если блоки ещё не заняты.
sudo photorec # либо sudo photorec /dev/sdX
В меню: диск → раздел (или Whole disk) → тип ФС → каталог для сохранения (только на другом диске!) → File Opt для фильтра типов → Search. Список разделов можно сверить через sudo fdisk -l или lsblk.
Foremost и Scalpel: carving из CLI
Оба инструмента режут поток/образ по сигнатурам и раскладывают найденное по типам. Удобны в скриптах и когда нужен узкий набор форматов.
Foremost
# Ubuntu/Debian sudo apt install foremost # Fedora sudo dnf install foremost # Arch (часто через AUR) yay -S foremost sudo foremost -t jpg,png -i /dev/sdX -o /path/to/output
Флаг -t ограничивает типы, -i — вход (устройство или образ), -o — каталог вывода на исправном диске.
Scalpel
Гибкая конфигурация сигнатур (часто /etc/scalpel/scalpel.conf — нужные типы раскомментировать).
# Ubuntu/Debian sudo apt install scalpel # Fedora (иногда через EPEL) sudo dnf install epel-release sudo dnf install scalpel sudo scalpel /dev/sdX -o /path/to/output
Как не потерять данные снова
- Бэкапы по расписанию:
rsync, Borg, restic, Timeshift (снимки системы), Deja Dup для домашнего каталога. - Правило 3-2-1: несколько копий, разные носители, одна копия «не в той же комнате» / offsite.
- Для
rm— привычка кrm -iили alias, проверка пути перед-rf. - Шифрование чувствительных бэкапов (gpg, age, встроенное шифрование restic/borg).
- Периодически проверяйте, что бэкап реально восстанавливается.
Пример простого rsync на внешний диск:
rsync -aHAX --info=progress2 /home/user/docs/ /mnt/backup/docs/
Когда к специалистам
Стук/клик диска, сильные bad-блоки, залитие, необходимость чистой комнаты — софт на «живом» умирающем HDD может добить механику. В таких случаях останавливают повторные попытки чтения и отдают носитель в лабораторию: у них есть клонеры с аппаратным контролем и разбор HDA.
Краткий порядок действий
- Стоп записи, Live-среда, второй диск под результат.
- При битом носителе — образ (safecopy/ddrescue), дальше работа с образом.
- Пропали разделы — TestDisk.
- Нужны файлы по типу, имена не важны — PhotoRec / foremost / scalpel.
- После успеха — нормальный бэкап, чтобы не повторять квест.