Простой способ восстановить удаленные файлы. Ubuntu: восстановление удаленных файлов Восстановление данных с жесткого диска ubuntu

Ext2/3/4FS (созданные в Linux или другой ОС), FAT12, FAT16, FAT32, NTFS, NTFS5 (созданные или измененные в Windows 2000/XP/2003/Vista/7/8), exFAT, ReFS, APFS, HFS+, HFSX, HFS и UFS1, UFS2, UFS BigEndian (использующиеся в ОС FreeBSD, OpenBSD и NetBSD).

Поддержка стандартных уровней RAID: набор томов, 0, 1, 4, 5, 6. Поддержка вложенных и нестандартных уровней RAID: 10(1+0), 1E, 5E, 5EE, 6E. Поддержка задержки контроля четности для всех соответствующих уровней RAID. Поддержка пользовательских схем RAID.

Автоматическое распознавание параметров RAID. R-Studio способна распознавать все параметры для RAID 5 и 6. Это позволяет пользователю решить одну из наиболее трудных задач при восстановлении RAID - определение его параметров.

Новый улучшеный алгоритм для восстановления файлов по их сигнатурам: данная функция позволяет распознать типовые характеристики структур распространенных типов файлов и восстановить данные с устройств, на которых файловая система повреждена или неизвестна (HDD, CD, DVD, дискет, USB дисков, ZIP дисков, устройств флеш-памяти (Compact Flash Card, memory sticks) и других съемных носителей).

Пользовательские известные типы файлов. Пользователь может создавать и добавлять в состав R-Studio новые типы файлов любой степени сложности для их точной идентификации.

Поддерживаемые Операционные Системы: файлы могут быть восстановлены , на которых установлены ОС Win2000, XP, Vista, Win7, Win8, Mac OS X или Linux и определенные ОС платформы UNIX.

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

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

Создание файла-образа: при помощи R-Studio можно создать файл-образ целого физического диска, логического диска или раздела. Такие образы являются точными копиями объектов и совместимы со всеми предыдущими версиями R-Studio.

Дополнительные возможности при создании файла-образа (другой формат файла-образа): образы могут быть разделены на неколько частей, сжаты и защищены паролем. Они совместимы только с текущими версиями R-Studio и с программой R-Drive Image.

Создавать образ и сканировать копируемые данные можно одновременно.

Модуль копирования диска: возможно побайтное копирование любого объекта панели Диски (Drives), а также копирование разделов и жестких дисков с изменением их параметров.

Шестнадцатиричный дисковый и файловый редактор: поддерживает хранение нерезидентного атрибута файла NTFS. Позволяет анализировать данные и представлять их в соответствии с различными шаблонами данных (в т.ч. пользовательскими). Также показываются файлы, расположенные в конкретных секторах.

Загрузочное устройство R-Studio Emergency. R-Studio Emergency запускается с внешнего USB диска, CD/DVD или комплекта дискет. Это весьма полезно тогда, когда необходимо восстановить данные с компьютера, который не загружается по причине повреждения файловой системы.

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

Мониторинг параметров S.M.A.R.T. R-Studio может отображать параметры S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) для жестких дисков которые показывают состояние их аппаратной части и предсказывать их возможные отказы. Нужно избегать любую дополнительную нагрузку на такие диски если появляются предупреждения от системы S.M.A.R.T. Иконки жестких дисков в Drive View (панель Диски) используются для показа общего состояния S.M.A.R.T. для дисков.

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

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

В Ubuntu и его производных:

Sudo apt-get install testdisk

Также данная программа существует как для Windows, так и для MacOS. Установочные пакеты можно найти на сайте производителя www.cgsecurity.org/wiki/TestDisk_Download. Существуют готовые загрузочные образы в виде ISO для записи на CD или USB флешки www.cgsecurity.org/wiki/TestDisk_Livecd.

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

Команда для вызова программы в терминале Linux:

Выберете нужный диск с помощью клавиш со стрелками и нажмите Enter.

В следующем меню выберите и нажмите ввод.

Затем выберите Расширенный

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

Вы увидите длинный список файлов, которые вы можете попытаться восстановить (обратите внимание, что не все из них могут быть восстановлены). Вы можете пролистать список с помощью клавиш со стрелками вверх / вниз, а также Page Up и Page Down. Если имя файла, не влезает в окно терминала, то вы можете развернуть это окно.

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

