Ubuntu: восстановление удаленных файлов. Как восстановить удалённый файл в Linux Как в linux восстановить удаленные файлы

Если 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

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

Пришел ко мне знакомый с такой проблемой: Нужно восстановить удаленные файлы с флэш-карты фотоаппарта. Работаю я в магазине по продаже и настройке компьютеров и естественно, что там у нас только Windows. Была у меня в запасе одна безотказная программа, которая выручала меня, и не только, не один раз — Zero Assumption Recovery. Хорошая программа на самом деле, но платная и для винды. Одним словом сканировала она 4 гиговую флэшку часа 2-3, кое-что нашла. Попытался восстановить, но в итоге в восстанавливаемой папке ничего не оказалось. Для меня это был шок! Такое с этой прогой было впервые. Решил попытаться поколдовать с картой памяти дома, но уже на родной Убунту 11.10.

Для этого я вызвал программу для восстановления именно с карт памяти или флэшек под названием PhotoRec из пакета TestDisk. Если программа не установлена, то устанавливаем:

sudo apt-get install testdisk

Теперь, не закрывая Терминал, вызываем программу командой

и вводим пароль пользователя

Далее перед нами откроются всевозможные подключенные диски на нашем компьютере. Нужная мне флэшка была третья. Стрелками вверх или вниз, вправо или влево мы будем передвигаться по Терминалу. Выделяем нужный диск/карту/флэшку, в нашем случае UDF 2.0 Silicon-Power 8G и жмем Enter.

Если нужно восстановить все файлы, то жмем Enter, а если нужно восстановить файлы одного или нескольких типов, то стрелкой Вправо переходим на пункт File Opt и далее жмем Enter.

По умолчанию все типы файлов выделены для поиска и восстановления. Буквой S снимаем все выделения. Стрелками Вверх и Вниз ищем нужный тип файлов и выделяем кнопкой Пробел. Жмем Enter.

В нижнем меню переходим на пункт Search.

Выбираем пункт FAT32. Жмем Enter. Из всех вариантов выбираем Other , т.к. наша флешка имеет файловую систему FAT32.

Если выбрать пункт FREE, то поиск будет произведен в пустом пространстве и в этом случае будут восстановлены только удаленные файлы, а если выбрать WHOLE, то поиск будет произведен на всей поверхности флешки или диска.

Теперь нужно указать директорию, куда будем сохранять нужные нам файлы. Выбираем нужную папку и естественно жмем Enter.

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

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

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

Как восстановить данные и какими приложениями воспользоваться?

Как восстановить данные с помощью утилиты Scalpel

Scalpel - это набор инструментов для быстрого восстановления файлов. Уникальная утилита, уникальность ее в том, что она никак не зависит от файловой системы. Утилита ищет по базе данных файлы файлы всех известных форматов и пытается найти их на диске по определенным своим шаблонам просматривая начало и конец файла. Может помочь в восстановлении в таких файловых системах как FATx, NTFS, ext2/3, так же с "RAW" разделов.

Установим утилиту, выполните в терминале команду:

sudo apt install scalpel

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

Пример использования Scalpel:

sudo scalpel file.iso -o dir_recovery

директория для восстановления "dir_recovery " обязательно должна быть пустой, file.iso это как пример данных которые нам нужно восстановить, мы знаем, что у нас был такой образ с точно таким же названием, мы можем указать не только файл напрямую, но можем и указать полный путь к устройству откуда нужно восстановить, вида /dev/sdb1/directory_name/directory_name2/filename .

Как восстановить данные с помощью R-Linux

R-Linux является бесплатной программой для восстановления файловых систем Ext2/Ext3/Ext4 FS, используемых в Linux и некоторых Unix операционных системах (ОС). Используемая в R-Linux Технология Сканирования и удобный в установке параметров интерфейс программы дают пользователю абсолютный контроль над процессом восстановления данных. Программа восстанавливает данные с существующих логических дисков, даже если записи файлов утрачены. Однако, в программе отсутствует возможность восстановления данных по сети, а также функциональность по реконструкции дисковых массивов и восстановления с них данных.

