Как восстановить удаленные файлы в Linux руководство для начинающих
Случайное удаление важных файлов — одна из самых распространённых и стрессовых ситуаций для пользователей любой операционной системы, включая Linux. В отличие от графических сред вроде GNOME или KDE, где удалённые файлы сначала попадают в «Корзину», команда rm в терминале удаляет файлы безвозвратно — без возможности отмены через интерфейс. Однако даже после полного удаления данные не исчезают мгновенно с диска. Файловая система лишь помечает соответствующие сектора как «свободные», а сами данные остаются на носителе до тех пор, пока не будут перезаписаны новой информацией.
Это даёт пользователю шанс восстановить недавно удалённые файлы — особенно если после удаления вы не записывали большие объёмы данных на тот же раздел. Чем быстрее вы начнёте процесс восстановления, тем выше вероятность успеха. Важно понимать: восстановить файлы, удалённые месяц или год назад, практически невозможно, если диск активно использовался. Но если удаление произошло недавно — шансы велики.
В Linux существует несколько инструментов для восстановления данных, но одним из самых надёжных и проверенных является TestDisk — бесплатная утилита с открытым исходным кодом, разработанная для восстановления потерянных разделов и удалённых файлов. Несмотря на текстовый интерфейс, TestDisk интуитивно понятен и подходит даже для начинающих. Он поддерживает множество файловых систем: ext2/ext3/ext4, FAT, NTFS, exFAT и другие.
Перед началом восстановления рекомендуется:
- Немедленно прекратить запись данных на раздел, с которого были удалены файлы.
- Если возможно, подключить диск к другому компьютеру как вторичный (read-only) для восстановления — это минимизирует риск перезаписи.
- Создать резервную копию всего раздела с помощью
ddилиddrescue, если данные критически важны.
Как восстановить удаленные файлы в Linux с помощью TestDisk
Шаг 1. Установите TestDisk. В большинстве дистрибутивов он доступен в официальных репозиториях.
Для Ubuntu, Linux Mint, Debian и производных:
sudo apt update sudo apt install testdisk
Для Fedora, CentOS, RHEL:
sudo dnf install testdisk
Для Arch Linux и производных:
sudo pacman -S testdisk
Если утилита недоступна в репозитории, её можно скачать с официального сайта: cgsecurity.org.
Шаг 2. Запустите TestDisk с правами суперпользователя — это необходимо для прямого доступа к диску:
sudo testdisk
Шаг 3. При первом запуске появится окно выбора действия. Используйте клавиши со стрелками для навигации и нажмите Enter. Выберите «Create» (Создать новый файл журнала), чтобы TestDisk сохранил лог операций для отладки.

Шаг 4. TestDisk автоматически определит подключённые диски. Выберите нужный диск (например, /dev/sda) и нажмите Enter. Если система запросит права sudo, введите пароль администратора.

Шаг 5. На следующем экране выберите тип таблицы разделов (обычно Intel для большинства ПК) и нажмите Enter.
Шаг 6. В главном меню TestDisk выберите опцию «Advanced» (Дополнительно) — именно здесь находится функция восстановления файлов.

Шаг 7. Вы увидите список разделов. Выберите тот, с которого были удалены файлы, и нажмите Enter.
Шаг 8. В меню раздела выберите «Undelete» (Восстановить). TestDisk начнёт сканирование на наличие удалённых файлов.

Шаг 9. После завершения сканирования TestDisk отобразит список удалённых файлов, выделенных красным цветом. Используйте клавиши со стрелками для навигации. Удалённые файлы помечены символом *.
Шаг 10. Чтобы восстановить файл, наведите на него курсор и нажмите клавишу C (от «Copy»). TestDisk предложит выбрать каталог для сохранения. Укажите путь на другом диске или разделе (например, /home/ваше_имя/восстановленные), чтобы избежать перезаписи исходных данных.

После копирования файл будет сохранён в указанном месте с оригинальным именем и содержимым.
Альтернативные инструменты
Хотя TestDisk — мощный инструмент, для файловых систем ext (ext3/ext4) существуют более специализированные утилиты:
- extundelete — работает только с ext3/ext4, восстанавливает файлы по inode.
- PhotoRec — разработан теми же авторами, что и TestDisk; восстанавливает файлы по сигнатурам (подходит даже при повреждённой файловой системе).
- scalpel или foremost — инструменты для цифровой криминалистики, восстанавливающие данные по типу файла.
Выводы
Восстановление удалённых файлов в Linux — вполне выполнимая задача при условии оперативных действий и правильного выбора инструментов. TestDisk остаётся одним из самых универсальных решений благодаря поддержке множества файловых систем и простоте использования. Однако профилактика всегда лучше, чем лечение: регулярно делайте резервные копии с помощью rsync, Timeshift или облачных сервисов, а вместо rm используйте псевдонимы вроде alias rm='rm -i' для подтверждения удаления.
Если данные критически важны и самостоятельное восстановление не увенчалось успехом, рекомендуется обратиться к профессионалам в области восстановления данных. Помните: каждый новый файл, записанный на диск после удаления, снижает шансы на успешное восстановление.