А если вы нашли потерянный файл в программе TestDisk, тогда нажмите клавишу С на клавиатуре, затем TestDisk спросит вас, куда восстановить данный файл, нажмите Enter и выбранный файл восстановиться. TestDisk вернет вас обратно в список файлов для восстановления.

После того как вы восстановили ваши файлы, можете закрыть окно программы.

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

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

Существуют 2 варианта восстановления данных в системе Линукс – непосредственно с жесткого диска системы и с флешки.

Восстановление данных жесткого диска Linux

Файловые системы, используемые во всех ОС, не только в Unix-подобных, организованы таким образом, что не дают удаленному файлу пропасть бесследно. То есть, если файл был создан и находился на жестком диске, значит, он занимал некоторое пространство и был внесен в список ссылок среди других объектов.

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

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

Восстановление данных с флешки Linux

Так как в Linux «Корзина» работает слегка иначе, чем в Windows, первым делом следует ее проверить. Удаленные обычным методом файлы, без очистки корзины после этого, хранятся именно там. Для восстановления достаточно подключить накопитель, зайти в корзину и восстановить объект.

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


Программы для восстановления файлов в Linux

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

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

Самая распространенная программа для работы с разделами в Linux. Однако не со всеми дистрибутивами она идет в комплекте. Не самый надежный помощник в подобных операциях, но попробовать ее, как вариант, стоит.


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

Scalpel Linux – небольшой инструмент, специализирующийся на восстановлении удаленных файлов с EXT4 разделов и других файловых систем. Он имеет в своем арсенале базу данных по типам ФС и о форматах данных, что делает его универсальным. Ведь во время сканирования он сверяет остатки записей на жестком диске или флешке с собственным списком, и при обнаружении совпадений приступает к восстановлению удаленных файлов Linux.

Установка и использование просты:


Более наглядно процесс можно увидеть здесь:

Восстановление данных Ubuntu с TestDisk

TestDisk также может помочь в восстановлении файлов из-под Linux, но несколько иначе. Дело в том, что данный софт нацелен не на извлечение данных с накопителей, а для тестирования и восстановления работоспособности созданных на них разделов.

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

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

Определяя ошибки информации, TestDisk может воссоздать потерянные разделы в различных ФС, таких как, например, FAT, NTFS и EXT4. Даже если раздел ранее был удален, найдя его следы, программа сможет исправить зависимости, не позволяющие корректно обращаться к файлу. Программа доступна в официальном репозитории Canonical. Для того чтобы приступить к восстановлению данных с жесткого диска Ubuntu, нужно выполнить инструкцию:


Восстановление данных Линукс с Safecopy

Safecopy – простой инструмент для взаимодействия с разделами и данными. Он не помогает в восстановлении данных с флешки Ubuntu, однако сможет скопировать объекты с поврежденного носителя на здоровый. Ее преимущество состоит в полном игнорировании возникающих при считывании и копировании фалов ошибок. Что может лучшим образом сказаться на попытке сохранить мультимедийные файлы.

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

Для работы с программой нужно:


Как удалить файл на Ubuntu

Для того чтобы удалить файл в Ubuntu, есть много способов. Но также все зависит от того системный файл это или пользовательский. Понять это просто. Все, что находится до директории /home, – системные файлы, внутри же нее – пользовательские.

О восстановлении данных с файловых систем Linux не писал только
ленивый. Для выполнения этой задачи существует множество самых разнообразных
средств, включая утилиту debugfs, которая с легкостью извлекает любые потертые
файлы с ext2. Но как же быть с другими ФС? Как восстановить исчезнувший файл с
флеш-брелка или расположенного рядом NTFS-раздела? Об этом молчат даже самые
трудолюбивые блоггеры. А между тем, все очень просто и прозаично.

Не всегда удобно перезагружаться в другую операционную систему для выполнения
действий по проверке файловых систем, восстановления файлов, изменения размера
разделов и выполнения других операций с данными. Представь, что уже несколько
лет на твоем компе установлено две операционные системы: Windows и Linux. Первую
ты загружаешь очень редко и только в экстренных случаях, второй пользуешься
ежедневно и уже подумываешь о полном переходе на Linux и удалении винды, вот
только NTFS-раздел, хранящий годами накапливаемые данные, перевести в ext3
нельзя никакими инструментами. Приходится держать две операционки, потому что
хоть NTFS-раздел и доступен из Linux (с помощью ntfs-3g), для решения проблем
файловой системы все равно придется перезагружаться в Windows.