Есть два варианта утилиты R-Linux: для ОС Linux и для ОС Windows. Они имеют одинаковую функциональность, разница состоит лишь в ОС хоста.

R-Linux восстанавливает следующие файлы:

  • Удаленные в результате вирусной атаки, сбоя питания или повреждения системы;
  • С поврежденных или удаленных разделов, после форматирования раздела, даже в раздел с другой файловой системой;
  • Когда структура раздела на диске была изменена или повреждена. В этом случае R-Linux может отсканировать жесткий диск, найти ранее удаленный или поврежденный раздел, а уже затем восстановить данные с найденного раздела.
  • С жестких дисков, на которых имеется большое число поврежденных секторов. R-Linux позволяет скопировать информацию и создать образ целого диска или его части, а уже затем работать с файлом образа, сохраненным на другом носителе, как с оригинальным диском. Это особенно полезно и эффективно, когда число поврежденных секторов на диске постоянно растет, и необходимо немедленно сохранить оставшуюся информацию.

Что может R-Linux:

  • Операционная система (ОС) хоста:
  • Вариант для ОС Linux: любая ОС Linux на базе ядра 2.6+
  • Вариант для ОС Windows: Win2000, XP, 2003, Vista, Windows 7, Windows 8/8.1, Windows Server 2008/2012
  • Поддерживаемые файловые системы: только Ext2/Ext3/Ext4 FS (Linux).
  • Распознание и анализ схем Динамических (Windows 2000/XP/2003/Vista/Win7), Основных, BSD (UNIX) разделов и схемы разделов APM (Apple Partition Map). Поддержка динамических разделов на GPT, а также на MBR.
  • Создание ФАЙЛА ОБРАЗА для целого физического диска, раздела или его части. Файлы образов диска могут обрабатываться программой как обычный диск. Возможны два вида образов: 1) Образы, являющиеся точной побайтовой копией объекта (Несжатые образы) - такие образы совместимы с предыдущими версиями R-Linux; 2) Сжатые образы - могут быть сжаты, разбиты на несколько файлов и защищены паролем. Такие образы полностью совместимы с образами, создаваемыми программой R-Drive Image, но несовместимы с предыдущими версиями R-Linux.
  • Восстановленные файлы могут быть сохранены на любой, включая сетевой, диск, доступный локальной операционной системой.
  • Мониторинг параметров S.M.A.R.T R-Linux может отображать параметры S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) для жестких дисков которые показывают состояние их аппаратной части и предсказывать их возможные отказы. Нужно избегать любую дополнительную нагрузку на такие диски если появляются предупреждения от системы S.M.A.R.T.
  • Поиск удаленных версий файлов. R-Linux может искать удаленные версии файлов используя их размеры, имена, расширения и распознанные типы файла как параметры поиска.

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

Как установить R-Linux

Скачать файл для вашей архитектуры вы можете по ссылке - , далее для установки, откроем терминал и выполним команды:

Cd ~/Загрузки/ cd ~/Downloads/ sudo dpkg -i rli*

после завершения установки ищем приложение в меню Ubuntu - Системные утилиты - R-Linux , после первого запуска вы увидите англоязычное приложение, не пугайтесь, поддержка "Русского" так же присутствует. Перейдите в меню Help - Interface Language , и выберите русский, готово.

Если вам нужно восстановить файлы, подключите как пример флешку, увидели что флешка определилась, на боковой панели Ubuntu, нажмите в приложении кнопку обновить, чтобы увидеть ваш носитель. Далее выделяем курсором мыши раздел нашего флеш-носителя и жмем кнопку "Сканировать ".

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

