Ubuntu поиск удаленных файлов в образе. Свой среди чужих: восстанавливаем данные с FAT, NTFS и UFS, не покидая Linux

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

И так любителям rm -rf посвящается:

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

Установка (так как на испытуемой машине стоит Ubuntu, то рассказывать буду про нее):

sudo apt-get install scalpel

Перед использованием Scalpel, отредактируем файл настроек:
sudo nano /etc/scalpel/scalpel.conf

В нем нужно указать файлы, какого типа мы будем восстанавливать (по умолчанию не один тип не выбран). Я выбрал для восстановления файлы типа doc и pdf:

doc y 10000000 \xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00 \xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00 NEXT
doc y 10000000 \xd0\xcf\x11\xe0\xa1\xb1

pdf y 5000000%PDF %EOF\x0d REVERSE
pdf y 5000000%PDF %EOF\x0a REVERSE

Теперь можно запускать восстановление:

scalpel /dev/sda1 -o output

-o показывает директорию куда будут складывать восстановленные файлы, если директория с таким имене уже есть (и не пуста) Scalpel не запустится.
/dev/sda1 - собственно том, который будем шерстить на предмет утерянных файлов.
Список можно посмотреть с помощью команды mount:
username@host:~$ mount
/dev/sda1 on / type ext3 (rw, relatime, errors=remount-ro)
proc on /proc type proc (rw, noexec, nosuid, nodev)
/sys on /sys type sysfs (rw, noexec, nosuid, nodev)
varrun on /var/run type tmpfs (rw, noexec, nosuid, nodev, mode=0755)
udev on /dev type tmpfs (rw, mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw, gid=5, mode=620)
lrm on /lib/modules/2.6.24–21-generic/volatile type tmpfs (rw)
/dev/sda2 on /home type ext3 (rw, relatime)

После отработки переходим в директорию output и смотрим что там есть:

username@host:~/output$ ls -l
-rw-r--r-- 1 root root 28189 2009–03–24 14:42 audit.txt
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-3–0
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-3–1
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-3–2
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 doc-4–0

drwxr-xr-x 2 root root 4096 2009–03–24 14:42 pdf-5–0
drwxr-xr-x 2 root root 4096 2009–03–24 14:42 pdf-6–0

В файле audit.txt хранится инофмация о проведеном восстановлении:

username@host:~/output$ cat audit.txt

Scalpel version 1.60 audit file
Started at Tue Mar 24 14:16:04 2009
Command line:
scalpel /dev/sda1 -o output

Output directory: /home/username/output
Configuration file: /etc/scalpel/scalpel.conf

Opening target "/dev/sda1»

The following files were carved:
File Start Chop Length Extracted From
00053045.doc 183664640 YES 10000000 sda1
00053046.doc 183971840 YES 10000000 sda1

00050372.doc 203272192 NO 208896 sda1
00050373.doc 203481088 NO 229376 sda1

Completed at Tue Mar 24 14:42:41 2009

Смотрим во вложенные каталоги и видим (если повезет) наши файлы:

username@host:~/output/doc-3–0$ ls -l
total 25564
-rw-r--r-- 1 root root 307200 2009–03–24 14:42 00050348.doc
-rw-r--r-- 1 root root 40960 2009–03–24 14:42 00050349.doc
-rw-r--r-- 1 root root 4354 2009–03–24 14:42 00050350.doc
-rw-r--r-- 1 root root 466686 2009–03–24 14:42 00050351.doc
-rw-r--r-- 1 root root 176128 2009–03–24 14:42 00050352.doc

Источник - HowtoForge (вольный перевод).

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

Scalpel умеет работать с фаловыми системами FAT, NTFS, ext 2/3, то есть восстанавливать данные можно и с win-разделов.

И напоследок, лучших способ восстановить очень важные файлы это:
1. Делать бекапы.
2. Очень хорошо думать перед удалением.

Удачного восстановления данных!

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

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

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

Кстати, вы знаете ? Мы уже писали об этом. Перейти можно по ссылке выше.

Но после фразы «Не волнуйся», вы счётчик: «Я просто удалил единственную копию моего резюме!» и что делать?

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

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

«Да, хорошо», вы говорите: «Я успокоюсь, зная, что мой файл «существует » в каком-то абстрактном смысле. Но насколько я заинтересован, если я не могу открыть, отредактировать или распечатать его, он не существует в каком-либо практическом смысле. То, что действительно помогло бы, было бы способом восстановления тех файлов которые были удалены с диска. И тот, который не требует лаборатории ИТ-экспертизы.

