Вопрос или проблема
Существуют ли инструменты, методы, заклинания для восстановления недавно удаленных файлов в Ubuntu?
Если это имеет значение, я хочу восстановить файл базы данных Keepass 2.x. Но лучше было бы иметь метод/инструмент, который работает с любым типом файлов.
TestDisk / PhotoRec
TestDisk иногда может восстанавливать недавно удаленные файлы с помощью PhotoRec, который является частью TestDisk. Доступен в официальных репозиториях и более новая версия на их сайте.
TestDisk — это мощное бесплатное программное обеспечение для восстановления данных! Оно было изначально разработано, чтобы помочь восстановить потерянные разделы и/или сделать не загружаемые диски снова загружаемыми, если эти симптомы вызваны неисправными программами: некоторыми типами вирусов или человеческими ошибками (например, случайным удалением таблицы разделов). Восстановление таблицы разделов с помощью TestDisk очень просто.
PhotoRec является частью TestDisk и представляет собой программное обеспечение для восстановления данных файлов, предназначенное для восстановления потерянных файлов, включая видео, документы и архивы, с жестких дисков, CD-ROM и утраченные изображения (отсюда и название Photo Recovery) из памяти цифровых камер. PhotoRec игнорирует файловую систему и анализирует подлежащие данные, поэтому он будет работать даже если файловая система вашего носителя сильно повреждена или отформатирована.
Если вы случайно удалили файл, но все еще помните некоторые строки, которые были записаны в этом файле, вы можете использовать:
grep -a -B 25 -A 100 'содержат строку' /dev/sda1 > result.txt
Я использовал foremost для восстановления поврежденного жесткого диска как на NTFS (Windows), FAT32 (флешка от Nokia), так и ext3 с отличными результатами. Только командная строка, но достаточно просто, что-то вроде этого:
sudo foremost -i /dev/sda -o <директория для сохранения восстановленных файлов>
Он сортирует восстановленные файлы по папкам по типу файла. Документы Openoffice восстанавливаются как zip файлы. Поскольку его необходимо выполнять от имени root (для прямого доступа к оборудованию), файлы вывода также являются собственностью root, поэтому, вероятно, вам потребуется изменить их владельца после этого.
extundelete действительно хороший инструмент, если ваша файловая система ext3 или ext4.
Примечание: extundelete требует размонтирования вашего диска для правильной работы (это в любом случае стоит сделать как можно быстрее, чтобы избежать возможного перезаписывания надеющихся быть восстановленными байт в удаленных файлах).
Размонтирование диска на живой системе может быть сложным… вы часто получите сообщение ‘устройство занято
‘. Чтобы устранить это ‘правильно’, требуется завершение всех процессов, обращающихся к файловой системе. Но… вы, вероятно, работали в домашнем каталоге, и миллионы процессов привязаны к вашему домашнему каталогу, поэтому удачи вам.
Секрет обхода этого – выполнить ‘ленивое’ размонтирование:
$ mount
/dev/sda7 на /home тип ext4 (rw)
$ sudo umount -l /home
где:
- этот пример для подготовки моего монтирования
/home
для использования с extundelete. Вы, конечно, должны заменить/home
на ваш интересующий раздел - я сначала сделал команду
mount
, чтобы выяснить какое устройство (/dev/sda7
) мне нужно передать extundelete (вывод сокращен для краткости) - в опции
-l
это строчная L
R-Linux(Recovery studio) один из лучших. Я пользовался этим инструментом много раз раньше. Я работал в компании, где использовали коммерческую версию, и 9 из 10 раз он восстанавливает все, что вам нужно. Действительно превосходное приложение. Я не раз спасал себя и друзей с его помощью.
R-Linux — это бесплатная утилита для восстановления файлов для файловой системы Ext2/Ext3/Ext4 FS, используемой в ОС Linux и в некоторых Unix. R-Linux использует ту же технологию InteligentScan, что и R-Studio, и гибкие настройки параметров, чтобы обеспечить самую быструю и надежную восстановление файлов на платформе Linux. Однако, в отличие от R-Studio, R-Linux не может восстанавливать данные по сети или восстанавливать RAID, или обеспечивать копирование объектов.
Особенности (с их сайта):
R-Linux восстанавливает файлы:
- Удаленные из-за атаки вируса, отключения питания или сбоя системы;
- После того, как раздел с файлами был переформатирован, поврежден или удален;
- Когда структура разделов на диске была изменена или повреждена. В этом случае R-Linux может просканировать диск, пытаясь найти ранее существовавшие разделы и восстановить файлы из найденных разделов.
- С дисков с плохими секторами. В этом случае R-Linux может сначала скопировать весь диск или его часть в файл-образ, а затем обработать файл-образ. Это особенно полезно, когда новые плохие сектора постоянно появляются на диске, и оставшуюся информацию необходимо немедленно сохранить.
R-Linux Расширенные функции:
-
Стандартный интерфейс в стиле “Проводник Windows”.
-
Хостовая ОС:
- Вариант Linux: Linux, ядро 2.6 и выше
- Вариант Windows: Win2000, XP, 2003, Vista, Windows 7, Windows 8
-
Поддерживаемые файловые системы: Только Ext2/Ext3/Ext4 FS (Linux).
-
Распознавание и разбор схемы разметки разделов Динамическое (Windows 2000/XP/Vista/Win7), Базовое, GPT и BSD (UNIX) и карту разделов Apple. Поддерживаются динамические разделы поверх GPT, как и динамические разделы над MBR.
-
Создает файлы изображений для всего жесткого диска, логического диска или его части. Такие файлы изображений могут обрабатываться как обычные диски. Изображения могут быть либо простыми точными копиями объектов (Простые изображения), совместимыми со старыми версиями R-Linux, либо сжатыми изображениями, которые могут быть сжаты, разделены на несколько частей и защищены паролем. Такие изображения полностью совместимы с изображениями, созданными R-Drive Image, но несовместимы со старыми версиями R-Linux.
-
Распознает локализованные имена.
-
Восстановленные файлы могут быть сохранены на любых (включая сетевые) дисках, доступных хост-операционной системе.
Чтобы восстановить директорию, вы можете использовать extundelete
-
Установите extundelete
sudo apt-get install extundelete
-
Команда для восстановления
sudo extundelete --restore-directory /home/Documents/ /dev/sda1
Примечание: Вместо dev/sda1
вставьте имя раздела вашего жесткого диска.
/home/Documents/
это ваш путь к удаленной директории.
Если используете второй внутренний жесткий диск (подозреваю, что то же самое для внешнего жесткого диска) для импорта восстановленных файлов (с основного жесткого диска, где файлы изначально находились), необходимо создать директорию, в которую будут помещаться файлы на втором жестком диске.
Для этого вам необходимо иметь настройку BIOS для загрузки с CD сначала!
1. Запустите живой диск Ubuntu Rescue-Remix CD, дайте команду для загрузки, затем, когда загружается в терминал, проверьте ваши жесткие диски командой – Код: sudo fdisk -l
Определите, какой жесткий диск основной, какой второй, и какой раздел проверить на наличие файлов и в каком их восстановить – Linux ext3 или Windows NTFS! У меня был Linux. Убедитесь, что там достаточно места!
(Затем вы можете попытаться запустить Photorec (“sudo photorec”), и, надеюсь, вы сможете увидеть все ваши жесткие диски. Мне так не повезло, поэтому я должен был создать директорию и смонтировать второй жесткий диск.)
- Сначала создайте директорию для восстановления файлов, например – media/disk. Дайте команду – Код:
sudo mkdir /media/disk
Если все в порядке, терминал просто вернет вам приглашение.
- Необходимо смонтировать второй жесткий диск, иначе он будет невидим, даже если “sudo fdisk -l” его покажет. Дайте команду для второго жесткого диска –
Код:sudo mount -t ext3 /dev/sdb2 /media/disk
Если все в порядке, терминал просто вернет вам приглашение.
-
Запустите Photorec командой – Код:
sudo photorec
Пройдите через настройки и выберите только те типы файлов, которые вам нужны, иначе у вас будет тысячи файлов для просеивания!
Для получения дополнительных деталей вы можете посетить: http://www.ubuntumanual.org/posts/357/recover-your-deleted-files-in-ubuntu
Autopsy и инструменты Sleuthkit отлично подходят для восстановления удаленных файлов с удобным интерфейсом пользователя, а также доступны в репозиториях:
sudo apt install autopsy
Установите scalpel
sudo apt-get install scalpel
Отредактируйте файл scalpel.conf и разкомментируйте типы файлов, которые вы хотите восстановить.
Создайте пустую папку (например: recovered_data)
Найдите раздел, на котором находились ваши данные. Вы можете использовать lsblk для получения карты разделов.
sudo lsblk
Запустите scalpel (предположим, данные были в sda1)
sudo scalpel -o recovered_data/ /dev/sda1
Недавно я использовал ext3grep для восстановления большого файла SQLite 3, который был удален из файловой системы ext3.
Я пробовал много других инструментов для восстановления, и все они не смогли восстановить файл (из образа диска dd).
Чтобы использовать ext3grep, мне нужно было скачать и скомпилировать исходник. Внимательное чтение http://www.xs4all.nl/~carlo17/howto/undelete_ext3.html от начала до конца, чтобы понять, как работает файловая система ext3 и как использовать журнал для поиска мест, где удаленные файлы использовались на диске, также потребовалось.
Это не простое решение, но очень, очень мощное. Если вы готовы потратить несколько часов на изучение документа и компиляцию программы, это стоит того.
The Sleuth Kit
https://en.wikipedia.org/wiki/The_Sleuth_Kit статья в Википедии также ссылается на инструменты с графическим интерфейсом.
.
Ответ или решение
Восстановление удаленных файлов — это задача, с которой часто сталкиваются пользователи, особенно в операционной системе Ubuntu. В этой статье мы рассмотрим несколько инструментов и методов, которые помогут вам восстановить недавно удаленные файлы, в том числе файлы базы данных Keepass 2.x, а также любые другие типы файлов.
Теория
При удалении файла в Linux, использующего файловую систему ext3/ext4, на самом деле он не исчезает полностью с жесткого диска. Операционная система просто отмечает пространство, занимаемое файлом, как доступное для записи. Эти данные могут оставаться на диске до тех пор, пока не будут перезаписаны новыми данными. Таким образом, используя специальные утилиты, можно извлечь информацию из этих не перезаписанных областей и попытаться восстановить файлы.
Примеры
-
TestDisk и PhotoRec: Это мощные инструменты для восстановления данных. TestDisk помогает восстанавливать утерянные разделы и делать не загружающиеся диски снова загружаемыми, а также может восстанавливать удаленные файлы через PhotoRec. PhotoRec игнорирует файловую систему и ищет потерянные файлы по типу данных, что делает его полезным даже при поврежденной файловой системе.
-
Foremost: Утилита командной строки, которая может восстанавливать данные по типам файлов и независимо от файловой системы. Она делит восстановленные файлы по папкам в зависимости от их типа.
-
extundelete: Специализированный инструмент для восстановления файлов на ext3/ext4 файловых системах. Требует размонтирования диска и может восстанавливать как отдельные файлы, так и целые директории.
-
R-Linux: Бесплатный инструмент для восстановления файлов на файловых системах Ext2/Ext3/Ext4. Он предлагает множество расширенных параметров конфигурации и применяет передовые методы поиска потерь данных.
-
Scalpel: Данный инструмент проводит восстановление данных, руководствуясь конфигурационным файлом, который определяет шаблоны файлов, подлежащих восстановлению. Это делает его гибким решением для различных сценариев.
-
Autopsy и Sleuthkit: Предоставляют графический интерфейс для анализа и восстановления данных, позволяя пользователям более интуитивно взаимодействовать с инструментами восстановления.
Применение
Для восстановления удаленных файлов на Ubuntu рекомендуется следовать следующим шагам:
- Установите нужный инструмент, например, с помощью команды
sudo apt-get install testdisk
. - Используйте соответствующие команды для восстановления файлов; например, PhotoRec запускается через команду
sudo photorec
, которая инициирует процесс сканирования и восстановления. - Если требуется, размонтируйте диск перед началом восстановления, чтобы избежать перезаписи удаленных данных, используя команду
sudo umount -l /место/монтирования
. - После восстановления, проверьте результат и, при необходимости, измените права собственности на файлы, так как они могут быть восстановлены с правами суперпользователя.
Важно: как можно быстрее предпринимать действия по восстановлению после удаления файла, чтобы минимизировать риски его перезаписи новыми данными. Применение этих инструментов требует аккуратности и внимательности, особенно когда речь идет о работе с критически важными файлами, такими как базы данных.