- Восстановление удаленных файлов Linux
- Немного теории
- 1. Safecopy
- 2. TestDisk
- 3. PhotoRec
- Выводы
- Топ программ для восстановления данных с Linux – Ext4/3/2
- Введение
- Структура файловой системы и алгоритм поиска утерянных данных
- Тесты и сравнение программ для восстановления утерянных данных
- Тест программы Hetman Partition Recovery
Восстановление удаленных файлов Linux
Иногда случается, что мы случайно удаляем еще нужные нам файлы. Особенно это опасно в терминале Linux, поскольку здесь файлы удаляются не в корзину, а стираются с диска сразу и навсегда.
Понятно, что нужно аккуратно обращаться с командами удаления файлов, но что делать если уже все удалено, а файлы были важные и их нужно срочно восстановить? В некоторых случаях это возможно. В нашей сегодняшней статье мы рассмотрим восстановление удаленных файлов linux.
Немного теории
Каждый файл занимает определенное пространство на жестком диске, но файловая система для предоставления доступа к файлу дает нам ссылки на его начало, по которым любая программа может получить уже содержимое всего файла. Было бы неэффективно, если бы удаление файла приводило к полному перезаписыванию его области на диске.
Вместо этого, файловая система просто удаляет ссылку на эту область со своей базы, а затем помечает пространство, где находился файл, неразменным. Но на самом деле там еще остались все ваши файлы. Из этого делаем вывод, что если после удаления файловую систему очень быстро переключить в режим только для чтения, то все удаленные файлы могут быть восстановлены.
Если же вы работали с этой файловой системой и данные на диске были перезаписаны другими, то вы уже ничего сами не спасете. Возможно, вы слышали, что спецслужбы могут восстанавливать несколько раз перезаписанные данные по остаточному магнитному следу на диске. Это действительно так. Но для решения такой задачи нужно специальное оборудование, здесь недостаточно нескольких программ, нужен специальный лазер, который может считать магнитный след по краям дорожки и другая аппаратура. Так что про этот метод для себя можете забыть.
Ну а мы остановимся на программном восстановлении, когда данные были формально удалены, но физически еще находятся на диске в целостности и сохранности. Дальше рассмотрим несколько утилит, которые помогут восстановить удаленные файлы Linux.
1. Safecopy
Safecopy — это довольно простой инструмент для восстановления данных, который просто копирует данные из одного места в другое. Утилита, как таковая, не восстанавливает отдельные файлы. Она просто позволяет скопировать данные из поврежденного устройства на нормальное.
Разница между этой утилитой и другими программами копирования в том, что Safecopy не завершается при обнаружении каких-либо ошибок, будь то плохая операция чтения или поврежденный сектор. У нее есть множество дополнительных опций для настройки, а также возможность создания образа файловой системы из поврежденного носителя. Данные восстанавливаются тщательно и быстро, насколько это возможно.
Утилиту можно установить из официальных репозиториев вашего дистрибутива. Пользователи Ubuntu могут воспользоваться такой командой:
sudo apt install safecopy
Здесь вы не восстановите удаленные файлы, но вы можете скопировать поврежденные данные. Например, для видео несколько повреждений не играют большой роли. Для запуска восстановления файлов в linux с раздела /dev/sda1 выполните:
sudo safecopy /dev/sda1 /home/files/
Все файлы, которые удастся скопировать будут в /home/files/.
2. TestDisk
TestDisk — это очень мощный инструмент для восстановления данных. Он не пытается скопировать данные из поврежденного устройства, а позволяет исправить ошибки и проблемы на уровне разделов, которые могут мешать работе с вашими данными.
Утилита может восстанавливать потерянные разделы, исправлять таблицу разделов GPT и MBR, делать резервные копии дисков, восстанавливать загрузочные записи, а главное восстанавливать удаленные файлы с файловых систем NTFS, FAT, exFAT и файловых систем семейства Ext. Также вы можете копировать файлы даже с удаленных разделов для тех же файловых систем.
Способ работы утилиты очень сильно отличается в зависимости от нужного действия. Здесь вас ждет псевдографический мастер, который проведет вас через все шаги. Установить testdisk можно ещё и из официальных репозиториев. В Ubuntu используйте для этого команду:
sudo apt install testdisk
Поскольку тема нашей статьи — восстановление файлов linux, рассмотрим как это делается с помощью этой утилиты. Запустите программу:
На первом шаге мастера выберите Create New Log:
Дальше выберите диск, с которым будем работать:
Выберите таблицу разделов на диске:
Для работы с файловой системой выберите пункт Advanced:
Далее выберите раздел, затем команду list:
Тут вы увидите все файлы, которые есть на этом разделе. Удаленные, но подлежащие восстановлению файлы будут помечены красным.
Работать с этой утилитой удобнее, чем с Photorec, потому что здесь вы можете выбрать только один нужный файл, а не восстанавливать сразу кучу мусора. Чтобы скопировать файл просто выберите его, нажмите c и выберите папку для сохранения. Правда, вы же понимаете, что для восстановления нужно, чтобы файлы были не перезаписаны, где-то чуть перезапишется и все.
3. PhotoRec
Наша последняя программа ориентирована в первую очередь на поиск и восстановление удаленных видео, фото, документов и архивов. Можно сказать, что это программа восстановления удаленных файлов linux. Преимущество PhotoRec заключается в том, что она полностью игнорирует файловую систему и смотрит на сырые данные, а это значит, что она все равно будет работать, даже если файловая система повреждена или переформатирована, но только в быстром режиме, там где стираются лишь заголовки.
Во избежание каких-либо проблем, здесь используется доступ только для чтения, этого вполне достаточно для восстановления данных. Но как я говорил раньше, вам нужно остановить все операции записи, как только вы поняли, что нужно восстановить файл. В противном случае нужные данные могут быть перезаписаны чем-то новым и вы уже не сможете их восстановить.
В утилиты есть несколько настроек. Вы можете указать расширения файлов, которые нужно найти, размер, дату изменения и так далее. Установить программу можно так же как и TestDisk — из официальных репозиториев.
Например, в Ubuntu выполните:
sudo apt install photorec
Что касается использования, то тут похожий на testdisk интерактивный интерфейс. Запустите утилиту командой:
Выберите диск, с которым нужно работать:
Выберите файловую систему:
Выберите способ сканирования (неразмеченное пространство/весь раздел) Затем выберите папку для сохранения результата:
Дождитесь завершения процесса:
Программа восстановит много файлов, и скорее всего больше чем вам нужно. Причем главная ее проблема в том, что имена файлов не сохраняются и вам придется еще поискать, чтобы найти есть ли там то что нужно.
Выводы
Эти три инструмента охватывают широкий спектр задач по восстановлению файлов Linux. Здесь вы сможете выполнить не только восстановление удаленных файлов Linux из ext4, но и исправить жесткий диск или скопировать файлы с поврежденных носителей.
А какие ваши любимые утилиты для восстановления данных? Какими вы пользуетесь? Напишите в комментариях!
На десерт видео от Discovery о том, как работает жесткий диск:
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Топ программ для восстановления данных с Linux – Ext4/3/2
Читайте о лучших программах для восстановления данных, утерянных с разделов диска файловой системы Ext4/3/2, используемых системами Linux . В данной статье мы детально разберём возможности каждой из программ для восстановления данных!
Введение
В большинстве современных дистрибутивов Linux по умолчанию используется файловая система Ext4 , точно так же, как в предыдущих дистрибутивах – использовалась файловая система Ext3 , Ext2 и когда-то – Ext .
Файловая система Ext2 частично удаляет информацию об удаленном файле и, в частности, ссылки на имена файлов, что делает восстановление имен файлов практически невозможными. «Журналируемые» файловые системы Ext3 и Ext4 выполняют удаление через журнал. И результаты восстановления данных из этих систем в значительной степени зависят от размера журнала и времени работы системы после удаления файла. Поэтому при потере важной информации следует сразу же предпринимать меры. А именно прекратить запись на диск с которого были удалены данные и найти хорошую программу, которая поможет их вернуть.
Мы отобрали несколько самых популярных программ которые вам помогут с вопросом восстановления и провели тесты. Далее будут представлены результаты тестов каждой из программ из нашего топа.
Читайте, какой же из программ удалось вернуть всю утерянную информацию с диска.
Структура файловой системы и алгоритм поиска утерянных данных
Прежде чем приступать к тесту программ давайте разберем структуру файловой системы.
Этот тип файловой системы состоит из загрузчика, в котором находится Группа блоков.
В начале структуры находится Главный суперблок (Superblock) , затем после суперблока идет Дескриптор групп (Group Descriptors) , после которого находится Битовая карта блоков (Block Bitmap) , затем за ней – Битовая карта индексных дескрипторов (Inode bitmap) , после которой расположена Таблица узлов индексных дескрипторов (Inode table) , и в конце находятся наши данные (Data) .
Ext4 — это результат эволюции Ext3, наиболее популярной файловой системы в Linux. Во многих аспектах Ext4 представляет собой больший шаг вперёд по сравнению с Ext3, чем Ext3 была по отношению к Ext2. Наиболее значительным усовершенствованием Ext3 по сравнению с Ext2 было «журналирование», в то время как Ext4 предполагает изменения в важных структурах данных, таких как, например, предназначенных для хранения данных файлов.
Это позволило создать файловую систему с более продвинутым дизайном, более производительную и стабильную и с обширным набором функций.
На сегодняшний день максимальный размер файловой системы Ext3 равен 16 терабайтам, а размер файла ограничен 2 терабайтами. В Ext4 добавлена 48-битная адресация блоков, что означает, что максимальный размер этой файловой системы равен одному экзабайту, и файлы могут быть размером до 16 терабайт. 1 EB (экзабайт) = 1,048,576 TB (терабайт), 1 EB = 1024 PB (петабайт), 1 PB = 1024 TB, 1 TB = 1024 GB. Почему 48-битная, а не 64-битная? Имелся ряд ограничений, которые необходимо было бы снять, чтобы сделать Ext4 полностью 64-битной, и такой задачи перед Ext4 не ставилось. Структуры данных в Ext4 проектировались с учётом требуемых изменений.
В настоящий момент один каталог Ext3 не может содержать более, чем 32000 подкаталогов. Ext4 снимает это ограничение и позволяет создавать неограниченное количество подкаталогов.
Файловая система Ext4 имеет вид B-дерева . Поэтому данные лежат в самих листьях этого дерева, и чтобы к ним добраться программе для восстановления данных нужно пройти эту цепочку.
Если удалить некоторые элементы из данной цепочки утилита для восстановления данных может не найти путь к данным. Далее в тесте мы попробуем удалить некоторые элементы из структуры файловой системы и посмотреть, как справятся программы из нашего топа с данной задачей.
Тесты и сравнение программ для восстановления утерянных данных
В операционной системе Windows просмотреть содержимое накопителя с файловой системой EXT4/3/2 можно только с помощью специальных утилит или установив специальный драйвер. Программы для восстановления данных позволяют увидеть содержимое такого устройства и восстановить с него данные.
Для тестов были отобраны несколько самых популярных из программ для восстановления данных это Hetman Partition Recovery , R-Studio , EaseUs Data Recovery Wizard , Recuva и Diskdrill . После предварительного теста пришлось исключить одну из программ, так как ей удалось найти лишь небольшую часть файлов на диске с файловой системой Ext 4 – это программа Recuva. Она показала наихудший результат восстановив лишь 20% утерянных данных, поэтому мы решили исключить ее из данного теста. А в повторном тесте и вовсе ничего не нашла.
Итак, преступим к тестированию программ.
На ПК с ОС Linux мы создали тестовый диск с файловой системой Ext4 . Скопировали на диск данные, несколько картинок, видео и документов. Затем удалили часть данных и размонтировали том.
Все дальнейшие тесты по восстановлению утерянных данных проводились на компьютере с операционной системой Windows 10.
Тест программы Hetman Partition Recovery
После подключения тестового диск с Ext4, ОС Windows 10 не распознала файловую систему, появилось уведомление, что система не распознала устройство, и чтобы использовать диск, предложила его отформатировать.
Форматировать диск не нужно, запускаем первую утилиту Hetman Partition Recovery и сканируем диск.
Программа нашла диск, определила файловую систему, отображает имя и его размер.
Для начала мы выполнили быстрое сканирование, в итоге этого было вполне достаточно.