На самом деле, не волнуйтесь — вам не нужна лаборатория для восстановления удаленных файлов. Кроме того, если вы можете пройти мимо примитивного графического интерфейса, на самом деле это легко сделать! Я покажу вам, как использовать TestDisk для восстановления удаленных файлов.

Как восстановить удаленные файлы в Linux с помощью TestDisk

Позвольте мне привести упрощенный пример: я взял чистый флеш-диск, добавив несколько файлов, а затем удалил один. Теперь у моей системы есть функция, которая будет напрямую удалять файлы со съемных носителей, обходя «корзину» вообще; то есть, если я выберу «правый» щелчок по файлу, а затем выберите «удалить». Он по-прежнему представляет предупреждение, но один раз нажмите кнопку «Да», и файл исчез навсегда. Или похоже.

Но на этот раз я не понял этого ужасного чувства. И нет, не потому, что это приготовленный сценарий. Я знал, что все, что мне нужно было сделать, это открыть терминал типа «testdisk » и нажать «enter». Когда я впервые это сделал, у меня был один из моих «моментов Linux». Потому что, если у вас его нет — и я не … это говорит вам, как это получить! Просто введите «sudo apt install testdisk » и нажмите Enter, и вы получите его примерно через 10 секунд.

Шаг 1

Восстановление удаленных файлов Linux очень быстрым. Сначала вам нужно установить TestDisk. Большинство дистрибутивов Linux уже имеют этот инструмент в своем официальном репозитории. В Ubuntu и других дистрибутивах Linux на базе Ubuntu, таких как Linux Mint, элементарная ОС и т. Д., Вы можете использовать приведенную ниже команду для установки TestDisk:

sudo apt install testdisk

Пользователи Arch Linux могут установить его из AUR. Вы можете загрузить его для других дистрибутивов Linux по ссылке ниже:

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

Шаг 2

Запустите TestDisk в терминале, используя следующую команду:

Шаг 3

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

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

Шаг 4

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

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

Шаг 5

На этот раз Testdisk отобразит все ваши диски. Клавиша со стрелкой к соответствующему диску и нажмите enter.

Шаг 6

Testdisk снова выбрал правильную настройку. Это имеет смысл, поскольку простое запоминающее устройство редко разделяется. Снова нажмите enter:

Шаг 7

Мы прошли основные пункты, если говорить про Восстановление удаленных файлов Linux. И, наконец, мы должны немного подумать. Если вы читаете первый экран, и я готов поспорить, что вы этого не сделали, эта программа предназначена не только для восстановления удаленных файлов. Это мощная дисковая утилита. Но если мы помним, что мы пытаемся сделать выбор, это довольно очевидно: мы не пытаемся исправить диск, мы пытаемся восстановить файл. Выберите «Дополнительно» и нажмите «Ввод».

Шаг 8

В нижней части страницы выберите «Undelete » и приготовьтесь увидеть ваш файл!

Шаг 9

Testdisk будет проверять файлы и создавать список удаленных файлов, выделенных красным цветом. Стрелка вниз и внимательно прочитайте варианты внизу.

Шаг 10

Опять же, имейте в виду, что Testdisk — это многофункциональный инструмент. Большинство из этих вариантов относятся к группам файлов; мы только хотим, чтобы наш файл который был удален вернулся! Так что нажмите «c».

Как вы можете видеть на табло, мы выиграли со счетом 1: 0. После нажатия «c» есть варианты, где вы можете захотеть восстановить файл, но по умолчанию используется ваша домашняя папка. И снова это, как правило, самое лучшее. Навигация в Testdisk немного сложнее, а перетаскивание после того, как факт — легкий ветерок.

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

Несколько советов по восстановлению удаленных файлов в Linux с помощью TestDisk

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

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

Наконец, Testdisk также может помочь вам восстановить файлы, которые стали недоступными по другим причинам. Фактически, именно поэтому я начал использовать программу в первую очередь. Я пытался сохранить файлы с поврежденного диска, который нельзя было сделать для загрузки. Обычно это просто вопрос о том, чтобы удалить упомянутый диск, подключив его к USB-адаптеру. Затем вы можете подключить его на другом ПК и скопировать файлы, когда захотите.

Но что, если диск отформатирован в LVM ? Это была моя проблема, потому что установленный LVM-накопитель не похож на обычную ОС Linux. Ни один из обычных файлов не появляется, и охота вокруг просто не помогает. Это, помимо прочего, связано с тем, что большинство файловых менеджеров Linux больше не могут читать файловые системы ext.2.