А если накрылась файловая система FAT на Flash-накопителе? Опять
перезагружаться в Windows? Или ты случайно удалил файл в файловой системе UFS,
принадлежащей рядом установленной FreeBSD? Может быть, ты системный
администратор, и диска для восстановления Windows в нужный момент не оказалось
под рукой? Отвечу на все вопросы сразу: почти все действия по возвращению из
небытия файловых систем FAT, NTFS, UFS, восстановлению хранящихся в них файлов,
диагностике и многому другому можно произвести, не покидая Linux. Из этой статьи
ты узнаешь, как это сделать.

Набор инструментов

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

1. dosfstools - утилиты для работы с файловыми системами типа FAT.
Пакет содержит всего две программы: mkfs.vfat (mkfs.dos) для создания файловой
системы и fsck.vfat (fsck.dos) для выполнения проверки файловой системы.

2. ufsutils - набор утилит для работы с UFS и производными (например,
FFS, используемой во FreeBSD). Содержит восемь утилит, включая mkfs.ufs,
fsck.ufs, tunefs.ufs (настройка ФС), growfs.ufs (изменение размера) и другие.

3. ntfsprogs - различные утилиты для работы с NTFS. Не содержит
программ для создания или полной проверки (базовая проверка возможна) файловой
системы, но включает в себя массу полезнейших инструментов, таких как ntfscp для
копирования файлов без монтирования раздела, "реинкарнатор" файлов ntfsundelete,
утилита для изменения размера раздела ntfsresize, программа для клонирования
разделов ntfsclone и другие.

Также нам могут пригодиться инструменты для работы с разделами жесткого
диска. Есть три наиболее продвинутые программы такого типа:
parted ,
предназначенная для создания разделов, изменения их размера, перемещения,
создания и проверки файловых систем;
gpart -
программа-восстановитель затертой таблицы разделов и
TestDisk -
аналог gpart с псевдо-графическим интерфейсом и несколькими полезными функциями.

Следует отметить, что parted - лишь хорошая обертка поверх описанных утилит
для работы с файловыми системами, поэтому почти все, что может parted, могут и
они. Причем вокруг самой parted есть и другая обертка, названная
. Она
всего-навсего создает удобный графический GTK-интерфейс в стиле Partition Magic.

В пакете TestDisk ты найдешь утилиту PhotoRec, предназначенную для
восстановления различных типов файлов с раздела вне зависимости от используемой
файловой системы. Принцип ее работы заключается в поиске и восстановлении файлов
по их метаданным без анализа структуры файловой системы. PhotoRec способна
восстанавливать изображения (bmp, jpg, png, tiff, raf, raw, rdc, x3f, crw, ctg,
orf, mrw), аудио-файлы (wav, au, mp3, wma), видео-файлы (avi, mov, mpg), архивы
(bz2, tar, zip), документы (doc, pdf, html, rtf), файлы с исходниками программ (c,
pl, sh). Ряд программ такого же типа можно найти в пакете
Sleuth Kit , для которого
существует web-интерфейс autopsy.

Сценарии использования

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

Кастим ressurection

Для оживления умерших файлов на NTFS предназначена уже упоминавшаяся
ntfsundelete из пакета ntfsprogs. Она очень проста в использовании и чрезвычайно
аккуратна. Если ты случайно потер файл и сразу же отмонтировал раздел, будь
уверен - ntfsundelete сможет вернуть его на место в целости и сохранности.

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

# ntfsundelete /dev/sda1

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

# ntfsundelete -p 100 /dev/sda1

Ух, как же их много! Заставим программу вывести на экран только файлы,
удаленные за последние 2 дня:

# ntfsundelete /dev/sda1 -p 100 -t 2d

Так-то лучше. Восстановим файл, номер inode (первая колонка вывода) которого
равен 11172, в каталог /undeleted:

# ntfsundelete /dev/sda1 -u -i 11172 -d /undeleted

Файлы можно восстанавливать по маске:

# ntfsundelete /dev/sda1 -u -m "*.doc"

Фильтровать по длине:

# ntfsundelete /dev/hda1 -S 5k-6m

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

# ntfsundelete /dev/sda1 -u -m "*" -d /undeleted

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

Для восстановления данных со всех остальных файловых систем, включая FAT, UFS,
EXT3, да и любых других, удобнее всего использовать PhotoRec. Запускаем
программу:

В главном меню выбираем подопытное устройство (например, /dev/sda). Нажимаем
и выбираем тип таблицы разделов (для писюков это Intel). Далее выбираем
раздел, а на следующем экране - тип файловой системы (ext2/ext3 или другая).
Задаем каталог, куда мы хотим поместить восстановленные файлы, и нажимаем "Y".
Каталог должен находиться на другом разделе/диске, иначе ты рискуешь усугубить
ситуацию, затерев удаленные файлы новыми данными.

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

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

  1. Достаточно часто он дает сбои, и файлы могут оказаться поврежденными,
    поэтому их следует проверять на "небитость" в обязательном порядке.
  2. Программа ищет файлы по шаблонам. Если ты удалил файл, формат которого
    не поддерживается PhotoRec - пиши пропало.

Поэтому в довесок к photorec необходимо иметь под рукой другие средства
анализа и восстановления утраченных данных. Лучшим на этом поприще считается
комплект утилит Sleuth Kit ,
содержащий огромное количество самых разнообразных инструментов, которые любят
применять в своей работе различные службы по расследованию инцидентов взлома и
продвинутые системные администраторы. Мы далеки от этого, и нас интересуют
только две утилиты из всего комплекта: fls и icat, предназначенные для поиска и
извлечения файлов (как существующих, так и удаленных).

Просмотрим список удаленных файлов с помощью утилиты fls:

# fls -rd /dev/sdb1
r/r * 117: dsc0005.jpg
r/r * 119: dsc0006.jpg
r/r * 122: dsc0007.jpg
r/r * 125: dsc0008.jpg
r/r * 128: dsc0009.jpg

Флаг "-r" заставляет программу рекурсивно проходить по всем каталогам, а "-d"
- показывать только удаленные файлы.

Скорее всего, листинг будет очень длинным, и к тому же будет содержать список
inode, которые уже были отданы другим файлам (строчка realloc в третьей
колонке), поэтому мы его отфильтруем и направим в less:

# fls -rd /dev/sda1 | grep -v "(realloc)" | less

В третьей колонке ты увидишь номера inode-файлов, а в четвертой - их имена.
Чтобы выдернуть файл из ФС, воспользуйся командой icat (флаг "-r" предназначен
для восстановления удаленного файла):

# icat -r /dev/sda1 1023 > /home/vasya/tmp/my_file

Для восстановления всех файлов можно воспользоваться следующей командой:

