• Программа восстановления данных линукс. Как восстановить удаленные файлы на Linux

    06.12.2020

    В.Костромин (под ред. Vanderboot)

    На днях, в ходе небольшой ревизии содержимого своего сайта я наткнулся на перевод статьи "10 способов восстановления удаленных файлов в linux ", исходный вариант которой датирован 21 июня 2007 года. Перечитав статью и попытавшись пройти по приведенным в ней ссылкам, я обнаружил, что некоторые ссылки вообще не работают (сайты разработчиков в сети пропали), а некоторые из упомянутых в статье утилит давно не обновляются и не поддерживаются.

    Возникла идея посмотреть, какие же средства восстановления случайно удаленных файлов существуют на настоящий момент. Полагаю, что интерес к средствам такого рода за прошедшие годы не пропал. Ведь начинающие пользователи Линукс (как, впрочем, и других операционных систем) часто попадают в ситуацию, когда по ошибке, вызванной неопытностью, удаляют какие-то файлы и тут же спохватываются, что удалили не то, что хотели. А может быть и вообще не хотели что-то удалять.

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

    Сразу хочу предупредить, что все изложенное ниже мной лично не проверялось и основано только на сведениях, опубликованных на сайтах разработчиков или в статьях с описаниями соответствующих продуктов. Ну и, конечно, в статье рассматриваются только свободно распространяемые продукты. Если вас интересуют платные (проприетарные) продукты, вы без труда найдете их сами.

    Итак, вот список утилит для восстановления потерянных данных , которые мне удалось разыскать (данные актуальны по состоянию на 10 ноября 2010 года).

    1. unrm - небольшая консольная утилита, которая при некоторых условиях, может восстановить почти 99% удаленных данных (похожа на утилиту undelete в DOS). Перед её использованием внимательно прочитайте файл FAQ и желательно Linux Ext2fs Undeletion Mini-HOWTO . Применение:
      unrm [-b (no block padding)][-e (every block)][-f fstype][-vW] device
    2. (gET iT i sAY) - средство восстановления файлов для файловых систем Ext2/Ext3. После установки могут быть восстановлены текущие файлы и новые созданные файлы в /root и /home. Утилита позволяет пользователям восстановить все удалённые файлы, восстанавливать файлы, принадлежащие указанному пользователю, выводить (dump) данные из местанахождения файлов и восстанавливать файлы определённого типа, например, текстовые или MP3. Имеется также анализатор, помогающий пользователям во время восстановления.
    3. ddrescue (в Ubuntu эта утилита называется gddrescue) Эта утилита копирует данные из файла или с аппаратного устройства, содержащего данные, в другое место, предпринимая при этом попытки исправить все имеющиеся ошибки чтения. Основные операции ddrescue выполняет в автоматическом режиме, заполняя параллельно файл протокола. Если имеется две или более копий поврежденных файлов, ddrescue способна полностью восстановить файл, устранив все ошибки.
      ddrescue устанавливает размер буфера ввода/вывода равным размеру сектора, так что ее можно использовать для посекторного восстановления данных с устройств.
    4. TestDisk - это мощная бесплатная программа для восстановления данных! Она была разработана в первую очередь, как инструмент восстановления утраченных разделов и/или восстановления загрузочной способности дисков, если эта проблема вызвана програмно, вирусами или ошибками человека (такими, как случайное удаление Таблицы Разделов). Восстановить Таблицы Разделов TestDisk-ом очень легко. Но TestDisk может также восстанавливать удаленные файлы на файловых системах FAT, NTFS и ext2; копировать файлы с удалённых FAT, NTFS и ext2/ext3/ext4 разделов. (Смотрите статью В.Симон, "Testdisk - восстановление таблицы разделов диска ").
    5. - консольная программа, позволяющая искать файлы на дисках или их образах по hex-данным, характерным заголовкам и окончаниям. Программа прочёсывает файлы на предмет совпадения заранее определённых hex-кодов (сигнатур), соответствующих наиболее распространённым форматам файлов. После чего экстрагирует их из диска/образа и складывает в каталог, вместе с подробным отчётом о том, чего, сколько и откуда было восстановлено. Типы файлов, которые foremost может сразу восстановить: jpg, gif, png, bmp, avi, exe, mpg, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, htm, cpp. Есть возможность добавлять свои форматы (в конфигурационном файле /etc/foremost.conf), о которых программа не знает.
      Статьи: " Восстановление удаленных файлов при помощи foremost ", " Восстановление удалённых файлов в ОС Linux ".
    6. R-Linux является бесплатной программой для восстановления файловых систем Ext2/Ext3/Ext4 FS, используемых в Linux и некоторых Unix-системах. Используемая в R-Linux Технология Сканирования и удобный в установке параметров интерфейс программы дают пользователю абсолютный контроль над процессом восстановления данных. R-Linux позволяет скопировать информацию и создать образ целого диска или его части, а уже затем работать с файлом образа, сохраненным на другом носителе, как с оригинальным диском. R-Linux производит поиск файлов известных типов, используя типовые характеристики их структур, что позволяет пользователю искать и восстановить файлы с устройств, где файловая система неизвестна, - HD, CD, DVD, дискет, USB дисков, ZIP дисков и устройств флеш-памяти (Compact Flash Card, Memory Sticks). Однако, в программе отсутствует возможность восстановления данных по сети, а также функциональность по реконструкции дисковых массивов и восстановления с них данных.
    7. DMDE - DM Disk Editor and Data Recovery Software. Программа для редактирования дисков и восстановления данных. В бесплатной версии доступны все функции дискового редактора, управления разделами и восстановления файлов, за исключением возможности группового восстановления файлов и каталогов; полная версия позволяет восстанавливать группы файлов и директории с сохранением структуры каталогов.
    8. PhotoRec - это утилита, входящая в состав пакета TestDisk. Предназначена для восстановления испорченных файлов с карт памяти цифровых фотоаппаратов (CompactFlash, Secure Digital, SmartMedia, Memory Stick, Microdrive, MMC), USB flash-дисков, жестких дисков и CD/DVD. Восстанавливает файлы большинства распространенных графических форматов, включая JPEG, аудио-файлы, включая MP3, файлы документов в форматах Microsoft Office, PDF и HTML, а также архивы, включая ZIP. Может работать с файловыми системами ext2, ext3, FAT, NTFS и HFS+, причем способна восстановить графические файлы даже в том случае, когда файловая система повреждена или отформатирована.
      Может работать под операционными систмами Linux, DOS, Windows, FreeBSD, NetBSD, OpenBSD, Mac OS X и SunOS
    9. Mondo Rescue . Основное назначение этой программы - создание резервных копий данных. Она может создавать резервные копии на магнитных лентах, CD, на удаленных носителях по NFS или в виде ISO-образов на локальных дисках. Но в случае повреждения данных программа позволяет восстановить их полностью или частично, даже если ваш жесткий диск недоступен обычными средствами.
      Mondo запускается на всех основных дистрибутивах Linux, поддерживает LVM, RAID, ext2, ext3, JFS, XFS, ReiserFS, VFAT и другие файловые системы. Может восстанавливать геометрию диска, обеспечивать миграцию данных на RAID-массивы, проверять целостность файловой системы компьютера. Кроме того, позволяет проводить реструктуризацию диска, уменьшать/увеличивать разделы, переназначать устройства, добавлять жесткие диски.
    10. - инструмент для восстановления данных, который пытается извлечь данные из доступных, но проблематичных носителей (с поврежденными секторами). В качестве источника данных могут выступать внешние устройства (такие как CD, DVD и Blu-ray) и разделы жеских дисков. Программа обладает тем преимуществом, что продолжает работу даже тогда, когда другие средства прекращают ее из-за ошибок ввода/вывода. Обычные средства копирования, такие как cat, cp или dd не позволяют создать образ диска или съемного носителя, если произошел сбой при чтении какого-то сектора.
    11. The Sleuth Kit (TSK) - набор программ (fls, icat, ffind, ifind, mmls, fsstat, etc.) для проведения криминалистического анализа файловых систем. TSK - совокупность UNIX инструментальных средств командной строки, которые могут анализировать файловые системы NTFS, FAT, FFS, EXT2FS, и EXT3FS. TSK читает и обрабатывает структуры файловой системы самостоятельно, поэтому не требуется поддержка файловой системы операционной системой.
      Статьи: Восстановление спрятанных или потерянных данных .
    12. Scalpel - это средство быстрого восстановления файлов. Уникальность данного ПО заключается в том, что оно не зависит от файловой системы. Программа ищет по базе данных начало и конец файлов известных форматов и пытается найти их на диске. Поэтому восстановление возможно как с FATx, NTFS, ext2/3, так и с "голых" (raw) разделов.
      Статьи: Восстановление удаленных файлов с помощью Scalpel

    Кроме перечисленных в некоторых статьях упоминаются также утилиты Magicrescue и ntfsundelete из пакета ntfstools.

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

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

    Alias rm="rm -i" Тогда перед выполнением удаления вам будет задан дополнительный вопрос, действительно ли вы этого хотите.

    Второй совет: делайте резервные копии своих данных как можно чаще, каждый день или даже каждый час. Если следовать этому совету, то в самом плохом случае вы потеряете только те результаты своей работы, которые получили в течение последнего часа. Да и процедуры восстановления данных в таком случае выполнить будет гораздо проще. Автоматизировать выполнение этих процедур можно с помощью cron -а и утилиты rsync , организовав периодическое копирование важных файлов и каталогов на другой диск или раздел. А можно использовать упомянутую выше утилиту Mondo Rescue. Кстати, вы освоите ее применение, что может оказаться полезным в случае возникновения необходимости восстановления данных в чрезвычайной ситуации.

    И третье: прежде чем приступать к попыткам восстановления удаленных файлов, сделайте копию раздела, в котором находились эти файлы, и работайте с ней, а не с исходным разделом. Если в процессе восстановления вы снова ошибетесь, то сможете начать все с начала. Если же работать с исходным разделом, можно испортить данные безвозвратно. Сделать копию раздела можно с помощью команды dd (о применении этой команды вы можете прочитать в статье А.Дмитриева "dd: Команда, которая не похожа на другие").

    Нелишне напомнить также, что существуют специальные дистрибутивы Linux, запускающиеся с CD или других съмных носителей и содержащие наботы утилит администрирования, в том числе и инструменты восстановления данных. В качестве примера таких дистрибутивов можно упомянуть SystemRescue CD и Trinity Rescue Kit.

    Я полагаю, что приведенный выше список через некоторое время тоже устареет, как это случилось с перечнем, приведенным в статье, упомянутой в начале этой заметки. Зато появятся новые средства, может быть более совершенные. Чтобы быть в курсе, заглядывайте иногда на сайт "Каталог программного обеспечения для Linux" , а еще лучше - помогайте поддерживать этот каталог в актуальном состоянии. Тогда в любой нештатной или штатной ситуации вы или другой пользователь Linux сможет найти необходимые средства и инструменты для решения своих проблем.

    Источник: 10 Ways To Recover Deleted Files In Linux (блог http://www.goitexpert.com), June 21, 2007
    Перевод: Александр Саввин ([email protected])

    Я никого не знаю, кто хотя бы раз случайно не удалил файл и не попытался бы его восстановить. В Windows восстановление файлов - относительно легкая операция. Но как это сделать в Linux? Точнее, если что-то было удалено из командной строки в экране Терминала, как восстановить этот файл? В некоторых дистрибутивах Linux, таких как Ubuntu, существует корзина, но в большинстве других её нет. Удалённые файлы просто отправляются в небытье.

    Вот хороший совет для новичков - измените команду rm: alias rm="rm -i" Таким образом при каждом удалении файла система будет запрашивать подтверждение.

    Второй совет - делать резервные копии. Для копирования важных каталогов и файлов на другую систему или раздел можно воспользоваться утилитой rsync. С помощью crontab это можно делать ежедневно или даже ежечасно.

    Итак, рассмотрим 10 способов восстановления удалённых файлов:

    1. - автоматизирует некоторые шаги восстановления утерянного файла, описанные в Linux Ext2fs Undeletion Mini-HOWTO (перевод). Эта утилита значительно увеличит эффективность восстановления. Она рекомендуется тем, кто не знает, как восстанавливать файлы.
    2. athena-delete - была написана для проекта Athena по запросам множества новых пользователей UNIX, случайно удалявших нужные им файлы.
    3. unrm - небольшая консольная утилита, которая при некоторых условиях, может восстановить почти 99% удалённых данных (похожа на утилиту undelete в DOS). Перед её использованием внимательно прочитайте файл FAQ и желательно Linux Ext2fs Undeletion Mini-HOWTO. Применение: unrm [-b (no block padding)][-e (every block)][-f fstype][-vW] device
    4. - средство восстановления файлов для файловых систем Ext2/Ext3. После установки могут быть восстановлены текущие файлы и новые созданные файлы в /root и /home. Она позволяет пользователям восстановить все удалённые файлы, восстанавливать файлы, принадлежащие указанному пользователю, выводить (dump) данные из местанахождения файлов и восстанавливать файлы определённого типа, типа текста или MP3. Имеется также анализатор, помогающий пользователям во время восстановления.
    5. - интерактивный консольный инструмент для восстановления данных из удалённых файлов в файловой системе ext2 в Linux. Включает в себя библиотеку, позволяющую восстанавливать удалённые файлы по именам. e2undel не управляет внутренними структурами ext2 и не требует дополнительных средств. Она может быть полезна без знания внутреней структуры ext2. Применение: e2undel -d device -s path [-a][-t] -d файловая система, где искать удалённые файлы -s каталог, в который сохранять восстановленные файлы -a работать на всех файлах -t попытаться определить тип удалённых файлов без имён -l просто выдать список валидных файлов в лог-файл undel Устройство должно быть отмонтировано и путь не должен указываться вместе с устройством.
    6. - позволяет восстанавливать и конвертировать файловые системы с минимальным использованием дополнительного дискового пространства. В отличие от других средств восстановления anyfs-tools не копирует все обнаруженные файлы на другие диски (или разделы), а просто сохраняет информацию о размещении блоков файлов во внешней таблице inode. После восстановления пользователь может примонтировать повреждённую файловую систему с помощью anyfs и внешней таблицей inode и затем работать со всеми восстановленными файлами в любой программе.
    7. rfs - консольный скрип для создания и обновления локального запасного системного диска. Основное назначение - быстрое восстановление работающей системы после падения. В данном случае "быстрое" означает время, затрачиваемое им до перезагрузки машины. rfs является сокращением от "replication of filesystem" (копия файловой системы). Аналогично rsyncbackup, rfs основан на rsync.
    8. e2retrieve - средство восстановление данных Ext2, работающее с обрезанными или частичными файловыми системами. Оно очень полезно для получения данных при повреждении диска из LVM. Оно не восстанавливает файловую систему, но извлекает и копирует большинство данных, которые оно может получить из "сырых" данных Ext2.
    9. findfile - набор средств для восстановления файлов в файловых системах с разрушенными каталогами, таблицами размещения и т.п. Он может быть полезен при разрушенной таблице разделов (или больше) жёсткого диска или при повреждённой карте памяти от цифровой камеры.
    10. TestDisk - средство для проверки и восстановления разделов. Работает со следующими разделами: FAT12, FAT16, FAT32, Linux, Linux swap (версий 1 и 2), NTFS (Windows NT/W2k/2003), BeFS (BeOS), UFS (BSD), JFS, XFS и Netware.

    Иногда мы сожалеем о поспешно принятых нами решениях. Касается это и удаления файлов. Тем более что мы можем стереть их и вовсе без принятия решения, случайно. В Windows для такого случая есть корзина . Убунту не обладает этим инструментом, однако пользователь может другими способами восстановить утерянные данные, иногда даже в существенно большем объёме. Главное, в нужный момент знать, как восстановить удалённые файлы в Ubuntu.

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

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

    Не самая эффективная из всех программ по восстановлению данных. Но прибегнуть к ней смогут многие, так как она часто устанавливается на Ubuntu и проста в управлении. Установить её также очень легко:

    sudo apt-get install gparted

    Запускаем GParted с расширенными правами:

    Находим раздел диска, с которого была удалена важная информация, открываем его.

    Теперь кликаем по кнопке «Устройство» в верхнем меню и выбираем «Попробовать восстановить данные».

    Вероятность успеха операции не так уж велика. Однако если вы сделали это вскоре после очистки нужного файла, есть возможность вернуть всё назад.

    TestDisk уже больше подходит для того, чтобы заниматься восстановлением удалённых файлов на Ubuntu. Утилита обладает широким функционалом, и эта процедура - лишь одно из действий. Управляется всё через текстовый интерфейс, что, конечно, не очень удобно для новичков.

    Сначала устанавливаем TestDisk:

    sudo apt install testdisk

    Запускаем программу:

    • Выбираем из трёх возможных вариантов и жмём Ввод.
    • Выбираем диск, с которого и нужно восстановить удалённые файлы.
    • Выбираем таблицу разделов. Как видим, здесь их несколько, последние (Mac, Xbox, Sun) не очень нам подходят. Чаще всего это
    • Выбираем пункт Advanced в следующем окне.
    • Теперь выбираем раздел и кнопку list внизу.
    • Нам выведутся все файлы, которые были удалены за последнее время, причём даже с названием и датой удаления.
    • При помощи кнопки «C» мы можем скопировать файлы, которые хотим восстановить.

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

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

    Устанавливаем программу:

    sudo apt install photorec

    Запускаем:

    • Вновь выбираем диск, с которым будем работать.
    • Открываем нужный диск, а затем в следующем окне файловую систему. В случае с Убунту это будет первый вариант.
    • Выберите способ сканирования. Всего их два: весь раздел либо только неразмеченное пространство. Нас будет интересовать весь раздел.
    • После в том же окне выбираем папку , куда сохранится весь результат сканирования.
    • Ждём завершения процесса.

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

    Safecopy

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

    Загружаем утилиту на компьютер:

    sudo apt install safecopy

    Переносим данные с повреждённого носителя:

    sudo safecopy /dev/sda /home/

    При помощи этой команды мы перенесём данные с раздела dev/sda в home. Способ подходит скорее не тем, кто случайно что-то стёр, а тем, чьи файлы повреждены.

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

    Устанавливаем Scalpel:

    sudo apt-get install scalpel

    Открываем конфигурационный файл утилиты:

    sudo gedit /etc/scalpel/scalpel.conf

    Вместо gedit можно использовать nano, если этот редактор стоит у вас по умолчанию.

    Теперь здесь нужно найти строку, которая содержит формат того файла, который мы ищем. Например, это png. Находим png и удаляем решётку (#) в начале строки. Это действие называется «раскомментировать».

    Сохраняем файл и закрываем редактор.

    Запускаем команду для поиска утраченных данных:

    sudo scalpel /dev/sda1 -o /home/png/

    sda1 - раздел, в котором мы ищем, home/png - раздел, куда всё будет скопировано.

    Процесс запустился. Занять он может несколько часов. По завершении откройте Nautilus и с помощью него ту папку, в которую сохранялись файлы. Там вы, скорее всего, найдёте ещё больше мусора, чем после PhotoRec, но среди него и нужные вам файлы.

    Немного теории

    Так почему же делать всё необходимо так быстро? Причина заключается в том, что, когда мы удаляем какой-то файл, в какой бы системе это ни выполнялось, мы удаляем только подобие ссылки на него. При помощи такой ссылки к нему обращаются программы, получая доступ к тому, что находится на жёстком диске. Однако каждый раз удалять файл по просьбе пользователя с HDD будет очень неудобно и затратно в плане времени и энергии. Гораздо проще пометить эту область на диске как ненужную и перезаписать, когда потребуется новое место. Поэтому чем быстрее мы всё делаем, тем меньше шансов, что область эта уже была перезаписана.

    Программы, которые были приведены выше, реализуют разные способы извлечения стёртой информации. Последняя, если верить пользователям, используется даже спецслужбами. Им, кстати, вообще не составит труда «вернуть с того света» любые данные при помощи остаточного магнитного следа на диске. Но для этого обычно требуется специальная дорогостоящая аппаратура, а не просто утилита.

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

    Если PhotoRec не принесла результатов, то попробуйте другие инструменты.

    Использование Scalpel

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

    Установка Scalpel в Ubuntu, Linux Mint и Debian

    Откройте терминал и скопируйте в него команду:

    Sudo apt-get install scalpel

    После завершения установки scalpel, вам нужно найти файл scalpel.conf :

    Locate scalpel.conf

    Обычно он размещается в /etc/scalpel/scalpel.conf или /etc/scalpel.conf. Откройте этот файл текстовым редактором, вы увидите, что все строки закомментированы (начинаются с # ). Т.е. перед запуском scalpel вам нужно раскомментировать форматы файлов, которые вы хотите восстановить. Если раскомментировать весь файл, то потребуется много времени и появится много ложных результатов.

    Допустим, я хочу восстановить только файлы.jpg, тогда я просто раскомментирую секцию jpg в конфигурационном файле scalpel.

    # GIF and JPG files (very common) gif y 5000000 \x47\x49\x46\x38\x37\x61 \x00\x3b gif y 5000000 \x47\x49\x46\x38\x39\x61 \x00\x3b jpg y 200000000 \xff\xd8\xff\xe0\x00\x10 \xff\xd9

    В командной строке вам нужно указать расположение удалённых файлов, которые вы пытаетесь восстановить (в данном примере это /dev/sda1 ):

    Sudo scalpel /dev/sda1-o output

    Переключатель -o указывает на директорию вывода, где вы хотите сохранить ваши восстановленные файлы. Перед запуском программы убедитесь, что это директория является пустой, в противном случае вы получите ошибку. Вывод команды:

    Scalpel version 1.60 Written by Golden G. Richard III, based on Foremost 0.69. Opening target "/dev/sda1" Image file pass 1/2. /dev/sda1: 6.1% |***** | 6.6 GB 39:16 ETA

    Как вы видите, теперь scalpel выполняет свои действия, процесс восстановления удалённых файлов занимает время, которое зависит от объёма диска, который вы сканируете, и от скоросоти машины.

    Использование extundelete

    Использование foremost

    Удалён файл, открытый в программе

    Если вы считаете, что удалённый файл ещё открыт в какой-то программе (например, фильм, который в настоящий момент проигрывается медиа плеером) и вы знаете имя файла, но для начала попробуйте эту процедуру:

    Lsof|grep "путь/до/файла" progname 5559 user 22r REG 8,5 1282410 1294349 /path/to/file

    Запоминаем номер во втором столбце, это 5559, и номер в четвёртой колонке, это 22. Тогда команда восстановления:

    Cp /proc/5559/fd/22 restored.file

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

    Иногда случается, что мы случайно удаляем еще нужные нам файлы. Особенно это опасно в терминале Linux, поскольку здесь файлы удаляются не в корзину, а стираются с диска сразу и навсегда.

    Понятно, что нужно аккуратно обращаться с командами удаления файлов, но что делать если уже все удалено, а файлы были важные и их нужно срочно восстановить? В некоторых случаях это возможно. В нашей сегодняшней статье мы рассмотрим восстановление удаленных файлов linux.

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

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

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

    Ну а мы остановимся на программном восстановлении, когда данные были формально удалены, но физически еще находятся на диске в целостности и сохранности. Дальше рассмотрим несколько утилит, которые помогут восстановить удаленные файлы linux.

    1. Safecopy

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

    Разница между этой утилитой и другими программами копирования в том, что Safecopy не завершается при обнаружении каких-либо ошибок, будь то плохая операция чтения или поврежденный сектор. У нее есть множество дополнительных опций для настройки, а также возможность создания образа файловой системы из поврежденного носителя. Данные восстанавливаются тщательно и быстро, насколько это возможно.

    Утилиту можно установить из официальных репозиториев вашего дистрибутива. Пользователи Ubuntu могут воспользоваться такой командой:

    sudo apt install safecopy

    Здесь вы не восстановите удаленные файлы, но вы можете скопировать поврежденные данные. Например, для видео несколько повреждений не играют большой роли. Для запуска восстановления файлов в linux с раздела /dev/sda1 выполните:

    sudo safecopy /dev/sda1 /home/files/

    Все файлы, которые удастся скопировать будут в /home/files/.

    TestDisk - это очень мощный инструмент для восстановления данных. Он не пытается скопировать данные из поврежденного устройства, а позволяет исправить ошибки и проблемы на уровне разделов, которые могут мешать работе с вашими данными.

    Утилита может восстанавливать потерянные разделы, исправлять таблицу разделов GPT и MBR, делать резервные копии дисков, восстанавливать загрузочные записи, а главное восстанавливать удаленные файлы с файловых систем NTFS, FAT, exFAT и файловых систем семейства Ext. Также вы можете копировать файлы даже с удаленных разделов для тех же файловых систем.

    Способ работы утилиты очень сильно отличается в зависимости от нужного действия. Здесь вас ждет псевдографический мастер, который проведет вас через все шаги. Установить testdisk можно так же само из официальных репозиториев. В Ubuntu используйте для этого команду:

    sudo apt install testdisk

    Поскольку тема нашей статьи - восстановление файлов linux, рассмотрим как это делается с помощью этой утилиты. Запустите программу:

    На первом шаге мастера выберите Create New Log :

    Выберите таблицу разделов на диске:

    Для работы с файловой системой выберите пункт Advanced :

    Далее выберите раздел, затем команду list:

    Тут вы увидите все файлы, которые есть на этом разделе. Удаленные, но подлежащие восстановлению файлы будут помечены красным.

    Работать с этой утилитой удобнее, чем с Photorec, потому что здесь вы можете выбрать только один нужный файл, а не восстанавливать сразу кучу мусора. Чтобы скопировать файл просто выберите его, нажмите c и выберите папку для сохранения. Правда, вы же понимаете, что для восстановления нужно, чтобы файлы были не перезаписаны, где-то чуть перезапишется и все.

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

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

    В утилиты есть несколько настроек. Вы можете указать расширения файлов, которые нужно найти, размер, дату изменения и так далее. Установить программу можно так же как и TestDisk - из официальных репозиториев.

    Например, в Ubuntu выполните:

    sudo apt install photorec

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

    Выберите диск, с которым нужно работать:

    Выберите раздел:

    Выберите файловую систему:Программа восстановит много файлов, и скорее всего больше чем вам нужно. Причем главная ее проблема в том, что имена файлов не сохраняются и вам придется еще поискать, чтобы найти есть ли там то что нужно.

    Выводы

    Эти три инструмента охватывают широкий спектр задач по восстановлению файлов linux. Здесь вы сможете выполнить не только восстановление удаленных файлов linux ext4, но и исправить жесткий диск или скопировать файлы с поврежденных носителей.

    А какие ваши любимые утилиты для восстановления данных? Какими вы пользуетесь? Напишите в комментариях!

    На десерт видео от Discovery о том, как работает жесткий диск:

    Похожие статьи