Тем не менее, после нескольких ложных запусков, я смог найти и сохранить недостающие файлы. Обратите внимание, однако, что последовательность шагов здесь будет немного отличаться, вам может потребоваться использовать «анализ» для Testdisk, чтобы понять дисковод, и вам может потребоваться немного подтолкнуть, чтобы найти «домашнюю» папку как только сделаете. Кроме того, файлы, которые вы ищете, не будут отображаться красным цветом, поскольку они никогда не были удалены в первую очередь. Но как только вы их найдете, процедура копирования в основном такая же.

С Testdisk и немного удачи, вы никогда не потеряете свои файлы и видео снова, так как вы всегда можете восстановить удаленные файлы в Linux .

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

Выводы

Восстановление удаленных файлов Linux является очень быстрым и понятным. Даже начинающий пользователь Linux сможет разобраться, с помощью нашего руководства. Если статья была для вас полезной то, делитесь ею на своих страницах в социальных сетях Google+, Facebook, Twitter, ВКонтакте и Одноклассники. Это нам очень поможет. Давайте развивать наше сообщество вместе.

Также, если у вас остались вопросы по теме «Восстановление удаленных файлов Linux» - пишите их в форму комментариев.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .

Источник: 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.

Иногда так случается, что мы удаляем, как казалось бы ненужные файлы (изображения, видео, текстовые документы и пр.), а потом вдруг сожалеем об этом, т.к. среди удалённых, оказались нужные. Хорошо если мы удаляем файлы в Корзину , откуда очень просто восстановить, нажав сочетание клавиш Ctrl+Z и тогда все файлы, что находятся в Корзине будут восстановлены по своим прежним папкам или можно выборочно, кликнув правой кнопкой на нужный файл в Корзине и в контекстном меню - Восстановить .

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

Scalpel — простое высокодейственное средство восстановления файлов.
Scalpel — это средство быстрого восстановления файлов, которое читая из базы данных начало и конец файлов известных форматов, пытается найти их на диске. Уникальность данного ПО заключается в том, что оно не зависит от файловой системы. Поэтому, восстановление возможно как с FATx, NTFS, ext2/3 , так и с "голых" (raw) разделов . Инструмент может использоваться как для цифрового поиска информации, так и для восстановления файлов.

Scalpel есть в репозиториях практически всех дистрибутивах Linux . В Ubuntu и производных вы можете установить его из Центра приложений или выполнить команду в терминале на установку:

sudo apt-get install scalpel

После установки вы не найдёте в системном меню Scalpel , т.к. я упоминал выше, этот инструмент запускается из терминала определённой командой. Но прежде чем запустить команду на поиск безвозвратно удалённых файлов, вы должны в конфигурационном файле scalpel.conf раскомментировать строку (убрать знак решётки) с расширением нужного файла (Все типы файлов "по умолчанию" закомментированы). Выполните команду в терминале на открытие конфигурационного файла scalpel.conf:

sudo gedit /etc/scalpel/scalpel.conf

Примечание . В команде gedit (Ubuntu; Linux Mint Cinnamon) измените на название текстового редактора своего дистрибутива, установленного по умолчанию.

Для примера я выбрал поиск потерянных файлов изображений c расширением JPG и раскомментировал данную строку в открывшемся редакторе с файлом scalpel.conf :


Вы можете выбрать любой другой файл. Сохраните изменённый файл (Ctrl+S ) и закройте редактор.

И вот теперь нужно выполнить терминальную команду с инструментом
scalpel для поиска утраченных файлов:

sudo scalpel /dev/sda8 -o /home/vladimir /JPG /output/

sda8 - это раздел на ж/диске моей актуальной системы. Чтобы вам определить свой раздел и изменить его в команде, выполните команду:


В терминале должны отобразиться все разделы ж/диска. Как показано на снимке стрелкой, косой чертой или слешем отмечена точка монтирования моего раздела - sda8 , который я ввёл в команду. У вас должен быть отмечен свой.

/home/vladimir - это имя моей Домашней папки . Измените vladimir на своё.

/JPG - это название папки в команде, которая будет создана а вашей Домашней папке , куда будут сохранены все восстановленные файлы, которое вы также можете изменить на своё.

Итак, выполняем команду и ждём окончания восстановления:


Как видно на снимке, процесс поиска и восстановления файлов изображений с расширением JPG на моём компьютере будет происходить за два шага, а также время, в зависимости от объёма указанного раздела (ГБ) и количества изображений, находящихся на нём.
Сразу хочу сказать, что процесс не быстрый.

По окончании восстановления, откройте Домашнюю папку с правами администратора:

sudo nautilus

Вместо nautilus укажите название файлового менеджера своего дистрбутива (например: Linux Mint - nemo или сaja ; и т.п.).


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

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

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

В.Костромин (под ред. 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 сможет найти необходимые средства и инструменты для решения своих проблем.