# for i in `fls -rd /dev/sda1 | grep -v "(realloc)" |\
awk {"print $3"}|tr -d [:]`; do icat -r -f fat /dev/sdb1 $i >\
/home/vasya/tmp/inode-$i ;done

Если ты желаешь найти какой-то конкретный файл, то вывод fls можно просто "погрепать":

# fls -rd /dev/sda1 | grep -v "(realloc)" | grep my_file.jpg

Замечательная особенность утилит Sleuth Kit состоит в том, что они используют
множество самых разнообразных методик поиска удаленных файлов и их частей. Это и
анализ управляющих структур файловой системы, и различные эвристические методы,
и сопоставление с шаблоном. Фактически, с помощью Sleuth Kit возможно вернуть к
жизни даже файлы, затертые на ext3 (притом, что сами разработчики ext3 говорят о
невозможности проведения такой операции).

Починка файловых систем

Починить поломавшуюся файловую систему очень просто. Достаточно
воспользоваться стандартными утилитами fsck.vfat (для файловых систем FAT12,
FAT16 и FAT32), fsck.ufs (для UFS, UFS2, FFS) и ntfsfix (для NTFS).

К сожалению, ntfsfix не способна полностью вылечить NTFS. Она лишь исправляет
некоторые из ее проблем и устанавливает флаг принудительной проверки файловой
системы, так что следующая перезагрузка в Windows повлечет за собой запуск
chkdsk для полной проверки ФС.

Используя виртуальную машину, мы можем избежать необходимости перезагрузки в
Windows. Для этого:

  1. Запускаем виртуальную машину и устанавливаем винду на виртуальный
    жесткий диск.
  2. Отмонтируем раздел, содержащий файловую систему NTFS.
  3. Запускаем виртуальную машину, в качестве первого жесткого диска которой
    указываем виртуальный диск с Windows, а второго - наш настоящий жесткий
    диск.
  4. С помощью стандартных средств Windows запускаем проверку NTFS-раздела.

Копирование разделов

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

Пользователи UNIX клонируют разделы с помощью стандартной утилиты dd, которую
можно применять в связке с любой файловой системой. Для этого на новом диске
создается раздел, идентичный по размерам источнику, и выполняется команда "dd if=раздел1
of=раздел2 bs=1m". Таким же образом можно скопировать и NTFS-раздел, но в пакете
ntfsprogs для этой цели есть более подходящая утилита.

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

Для клонирования раздела достаточно выполнить следующую команду:

# ntfsclone --overwrite /dev/hda1 /dev/hdb1

А для создания образа:

# ntfsclone --save-image --output backup.img /dev/hda1

Утилита ntfsclone особенно удобна, если ты решил скопировать установленный
Windows на целый парк других машин (учебный класс или офис). Для этого
достаточно установить Windows на одну машину и создать образ, который затем
можно выложить в шару и с помощью Linux LiveCD залить на другие машины. Чтобы
они смогли загружаться, придется также скопировать MBR-запись диска:

# sfdisk -d /dev/sda > /share/sda-sfdisk.dump
# dd if=/dev/sda bs=512 count=1 of=/share/sda-mbr.dump

А затем записать ее на диск всех машин:

# sfdisk /dev/sda < /share/sda-sfdisk.dump
# dd if=/share/sda-mbr.dump of=/dev/sda

Перенос данных

Что делать, если ты решил полностью перейти на Linux, но не хочешь
использовать различные ухищрения и ntfs-3g для доступа к своим старым данным,
расположенным на NTFS-разделе? Ведь этот раздел может занимать большую часть
диска, и нет никакой возможности просто скопировать его содержимое на новый
раздел, отформатированный в ext3/ext4. В этом случае тебе на помощь опять придут
утилиты из пакета ntfsprogs, а точнее одна из них - ntfsresize, которая позволит
копировать данные небольшими порциями в новую файловую систему с последующим
уменьшением размера NTFS-раздела и увеличением ext3/ext4-раздела. Для этого тебе
понадобится какой-нибудь LiveCD, содержащий ntfsprogs и e2fsprogs версии не ниже
1.41 (для поддержки ext4, если ты, конечно, собираешься переносить данные на
нее). Также очень желательно, чтобы LiveCD содержал свеженький gparted, потому
что изменять размер вручную трудно и опасно (кроме изменения размера самой ФС,
предстоит менять размер раздела с помощью fdisk, одна ошибка и всю операцию
придется начинать сначала).

Итак, загружаемся с LiveCD и монтируем разделы жесткого диска. Допустим, его
размер составляет 120 Гб. Из них 80 Гб - под завязку набитый NTFS-раздел, а
остальные 30 Гб (да, именно 30, после перевода маркетинговых гигабайт в
настоящие объем диска оказывается равным примерно 111 Гб) - это раздел с
установленным Linux, занятость которого составляет 5 Гб. Значит, наше "окно"
равно примерно 25 Гб. Перемещаем файлы с NTFS-раздела на ext3/ext4-раздел до тех
пор, пока их совокупный размер не станет равен размеру окна. В результате
последний оказывается полностью заполненным, а первый "худеет" на 25 Гб.
Отмонтируем оба раздела и запускаем gparted. Выбираем NTFS-раздел, жмем вторую
кнопку мыши, выбираем Resize/Move и уменьшаем раздел на размер окна, выбираем
ext3/ext4-раздел и увеличиваем его на тот же размер окна (раздел придется
сдвинуть к началу диска, а затем увеличить). Так мы получаем еще 25 Гб
освободившегося места, что позволит нам скопировать часть файлов, а затем вновь
изменить размер. Четыре таких прохода, и мы полностью удаляем NTFS-раздел, а
раздел ext3/ext4 расширяем на весь диск.

Выводы

Как ты смог убедиться, Linux умеет не только работать с множеством сторонних
файловых систем, но и оснащен массой утилит для их модификации, проведения
диагностики и выполнения других операций. Ты никогда не окажешься в безвыходной
ситуации, держа под рукой LiveCD на базе Linux, который как раз и является тем
самым Святым Граалем любого системного администратора и пользователя.

WWW

Foremost, еще одна популярная программа для
восстановления файлов по шаблонам.

www.sysresccd.org -
System Rescue CD содержит все упомянутые в статье программы.