Восстановление данных в Linux-системах
Ubuntu

Компьютерные компании разрабатывают и предлагают новые и быстрые и надежные носители для хранения важной каждому информации. Программисты, в свою очередь, разрабатывают новые надежные операционные системы, такие как, к примеру, Linux. Но, к сожалению, иногда все же даже с ними происходят неприятные истории. К примеру, кошка прошлась случайно по клавиатуре и, совершенно случайно, набрала команду удалить файл, который благополучно был стерт. Неправильная команда записывает всякий ненужный мусор вместо удаленного файлов в файловую систему. Драйвер, который почему-то глюканул, запросто может привести систему в бесполезное оборудование. Загрузив систему после долгого перерыва в работоспособности за ради последней версии DirectX-игрушки в Windows приносит вместе с собой некий вирус CIH, который зачастую начисто портит FAT. Что же тут делать?

Под операционные системы DOS или WINDOWS за все время их существования наплодили громадное множество разных утилит, помогающий восстановить данные — к примеру начиная от Norton Disk Doctor-а до громадных монстров что-то типа Tiramisu Desktop. Употребление таких утилит широко применяется общеизвестностью.

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

Однако, все не так плохо. Кое-какие действия для восстановления удаленных данных в линуксе все же есть.

Ознакомимся с возможными:

1) Делать частое резервное копирование.

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

Сначала — не обязательно сохранять образ всего диска. Большая часть программ уже присутствует в инсталляции системы, а вот тех, которых нет – намного проще слить и поставить новую версию, нежели что-то восстанавливать. Иерархия папок выстроена таким образом, чтобы обеспечить резервирование было проще. Большинство пользователей сохраняют свои данные в домашний каталог: /home. Возможно, если очень долго настраивать операционную систему, то какой-то определенный интерес может быть и в каталоге /etc. Начинка папки /usr практически никогда не имеет никакого интереса для резервной копии, а вот в /var только быстро генерируемые данные, которые тоже не стоят внимания. Все, это естественно, только тогда, как если не нарушен такой стандарт. Давайте рассмотрим внимательно содержимое. Может показаться, что практически все нужные данные можно запросто скопировать на нескольких носителях.

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

Кстати, восстановить любые данные помогут на сайте http://data-911.ru.

2) Совершенно случайно удаленный файл

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

Восстановить файл можно попытаться с помощью стандартной команды — debugfs, его действие и формат вызова легко можно найти набрав в консоли команду man debugfs

Кстати, очень удобное средство в линуксе вшито в Midnight Commander. Единая сложность в нем — в неком не простом способе запуска команды. При использовании нужно из-под root-а (чтобы получить полный доступ ко всему, что есть в системе) в терминале набрать нужную команду.

cd /#undel:<имя нашего раздела>

нужно описывать без части /dev/,к примеру, для самого первого раздела ide-диска будет

cd /#undel:hda1

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

Кстати — такие действия рекомендуется делать в single-user режиме на демонтированом разделе или в разделе имеющий атрибут read-only.

3) Пользуемся свопом

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

4) Повреждение диска на физическом уровне

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

Когда свободного места много, умным решением будет для начала сделать резервную копию образа раздела на иной раздел, а уже потом выполнять восстановительные работы с файлами файлов, обращаясь уже с ним как с отдельно взятой FAT-системой c помощью loopback – специального драйвера. Для этого копирования нужно использовать вшитую в систему команду dd, которая корректно переносит даже данные из bed-секторов, и не прекращает свою работу, если что-то не получилось, то есть работает пока не сможет что-то прочитать.

5) Тяжелое повреждение раздела ext2

Тут вроде как все понятно. существует утилита e2fsck для восстановления. Ее запустить и она сделает все сама, так же есть debugfs для тонкой настройки, им и ковыряют отдельные дефектные файловой системы. Все же, есть некоторые нюансы.

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

Но, в линуксовых системах этот блок, не однократно дублируется. Копии такого блока могут быть в разделе через определенные одинаковые промежутки, размер которых варьируется в зависимости от размера кратные некоторой степени 2. Таким образом можно воспользоваться стандартным пакетом ext2fstools. Она выдаст целый список подобных на такой блок блоков, и по ним же очень легко определить, где же идет такой блок, а где обычное совпадение. Найдя его, можно указать его утилите e2fsck с ключом -b. Обычно в этих случаях e2fsck нужно выполнить дважды: первый раз используя ключь -n, что б удостоверится, что указание нашего блока имеет нужные данные, а потом уже с ключом -y, чтобы сделать нужные изменения.

В папках lost и found можно поискать те файлы, которые команда e2fsck не могла поставитьна нужное место. После реставрации этим методом, работоспособность системы в данном каталоге часто имеют файлы с непонятными названиями и не верными правами, которые не в силах удалить даже пользователь с правами root. Такие файлы удаляются средствами debugfs.

6) Повреждения FAT

Это – очень популярный способ порчи, который использует вирус. Вылечить довольно просто – составляем такую же FAT, какая была. Дело в том, когда раздел один тогда вполне достаточно запустить fdisk.

Спором, при определении границ разделов может быть распределение блоков и суперблоков, которые определяются утилитой findsuper.

Вообще и команды, которые помогают восстановить данные, сами пытаются создать свои FAT к примеру TestDisk и gpart.

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