Cканирование начато, ждем пока завершится, не отменяем ни в каком случае, иногда это может плохо кончиться для флеш-носителя. Сканирование завершено, далее мы видим следующую картинку:

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

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

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

Как восстановить данные с помощью утилиты R-Studio

Платная утилита, но она того стоит так как выручит даже из самых сложных ситуаций, купить можно на официальном сайте - . Продвинутая утилита, лучшая с утилит для восстановления данных, работает с файловыми системами NTFS, NTFS5, ReFS, FAT12/16/32, exFAT, HFS/HFS+ (Macintosh), Little and Big Endian variants of UFS1/UFS2 (FreeBSD/OpenBSD/NetBSD/Solaris) и Ext2/Ext3/Ext4 FS (Linux). В R-Studio также используется восстановление файлов по сигнатурам (поиск при сканировании файлов известных типов) для сильно поврежденных или неизвестных файловых систем. Программа позволяет восстанавливать данные как локально, так и на удаленных компьютерах по сети, даже если разделы дисков были форматированы, повреждены или удалены.

В состав R-Studio входят:

  • Модуль реконструкции RAID
  • Универсальный текстовый/шестнадцатиричный редактор, обладающий широким диапазоном возможностей
  • Отдельный модуль резервного копирования системы и данных (копирования диска), что позволяет считать R-Studio наиболее оптимальным и полным решением при создании рабочей станции для восстановления данных.

R-Studio восстанавливает файлы:

  • Удаленные вне Корзины или когда Корзина была очищена;
  • Удаленные вирусной атакой или сбоем питания компьютера;
  • После того, как раздел с файлами был переформатирован, даже в раздел с другой файловой системой;
  • Когда структура раздела на жестком диске были изменена или повреждена. В этом случае с помощью программы R-Studio можно отсканировать жесткий диск, найти удаленный или поврежденный раздел, а уже потом восстановить данные с найденного раздела.
  • С жестких дисков, на которых имеется большое число поврежденных секторов. Программа восстановления R-Studio может сначала скопировать информацию и создать образ целого диска или его части, а уже затем работать с файлом образа, сохраненным на другом носителе, как с оригинальным диском. Это особенно полезно и эффективно, когда число поврежденных секторов на диске постоянно растет, и необходимо немедленно сохранить оставшуюся информацию.
  • Приказом Министерства юстиции РФ от 26 ноября 2015 г. № 269, R-STUDIO была включена в список требований к минимальной комплектации материально-технической базы по нескольким видам судебных экспертиз проводимых в федеральных бюджетных судебно-экспертных учреждениях Министерства юстиции Российской Федерации.

