Введение
Удаление важных файлов — неприятная ситуация, которая случается даже с опытными пользователями. К счастью, в Linux есть мощные инструменты для восстановления данных, которые могут помочь вернуть файлы, если вы действуете быстро. В этом гайде мы рассмотрим три популярные утилиты: testdisk, extundelete и photorec. Они работают с различными файловыми системами и подходят как для новичков, так и для продвинутых пользователей.
Требования
Перед началом убедитесь, что:
- У вас есть доступ к терминалу Linux (Ubuntu, Debian, Fedora, Arch или другой дистрибутив).
- Вы обладаете правами root (или можете использовать
sudo). - На системе установлены утилиты для восстановления (мы покажем, как их установить).
- На отдельном носителе (другой диск или раздел) достаточно свободного места для сохранения восстановленных файлов. Не сохраняйте восстановленные данные на тот же диск, с которого удалили файлы!
Установка утилит
В зависимости от вашего дистрибутива, установите пакеты:
Ubuntu/Debian:
sudo apt update
sudo apt install testdisk extundelete photorec
Fedora:
sudo dnf install testdisk extundelete photorec
Arch Linux:
sudo pacman -S testdisk extundelete photorec
Метод 1: Восстановление с помощью testdisk
testdisk — многофункциональная утилита, которая умеет восстанавливать не только отдельные файлы, но и целые разделы. Она поддерживает множество файловых систем, включая ext2/ext3/ext4, FAT, NTFS и другие.
Шаг 1: Запуск testdisk
Откройте терминал и выполните:
sudo testdisk
Вы увидите текстовый интерфейс. Выберите пункт Create для создания нового лог-файла (или No Log, если не хотите логировать).
Шаг 2: Выбор диска
Укажите диск, на котором были удалены файлы. Если у вас несколько дисков, будьте внимательны.
Шаг 3: Выбор типа таблицы разделов
Обычно testdisk автоматически определяет тип (Intel/PC для MBR или EFI GPT для GPT). Если не уверены, выберите Intel для старых систем или EFI GPT для современных.
Шаг 4: Выбор файловой системы
Выберите файловую систему раздела, где были файлы (например, ext4 для Linux).
Шаг 5: Поиск удалённых файлов
В меню выберите Advanced → Undelete. testdisk просканирует раздел и покажет список удалённых файлов (они будут помечены как deleted). Используйте стрелки для навигации, а для восстановления — клавишу c (копировать). Укажите путь для сохранения (должен быть на другом диске!).
Метод 2: Восстановление с помощью extundelete
extundelete специализируется на файловых системах ext3 и ext4. Он работает непосредственно с образом суперблока и может восстановить файлы, если суперблок не повреждён.
Шаг 1: Определение устройства
Узнайте, какое устройство соответствует вашему разделу. Например:
sudo fdisk -l
Пусть это будет /dev/sda1.
Шаг 2: Восстановление всех удалённых файлов
Выполните:
sudo extundelete /dev/sda1 --restore-all
Утилита создаст папку RECOVERED_FILES в текущей директории и попытается восстановить все удалённые файлы.
Шаг 3: Восстановление конкретного файла или каталога
Если знаете имя файла или путь, укажите:
sudo extundelete /dev/sda1 --restore-file path/to/file.txt
Или для каталога:
sudo extundelete /dev/sda1 --restore-directory path/to/dir
⚠️ Важно: extundelete работает с исходным разделом, поэтому убедитесь, что он смонтирован только для чтения. Лучше сначала отмонтируйте его:
sudo umount /dev/sda1А затем запустите extundelete.
Метод 3: Восстановление с помощью photorec
photorec — это инструмент для восстановления файлов по сигнатурам (файловых сигнатурам). Он не сохраняет имена файлов и структуру каталогов, но может восстановить данные даже с повреждённых или форматированных дисков. Подходит для любых файловых систем.
Шаг 1: Запуск photorec
sudo photorec
Шаг 2: Выбор диска и раздела
Укажите диск, затем раздел (или Whole disk для поиска по всему диску).
Шаг 3: Выбор файловой системы
Выберите тип файловой системы (например, ext2/ext3 для Linux). Если не знаете, выберите Other для FAT/NTFS/EXT.
Шаг 4: Выбор места для сохранения
Крайне важно: укажите путь на другом физическом диске! photorec не должен сохранять данные на тот же диск, с которого восстанавливает.
Шаг 5: Настройка параметров и начало
Можно выбрать типы файлов для восстановления (по умолчанию много). После подтверждения начнётся сканирование. Это может занять много времени в зависимости от размера диска.
Проверка результата
После завершения восстановления проверьте папку, куда сохранили файлы. В случае с testdisk и extundelete имена файлов должны сохраниться. В случае с photorec файлы будут без имён, но с расширениями (определяются по сигнатурам). Проверьте, целы ли файлы, открыв их соответствующими программами.
Возможные проблемы
- Ошибка доступа: Убедитесь, что вы запускаете утилиты с
sudoили от root. - Недостаточно места: Убедитесь, что на целевом диске достаточно места для всех восстановленных файлов.
- Файлы не найдены: Если данные были перезаписаны, восстановление невозможно. Прекратите использование диска как можно раньше.
- TRIM на SSD: Если на SSD включён TRIM, удалённые блоки могут быть обнулены, и восстановление почти невозможно. Отключите TRIM в системе и не используйте диск до восстановления.
- Повреждение суперблока: Если extundelete не может прочитать суперблок, попробуйте testdisk для восстановления структуры раздела.