Восстановление данных в Linux: Введение

From Wiki
Revision as of 12:41, 13 February 2013 by Sancho (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
Book.png




ВВЕДЕНИЕ

Многие из нас сталкивались с ситуациями, когда случайно был удалён нужный файл, либо виру­сы «погрызли» самые интересные фотографии из Турции, либо по каким-либо другим причинам были потеряны важные данные.


В интернете можно найти много программ, позволяющих восстановить потерянные данные. Есть как бесплатные утилиты (например, Recuva, UndelePlus, R.Saver, PC Inspector File Recovery, Pandora Recovery и т. д.), так и платные (Ontrack EasyRecovery, BadCopy Pro, RecoverMyFiles, GetDataBack и т. д.). Также предлагается много программ для восстановления потерянных фото­графий с флэшек, стоимость которых начинается от 199 рублей (западные — от 30 долларов) и выше. Какие-то из них эффективны, другие — не очень, но практически у всех есть один недоста­ток: они работают только в системе Windows. А как же быть пользователям других систем, таких как Linux, популярность которой с каждым днём набирает обороты?


Оказывается, для неё тоже имеются мощные инструменты восстановления данных, которые в от­личие от Windows и MacOS в большинстве случаев являются бесплатными, но работают в основном только в консоли. Более того, для восстановления данных независимо от файловых систем реко­мендуется использовать именно систему Linux, и на то есть несколько веских причин:


  1. если к компьютеру с системой Windows подключить сбойный жёсткий диск, то она может и не загрузиться;
  2. во время работы система Windows (даже в режиме LiveCD) производит записи на жёсткий диск без ведома пользователя, что снижает вероятность полноценного восстановления данных;
  3. как известно, Windows без антивируса — это мёртвая Windows, но антивирусы могут тормо­зить процесс восстановления данных, попутно удаляя восстановленные файлы, которые они оши­бочно могут принять за вирусы; даже если антивирус отключить, его ядро всё равно остаётся вклю­ченным и продолжает работать;
  4. в составе систем Linux есть собственные мощные инструменты, которые могут спасти поло­жение в сложных ситуациях, когда кажется, что всё безнадёжно; например, утилита ddrescue пре­красно копирует диски со сбойными секторами, создавая образы, с которыми потом сможет рабо­тать любая программа;
  5. из любой системы Linux можно создать загрузочный диск или флэшку, предварительно уста­новив в создаваемую систему все необходимые программы; можно конечно же сделать подобный диск и из системы Windows, но во-первых, это нарушит лицензионное соглашение, а во-вторых, в некоторых случаях он окажется бесполезен (см. п.1 и 2);
  6. для корректного распознавания жёстких дисков в Windows придётся включать драйвера чипсетов и RAID-контроллеров; это особенно актуально для загрузочных дисков на базе WindowsXP;
  7. для систем Windows загрузочная флэшка как правило форматируется в раздел NTFS или FAT32; достаточно одного некорректного выключения компьютера или завершения работы с такой флэшкой, чтобы она потеряла свои загрузочные способности; загрузочные флэшки на базе системы Linux и файловой системой ISOFS в этом плане гораздо стабильнее.

Недостатки можно перечислять и дальше, но для этого потребуется отдельная статья.


Почитать обзоры некоторых утилит для системы Linux можно на сайтах:

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

  • Флэшка №1 — типа SD из фотоаппарата объёмом 2 ГБ, на которой было записано 512 фотогра­фий в двух разных папках (в одной — 356, в другой — 156);
  • Флэшка №2 — моя рабочая USB-флэшка на 8 ГБ, на которой была всякая всячина общим коли­чеством 1192 файла в 146 папках.

Для усложнения задачи обе флэшки были очищены под Windows XP в режиме полного формати­рования.


В качестве дополнительного эксперимента я пробовал восстановить данные с диска DVD-RW, на котором был записан 21 мультфильм в формате AVI размером от 90 до 200 МБ, затем диск был отформатирован программой Nero в режиме «быстрого стирания». Что из этого получилось, чи­тайте ниже.


Благодарности

За помощь в подготовке статьи хочется выразить благодарность Дмитрию Сидорову — автору программы DMDE (её описание приведено ниже) — за предоставленную копию DMDE Professional для тестирования, а также за консультации по особенностям восстановления данных с различных файловых систем и некоторые замечания.


Рекомендации

Перед тем, как восстанавливать данные, нужно знать несколько вещей:

  1. носитель (жёсткий диск, флэшка, дискета и т. д.) обязательно должен быть доступен системе; если жёсткий диск или флэшка в компьютере никак не определяются, значит, программы восста­новления данных окажутся бесполезны, в этом случае вам поможет только дорогое специализиро­ванное оборудование (например, комплекс PC-3000 от компании «ACE Laboratory») или фирма, у которой это оборудование есть в наличии;
  2. если вы потеряли нужные файлы, ни в коем случае на этот носитель нельзя ничего сохранять, иначе новые файлы могут записаться поверх старых, и вероятность восстановить нужные данные резко падает;
  3. если на диске появились проблемы физического характера («плохие» секторы, посторонние звуки, диск уронили и т.д.), то при наличии особо важных данных лучше сразу его отключить и обратиться к специалистам, в противном случае после собственных неудачных попыток сложность и стоимость восстановления на специализированном оборудовании может существенно возрасти, либо можно безвозвратно добить бесценные данные, если диск в процессе сканирования «умрет»;
  4. если вы потеряли важные данные в результате неудачных операций с жёстким диском (напри­мер, переразметка или форматирование в другую систему), попробуйте сначала восстановить преж­нюю таблицу разделов; очень большая вероятность, что после такого восстановления все ваши дан­ные окажутся в целости и сохранности;
  5. если в вашем компьютере использовался RAID-массив и данные были потеряны в результате его разрушения, не торопитесь его восстанавливать; для таких случаев существуют утилиты, позво­ляющие создать «виртуальный RAID» и далее работать с ним как с реальным, а в некоторых ком­мерческих программах восстановления данных эта функция уже включена; после реконструирова­ния RAID-массива для безопасности желательно создать его полный образ и далее работать уже с ним;
  6. если на диске, с которого будет проводиться восстановление, установлена какая-либо систе­ма, крайне нежелательно загружать её и использовать для запуска программ восстановления, осо­бенно если эта система — Windows; для таких случаев рекомендую создать загрузочный диск или флэшку на базе системы Linux с включенными в неё необходимыми программами восстановления; как сделать загрузочную флэшку на базе систем Debian или Ubuntu, описано в самом конце статьи;
  7. перед тем, как восстанавливать данные, желательно запастись вторым носителем (жёстким диском, флэшкой), на который будут записываться восстановленные файлы; поскольку вместе с нужными файлами восстанавливается много «мусора», который по объёму может в несколько раз превышать объём полезной информации, позаботьтесь заранее о том, чтобы на втором носителе было достаточно свободного места;
  8. процесс восстановления данных довольно длительный, особенно когда сканируются жёсткие диски, поэтому желательно, чтобы во время сканирования компьютер был подключен к блоку бес­перебойного питания.
  9. перед тем, как запускать программу восстановления, нужно создать папку, куда будут копи­роваться восстановленные данные; папка ни в коем случае не должна располагаться на том же раз­деле, с которого ведётся восстановление, а в идеальном случае её нужно создать вообще на другом диске;
  10. во время восстановления процессор довольно сильно нагружается, поэтому желательно за­крыть все программы, отключить антивирусы (если они установлены), хранитель экрана и т. д., что­бы ничего лишнего не мешало процессу.
  11. если вы пытаетесь восстановить данные с повреждённого диска (например, с плохими секто­рами), то лучше всего создайте образ этого диска в посекторном режиме, дабы сканирование не до­било всю информацию до конца; сделать это можно при помощи бесплатных утилит dd, ddrescue, encase и т. д.; сделать образ раздела в посекторном режиме утилитой dd можно при помощи ко­манды:
    sudo dd if=/dev/sdXY of=/<path_to_folder>/disk_image.dd bs=512 conv=sync,noerror
    В этой команде X — порядковая буква диска в системе, Y — порядковый номер раздела (оба параметра можно посмотреть командой fdisk -l); /<path_to_folder> — полный путь до ката­лога, куда сохраняем образ; bs=512 — размер блока, записанный за один раз (в данном случае 512 байт, но можно установить размер, равный размеру кэша диска, например, 8M); conv=sync,noerror — копирование всего диска бит-в бит, пропуская ошибки чтения; эти два параметра конечно же за­медлят процесс создания образа, но это нужно для более высокого результата восстановления.

    Если нужно восстановить данные с флэшки или компакт-диска, то имеет смысл создать образ всего диска, в этом случае вместо раздела /dev/sdXY указываем весь диск целиком /dev/sdX.
  12. если для восстановления данных нужно получить какую-либо дополнительную информацию о диске (число цилиндров, головок, количество секторов на дорожку, размер сектора и т. д.), в Unix-системах это можно сделать при помощи команды
    sudo fdisk -l
  13. поскольку все программы работают только под профилем root'а, то после работы необходи­мо восстановленные данные сделать доступными обычному пользователю командой:
    sudo chown -R USER:GROUP /home/USER/recovery
    Вместо USER и GROUP указываем нужные имя пользователя и группу, recovery — папка для восстановленных данных.


Что ещё нужно знать

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

  • восстанавливается только содержимое файлов без имени и начального местоположения;
  • в этом режиме стопроцентного восстановления всех файлов не гарантирует ни одна программа;
  • успех восстановления файлов некоторых форматов (особенно редких) зависит от того, «знако­ма» ли с ними программа восстановления, которую вы используете; файлы, не имеющие своего формата, например текстовые, созданные в Notepad, не восстанавливаются;

У фрагментированных файлов правильно восстанавливается только начальный фрагмент, поэто­му:

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

Режим RAW рекомендуется применять только в крайних случаях, когда восстановление по файловой системе невозможно.


При форматировании раздела с файловой системой FAT полностью очищаются таблицы FAT и корневая директория, поэтому все файлы и имена папок, которые были расположены в корне флэшки, не восстанавливаются (файлы можно восстановить только в режиме RAW), а фрагменти­рованные файлы восстанавливаются некорректно; с разделами NTFS такой проблемы нет.


Windows XP в режиме «полного форматирования» очищает разделы точно так же, как и в «быстром», но попутно производит тестовую запись во все сектора с последующим возвращением исходных данных для проверки состояния носителя, а вот системы Windows Vista и Windows7, а также специальные утилиты форматирования, в «полном» режиме очищают всё целиком, что дела­ет невозможным любое восстановление данных, так что будьте внимательны!


При восстановлении данных с файловых систем EXT2/3/4 раздел, с которого ведётся восста­новление, обязательно должен быть отмонтирован, поэтому программу восстановления желательно запускать с загрузочного диска LiveCD или LiveUSB.


На файловых системах EXT2/3/4, ReiserFS, XFS (Linux), UFS1/2 (FreeBSD), HSF/HFS+/HFSX (MacOS) при удалении файла сразу же удаляется вся информация о нём, поэтому после формати­рования раздела данные можно восстановить только в режиме RAW.


Помните: самым надёжным средством от потери важных данных являются резервные копии (бэкапы), своевременно созданные на других носителях!













К началу страницы