Что может утилита R-Studio:

  • Стандартный пользовательский интерфейс "Windows Explorer".
  • Операционная система (ОС) хоста: Windows 2000, XP, 2003 Server, Vista, 2008 Server, Windows 7, Windows 8/8.1/10, Windows Server 2012.
  • Восстановление данных по Cети. Файлы могут быть восстановлены по сети с удаленных компьютеров, на которых установлены ОС Win2000/XP/2003/Vista/2008/Windows 7/8/8.1/10/Windows Server 2012, Macintosh, Linux и UNIX.
  • Поддерживаемые файловые системы: FAT12, FAT16, FAT32, exFAT, NTFS, NTFS5, ReFS (новая локальная файловая система, которую ввел Microsoft в Windows 2012 Server), HFS/HFS+ (Macintosh), Little and Big Endian variants of UFS1/UFS2 (FreeBSD/OpenBSD/NetBSD/Solaris) и Ext2/Ext3/Ext4 FS (Linux).
  • Поиск при Сканировании Файлов Известных Типов (восстановление файлов по сигнатурам): если файловая система на диске сильно повреждена или неизвестна, то R-Studio ищет шаблоны данных (файловые сигнатуры) свойственные определенным типам файлов (документы Microsoft Office, jpgs и т.д.). В случае необходимости пользователь может добавить новые типы файлов в состав R-Studio.
  • Распознание и анализ схем Основных(MBR), GPT и BSD (UNIX) разделов, а также схемы разделов Apple. Поддержка Динамических томов (Windows 2000-2012/8.1/10) на MBR и GPT.
  • Поддержка Windows Storage Spaces (Windows 8/8.1 и 10/Threshold 2), программных Apple RAID и Linux Logical Volume Manager (LVM/LVM2). R-Studio может автоматически распознавать и собирать компоненты этих дисковых менеджеров даже если их базы данных слегка повреждены. Их компоненты с серьезно поврежденными базами данных можно добавлять вручную.
  • Реконструкция поврежденных дисковых массивов (RAID). Если ОС не распознает дисковый массив (RAID), вы можете создать виртуальный RAID из его компонентов. Такой виртуальный массив может быть обработан программой как обычный физический.Поддержка стандартных уровней RAID: 0, 1, 4, 5, 6. Поддержка вложенных и нестандартных уровней: 10(1+0), 1E, 5E, 5EE, 6E. Поддержка задержки контроля четности для всех соответствующих уровней RAID. Поддержка пользовательских схем RAID.
  • Автоматическое распознавание параметров RAID.R-Studio способна распознавать все параметры для RAID 5 и 6. Это позволяет пользователю решить одну из наиболее трудных задач при восстановлении RAID - определение его параметров.
  • Создание ФАЙЛА-ОБРАЗА для целого Физического Диска (HD), Раздела или его части. Такие файлы-образы могут быть сжаты и разбиты на несколько файлов для сохранения на CD/DVD/Flash или на FAT16/FAT32/exFAT. Файлы образов диска могут обрабатываться программой как обычный диск.
  • Восстановление данных с поврежденных или удаленных разделов, зашифрованных файлов (NTFS 5), альтернативных потоков данных (NTFS, NTFS 5).
  • Восстановление данных после:
  • запуска FDISK или аналогичных утилит;
  • Вирусной атаки; повреждения FAT; разрушения MBR.
  • Распознавание локализованных имен.
  • Восстановленные файлы могут быть сохранены на любой, включая сетевой, диск, доступный локальной операционной системой. Восстановленные файлы могут быть сохранены на другом диске подключенного удаленного компьютера без перекачивания по сети на локальный компьютер.
  • Просмотр содержания файлов для оценки шансов восстановления. Содержание файлов большинства типов (форматов) может быть просмотрено даже если соответствующее файлу приложение не установлено.
  • Файлы или содержимое диска может быть просмотрено и отредактировано с помощью встроенного шестнадцатиричного редактора. Редактор поддерживает редактирование свойств NTFS файлов.
  • Мониторинг параметров S.M.A.R.T. R-Studio может отображать параметры S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) для жестких дисков которые показывают состояние их аппаратной части и предсказывать их возможные отказы. Нужно избегать любую дополнительную нагрузку на такие диски если появляются предупреждения от системы S.M.A.R.T.
  • Интеграция с DeepSpar Disk Imager - профессиональным устройством для создания образов жестких дисков, специально созданным для восстановления данных с неисправных дисков. Такая интеграция дает низкоуровневый тонкий доступ к дискам с определенным уровнем неисправностей аппаратной части. Более того, она позволяет создавать образ диска и проводить анализ одновременно. Т.е., любой сектор, к которому обращается R-Studio на исходном диске, будет немедленно скопирован на диск-клон, и все последующие операции по восстановлению данных будут производиться на диске-клоне чтобы предотвратить дальнейшее ухудшение состояния исходного диска и значительно уменьшить время обработки.

