Как восстановить удаленные файлы с любого диска в Linux

Отказ аппаратного обеспечения и неосторожность пользователя при работе с мощными утилитами, такими как dd и fdisk, могут привести к потере данных в Linux. Мало того, иногда в процессе очистки раздела или каталога можно случайно удалить некоторые полезные файлы. Если это произошло, нет причин отчаиваться. С помощью утилиты PhotoRec можно легко восстановить самые разные файлы, будь то документы, изображения, музыка, архивы и т.д и т.п.

Разработанная компанией CGSecurity и выпущенная под лицензией GPL, PhotoRec распространяется как сопутствующая утилита Testdisk, которую можно использовать для восстановления и возврата разделов. Вы можете использовать любой из этих инструментов для восстановления файлов, но у каждого из них есть своя задача, для которой он лучше всего подходит. Testdisk лучше всего подходит для восстановления потерянных разделов. Будь то перезапись или удаление раздела, или раздел стал нечитаемым по какой-либо причине, Testdisk поможет вам восстановить раздел или, по крайней мере, восстановить данные с него. Если же вас интересует только восстановление удаленных файлов с раздела, жесткого диска или даже USB-накопителя, вы можете воспользоваться программой PhotoRec. Хотя PhotoRec изначально была разработана для восстановления только файлов изображений (отсюда и название), ее можно использовать для восстановления практически любых файлов.

Более того, PhotoRec работает, игнорируя основную файловую систему на указанном разделе, диске или USB-накопителе. Вместо этого он ориентируется на уникальные сигнатуры, оставленные различными типами файлов для их идентификации. Именно поэтому PhotoRec может работать с FAT, NTFS, ext3, ext4 и другими типами разделов.

В отличие от него, Testdisk поддерживает только ограниченное количество файловых систем. Самый большой недостаток PhotoRec - если у любого инструмента, который может, казалось бы, извлечь удаленные файлы из цифрового эфира, может быть недостаток - это то, что он не сохраняет оригинальные имена файлов. Это означает, что все восстановленные файлы имеют тарабарские буквенно-цифровые имена. Если для вас это является решающим фактором, сначала воспользуйтесь Testdisk для восстановления потерянных файлов.

Для установки Testdisk откройте окно терминала. Желательно обновить репозитории программного обеспечения перед установкой Testdisk.

Debian, Ubuntu

$ sudo apt update && sudo apt install testdisk -y

Fedora или другие RPM-системы

$ sudo dnf update && sudo dnf install testdisk

Прежде чем начать использовать PhotoRec, важно понять, как файловая система работает с удаленными файлами. Когда вы удаляете файл, он не исчезает в небытие. Вместо этого файловая система просто помечает файл как удаленный и выделяет место, которое занимал файл, как доступное для использования. Это означает, что пока это место не занято другим файлом, исходный файл все еще существует и может быть восстановлен с помощью специализированных средств восстановления данных.

Именно по этой причине, в идеале, следует прекратить использование системы, как только вы поймете, что удалили важный файл, поскольку так вы сведете к минимуму риск того, что его место будет занято. Хотя и PhotoRec, и Testdisk могут восстановить файлы из удаленных и затем перезаписанных разделов, шансы на восстановление всех файлов снижаются.

1. С помощью файлового менеджера создайте каталог, в котором будут храниться файлы, восстановленные программой PhotoRec.

Каталог для восстановленных файлов не должен находиться на том же разделе или устройстве, с которого вы пытаетесь восстановить файлы.

2. Откройте терминал и запустите PhotoRec с полномочиями sudo.

$ sudo photorec

Появится экран приветствия, на котором перечислены все разделы, а также подключенные диски и устройства.

3. С помощью клавиш со стрелками вверх и вниз выберите диск, который вы хотите восстановить, затем с помощью клавиш влево и вправо выберите Proceed и нажмите Enter. Если выбранное устройство состоит из нескольких разделов, PhotoRec отобразит все разделы и позволит выбрать раздел, в котором находился удаленный файл. С помощью кнопок со стрелками вверх и вниз выберите поиск и восстановление файлов из свободного пространства диска или со всего диска.

Вы можете ускорить процесс, ограничив восстановление поиском файлов определенных типов, например pdf, jpg или mp3. Для этого после выбора устройства или раздела, с которого вы хотите восстановить удаленные файлы, с помощью клавиш со стрелками вправо/влево выберите кнопку File Opt и нажмите Enter.

4. Выберите тип файловой системы, используемой на диске, который необходимо восстановить. Если на диске были типичные разделы Linux, выберите ext2/ext3. Для всех остальных типов выберите вариант Other.

5. Выберите путь назначения для восстановленных файлов. Нажатие Enter приведет к открытию каталогов. Когда все будет готово, нажмите C, чтобы задать место назначения и запустить процесс восстановления.

В зависимости от размера раздела или устройства, PhotoRec может потребоваться довольно много времени для выполнения полного поиска файлов. PhotoRec создает несколько каталогов, таких как recup_dir.1 или recup_dir.2, в указанном каталоге назначения для восстановленных файлов. Вы найдете все восстановленные файлы в этих каталогах, но PhotoRec не делает никаких попыток сортировки различных файлов на основе их имен или форматов файлов.

Однако вы можете прибегнуть к быстрому упорядочиванию восстановленных файлов.

1. Создайте каталоги для различных форматов файлов, например mp3 или jpg.

2. Используйте команду mv для перемещения файлов определенного формата в соответствующий каталог. Например, здесь мы перемещаем все изображения в формате jpeg в каталог images.

$ mv ~/recovery/recup_dir.*/*.jpg ~/recovery/images/