Конечно, выше описаны не все утилиты для восстановления данных, имеется еще список с таких утилит как Unrm, Giis, Ddrescue, DMDE, PhotoRec, Mondo Rescue и Safecopy, я описал лишь основные, о других утилитах и их возможностях, советовал бы ознакомиться с материалом - . На этом пожалуй и окончим материал, будут вопросы, спрашивайте, уточняйте и оставляйте отзывы об используемых утилитах которыми вы восстановили данные, может в статье нет то, что вы используете, опишите в комментариях, чем вы пользуетесь.

Иногда мы сожалеем о поспешно принятых нами решениях. Касается это и удаления файлов. Тем более что мы можем стереть их и вовсе без принятия решения, случайно. В 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 будет очень неудобно и затратно в плане времени и энергии. Гораздо проще пометить эту область на диске как ненужную и перезаписать, когда потребуется новое место. Поэтому чем быстрее мы всё делаем, тем меньше шансов, что область эта уже была перезаписана.

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

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

Неприятности случаются чаще, чем хотелось бы. Одной из них является удаление файла с важными данными. Причем в Unix, считается, что он отправляется в небытие. К сожалению, действительно, восстановление удаленных файлов в Unix не столь простая задача, как в Windows с ее привычной корзиной для удаленных файлов и многочисленными утилитами от сторонних поставщиков (к примеру, Norton Utilities). Это связано с особенностями архитектуры файловых систем
Unix. ОС Linux более широко трактует понятие файла. Под файлом понимается любой объект, имеющий имя в файловой системе. Одним из таких объектов является каталог. В каталоге хранится как имя файла, так и дополнительная информация о файле - его размер, информация о владельце файла, местоположение на диске, дата создания, дата последней модификации, права доступа и много другое. Причем для эффективности, дополнительную информацию выносят в специальную структуру, а в каталоге оставляют только ссылку на эту структуру. При удалении файла эта дополнительная информация физически не удаляется с диска, а лишь отмечаются как свободные соответствующие блоки. Поэтому существует потенциальная возможность восстановления, удаленного файла, пока на место его расположения ничего не записывалось. Я попытаюсь предложить алгоритм действий при возникновении такой неприятности.

Прекращение дальнейшей работы.

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

Сам себе некрофил.

Рассмотрим два варианта восстановления. Один достаточно универсальный, применим, скорее всего, в любой системе Unix. Второй - заточен под работу с файловой системой Ext2
Linux.

Восстановление файлов с известным содержимым

* создаем копию корневого раздела и помещаем ее в файл из раздела /export. Этот раздел должен иметь достаточно свободного места, чтобы вместить в себя целиком раздел, на котором был удален файл

# df -k//export
File system Kbytes used avail capacity Mounted on
/dev/dsk/c0t3d0s0 122070 19512 102558 16% /
/dev/dsk/c1t0d0s0 17592638 14425963 3166675 82% /export
# dd if=/dev/dsk/c0t3d0s0 of=/export/recover.dsk
263077+0 records in
263077+0 records out
# ls -l
-rw-r-r-- 1 root other 134701056 Jul 1 16:54 recover.dsk

* запускаем команду cat с ключом -n (вывод номеров строк), вывод которой перенаправляем утилите fgrep, которая, осуществив поиск по заданному шаблону, отсечет все лишнее

# cat -n recover.dsk | fgrep "root:x:0:1"
200601 root:x:0:1:Super-User:/:/sbin/sh
202108 root:x:0:1:Super-User:/:/sbin/sh

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

* выведем некоторое количество строк после найденной
# fgrep -A10 "root:x:0:1" recover.dsk > passwd
# cat passwd
root:x:0:1:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
...

ключи -A<число строк> и -B<число строк> утилиты fgrep позволяют выводить несколько строк, расположенных после (after) и до (before) найденной по шаблону строки. Если вы сможете получить весь свой файл за один шаг - то вам крупно повезло. Но, к сожалению, файлы обычно фрагментированы, и чем больше размер файла, тем выше вероятность фрагментации и больше самих фрагментов. Поэтому, скорее всего, придется повторять описанную процедуру, используя различные шаблоны и объединяя полученные части. Сложно бывает понять, какая из версий файла, сохранившихся на диске, последняя. Это определяется, только просмотром содержимого восстановленного файла. А значит, вам придется восстанавливать все версии файла. Довольно нудно, но эффективно.

Восстановление файлов в Linux Ext2

Этот метод применяется в случае удаления командой rm или функцией unlink и не требует при восстановлении знания содержимого удаленного файла. Для работы нам потребуется отладчик файловой системы debugfs довольно мощная утилита, применяемая обычно для проверки и изменения файловой системы и предоставляющая непосредственный доступ к файловой системе. Нам потребуются три ее команды:

  • lsdel - вывод всех удаленных индексных дескрипторов в данной файловой системе
  • cat - просмотр содержимого, соответствующего дескриптору
  • dump - восстановление файла

Запускаем debugfs в требуемом разделе:

На приглашение вводим команду lsdel(чашка кофе не помешает, поскольку системе потребуется время на просмотр всего раздела):

debugfs: lsdel
Inode Owner Mode Size Blocks Time deleted
723300 1000 100664 27018 2/ 7 Mon May 20 19:08:17 2002
723301 1000 100444 1671 1/ 7 Tue May 20 19:08:17 2002
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
944887 1037 100600 597 1/ 1 Sun Jan 26 20:05:00 2003
717281 1000 100400 1 1/ 1 Sun Jan 26 20:05:13 2003
327101 1000 100644 15 1/ 1 Sun Jan 26 20:07:06 2003

Лучше сразу перенаправить вывод в файл, введя команду:

#echo lsdel | debugfs /dev/hda6 > /tmp/lsdel-output

Если с момента удаления не было операций с разделом, то интересующие нас данные будут в конце списка. Посмотрим содержимое, соответствующее последнему дескриптору, набрав команду:

debugfs: cat <327101>
my_very_important_data

Удаленный файл найден, он содержал единственную строку. Команда dump восстанавливает файл, записывая его на диск под именем
my_recovered_file:

debugfs: dump -p <327101> /tmp/my_recovered_file

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

Восстановление группы файлов в Linux Ext2

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

# tar zxf recover-1.3.tar.gz
# cd recover-1.3
# make
# make install

По умолчанию утилита устанавливается в систему каталогов с корнем /usr. Если надо установить в другое место - читайте ReadMe. Во время работы recover задав несколько простых вопросов, типа: кто является владельцем файлов, когда эти файлы были удалены, каков приблизительный размер этих файлов, запускает debugfs, и восстанавливает соответствующие заданному критерию индексные дескрипторы, помещая их в каталог, указанный пользователем. К сожалению, имена файлов не подлежат восстановлению. Восстановленные файлы получают имена, состоящие из префикса dump и последующего номера индексного дескриптора.

А что же мы восстановили?

Для идентификации восстановленных файлов используем две утилиты strings и file. Первая отображает последовательность символов ASCII, извлекая ее из указанного файла, вторая - выясняет тип файла (например, является ли он архивом или, скажем, файлом
PostScript).

Запускаем утилиту file:

# file *
dump39788: directory
dump98008: PGP armored text signed message
dump80154: gzip compressed data, deflated, last modified: Sun Jan 28 03:31:21 2001, os: Unix
dump73290: ASCII text
dump67095: ?diff? output text
dump72945: JPEG file
dump9773: MPEG 1.0 layer 3 audio stream data, 128 kBit/s
dump8176: ASCII C program text
dump58764: Bourne shell script text executable
dump3223: troff or preprocessor input text

Можно несколько автоматизировать процесс, используя простейшие сценарии наподобие следующего, добавляющего расширение к текстовым файлам программ на языке С:

# for i in ?file * | grep ? ASCII C program text? | \awk -F: ?{print $1}??;
do mv $i $i.c; done

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

# strings dump44768

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

Заключение

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

Статьи по теме