| Предполагается, что все восстанавливаемые данные можно скопировать намашину с Linux либо имеется USB-диск достаточного объема. В любомслучае для попытки успешного восстановления данных необходимо иметьобъем свободного места, равный объему диска для восстановления иплюсом, по меньшей мере, 2 гигабайта. Чем больше у вас свободногоместа, тем легче будет работать с данными. В обратном случаевероятность успешного заверешения процесса снижается. Если ситуация становится совсем критичной, то рекомендую вампопробовать сторонние утилиты, такие как Coroner’s Toolkit, но имнеобходимо гораздо больше свободного места для успешной работы. Какправило, необходимый объем места для подобных программ равняетсяудвоенному размеру диска, который необходимо восстановить.Я предполагаю, что читатель свободно себя чувствует в команднойстроке Linux и может выполнять базовые операции по работе с файловойсистемой (т.е знаком с такими командами как, например, cp, mv, rm, ls ит.п.) В данном случае командная строка является более предпочтительныминтерфейсом, нежели GUI. Когда на карту поставлены данные, лучшепользоваться узкоспециализированными утилитами для выполнения всехдействий и иметь полный контроль над процессом.Команды, используемые в этом документе, являютсяобщеупотребительными в среде Unix и могут легко использоваться намногих платформах. Но некоторые сложные скрипты могут потребоватьповторного прочтения man-страниц.Несколько предупреждений Важно понимать, что операция по восстановлению данных - это достаточнорискованный процесс, неудачное завершение которого может привести кполной потере информации. В тех случаях, когда вы явно не можете решитьпроблему самостоятельно, лучше сразу обратиться к специалистам, которыемогут разобрать диск и восстановить данные на специальном оборудовании,нежели продолжать попытки. Но работа специалистов достаточно дорога иследует сравнить стоимость данных со стоимостью работы.И напоследок: если образы дисков снимаются для юридических целей, тофиксируйте процесс при помощи авторитетного представителязаконодательных органов, который сможет подтвердить легальность вашихдействий при судебном расследовании. Но эта тема выходит за рамкистатьи.Создание образа Первым шагом при восстановлении данных обычно является создание образавосстанавливаемых разделов и сохранение их на другом носителе.Например, на другом винчестере, USB-диске или сетевой папке.Созданием образа мы преследуем две цели: первое - мы получаем правона ошибку и возможность вернуться к старту процесса в случае неверныхдействий. И второе - мы перестаем проводить операции ввода/вывода споврежденным устройством, что необходимо для обеспечения егодальнейшего функционирования.Самое простое - это создать собственный образ для каждого восстанавливаемого раздела.Жесткие диски в Linux обычно находятся в каталоге /dev/ и имеютнекоторые правила именования, которые нужно запомнить. IDE дискиначинаются с букв “hd”. Третья буква означает “статус” диска. a (hda) -это primary master, b (hdb) - primary slave, c (hdc) - secondary masterи d (hdd) - secondary slave. Все остальные устройства хранения данных(к ним относятся USB, SATA и SCSI-диски) подключаются черезSCSI-интерфейс и начинаются с букв “sd” В ядре версии 2.4 былавозможность подсоединить IDE-привод через SCSI-интерфейс, но нам это непонадобится.После подготовки всех “кандидатов” на восстановление, их неплохо быпроверить при помощи команды sfdisk -l Это лучше, чем fdisk, так какпосылаемые команды более просты и выполняются в неинтерактивном режиме.Команда требует привилегий суперпользователя.bash# /sbin/sfdisk -l /dev/hdaВывод команды содержит информацию о винчестере (количество головок,секторов и цилиндров) и список доступных разделов с краткой информациейо них. Разделы должны начинаться и заканчиваться на границе цилиндров. Ксожалению, старые версии Windows имеют проблемы с дисками, у которыхнесколько головок и большое количество цилиндров, в результате чегонекоторые версии BIOS передавали неверную информацию о реальномположении дел. Поскольку Linux считывает информацию о диске напрямую свинчестера, а windows использует информацию, предоставленную BIOS, тоэти данные могут иметь отличаться для различных ОС.Вот вывод этой команды для винчестера с установленным Linux:Disk /dev/hda: 9729 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0Device Boot Start End #cyls #blocks Id System /dev/hda1 * 0+ 12 13- 104391 83 Linux /dev/hda2 13 9728 9716 78043770 8e Linux LVM /dev/hda3 0 - 0 0 0 Empty /dev/hda4 0 - 0 0 0 EmptyА вот для винчестера, на котором Linux и Windows находятся в режиме DualBoot:Disk /dev/sda: 19457 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sda1 0+ 891 892- 7164958+ 27 Unknown /dev/sda2 * 892 10196 9305 74742412+ 6 FAT16 /dev/sda3 10197 10209 13 104422+ 83 Linux /dev/sda4 10210 19456 9247 74276527+ 5 Extended /dev/sda5 10210+ 19456 9247- 74276496 8e Linux LVMРаздел с меткой FAT16 в приведенном примере на самом делеотформатирован в NTFS. Не стоит слишком доверять меткам на разделах.Очень часто windows-разделы имеют метки FAT16, W95 FAT32, NTFS илипохожие на них.Основная команда для создания образа - это:bash# dd if=[device] of=[imagename] conv=noerrordd производит чтение из входного файла (if - input file), пропускаетданные через указанные фильтры и записывает в конечный файл (of -output file). Если опция of не указана, то вывод производится встандартный поток. Опция conv=noerror говорит о том, что dd следуетпродолжить считывание несмотря на ошибки чтения, которые, в большинствеслучаев, присутствуют на поврежденных дисках.Многие руководства по восстановлению данных предупреждают: неделайте образ на восстанавливаемом разделе!!! Мне кажется очевиднымхранить образ на другом разделе (а лучше носителе), но подобныеситуации возникают сплошь и рядом, пожтому я счел нужным упомянуть оних.простейшая команда для переноса образа на примонтированный раздел выглядит так:bash# dd conv=noerror if=/dev/sda1 of=/root/recovery.imgЭта команда скопирует содержимое раздела /dev/sda1 в файл/root/recovery.img Этот файл может быть примонтирован как стандартноеустройство loopback.Так как dd может писать в стандартный поток, мы можем использоватьпайп для передачи информации на удаленную систему, посредством ssh. Этоделается так:bash# dd conv=noerror if=/dev/sda1 | ssh user@host ‘cat > recover.img’Для уменьшения объема передаваемой информации можно воспользоваться архиватором:bash# dd conv=noerror if=/dev/sda1 | gzip | ssh user@host ‘gunzip > recover.img’Вообщем, не очень хорошая идея хранить сжатый образ, так как с ним невозможно взаимодействовать напрямую.Монтирование образа После создания образа необходимо сделать две папки (для точки монтирования и для восстановления):bash# mkdir recover_src recover_dstПосле чего можно примонтировать туда образ (как стандартное устройство loopback) при помощи следующей команды:bash# mount -t [type] -o loop /path/to/image recover_srcК примеру, если ваш образ recovery.img снят с NTFS-раздела, то замените [type] на ntfs. Все FAT-разделы монтируются как vfat.Не все дистрибутивы Linux имеют встроенную поддержку NTFS. Например,у Knoppix она есть, у Fedora нет. Вы можете найти драйвера дляподдержки NTFS на сайте сторонних производителей или пересобрать вашеядро с поддержкой этой файловой системы. (довольно нетривиальная задача для новичка в linux - прим. переводчика) Если вы не можете найти драйвера, используйте Knoppix.В linux обеспечена поддержка лишь чтения с NTFS-разделов. Запись наних из linux считается небезопасной и может привести к повреждению илиполной потере данных. Тем не менее имеются решения для записи на NTFSиз linux. Однако их обзор вызодит за рамки этой статьи.Восстановление данных в безопасное место Как только образ примонтирован, вы можете использовать cp или подобнуюкоманду для копирования ваших данных в безопасное место. Также выможете записать их на CDROM или перенести на USB-диск.Или вы можете перенести данные на flash-диск, примонтировать его ипродолжать процесс восстановления уже используя его в качестве носителя.В общем случае вполне уместно хранить сжатые образы файловых системдля дальнейшего их использования в случае непредвиденных ошибок.Несколько слов о mkisofs и cdrecord Часто необходимо записать восстановленную информацию на CDROM. Изкомандной строки это делают с помощью двух утилит: mkisofs и cdrecordНа компакт-дисках используется файловая система, определеннаястандартом ISO 9660. Это ФС со многими возможностями, но и с довольнобольшими ограничениями (например на длину имени файла, имена файловнечувствительны к регистру, не сохраняет права доступа к файлам) Длятого, чтобы немного снизить имеющиеся ограничения были разработаны дварасширения для нее: это Joilet, используемое в Windows и RockRidge,используемое в UNIX.Мы рекомендуем использовать оба расширения для улучшения переносимости.Следующая команда создает iso-образ recovery.iso из содержимого директории recovery_dst:bash# mkisofs -JR -o recovery.iso recovery_dstОднако полученный образ еще и необходимо записать на диск. Это делается при помощи cdrecord:bash# cdrecord dev=/dev/cdrom –data recovery.isoДля более подробной информации о процессе копирования можно использовать ключ -vПосле проверки записанного диска смонтируйте его и проверьте егочитаемость. Я заметил, что некоторые CD-R плохо читаются после записина высоких скоростях. Поэтому можно искусственно ограничить скоростьзаписи диска:bash# cdrecord dev=/dev/cdrom speed=4 -v –data recovery.isoПоследние средства Иногда файловые системы могут быть слишком повреждены или, например,отформатированы. В этом случае штатными средствами решить проблему неудастся. Но есть некоторые приложения, которые способны помочь врешении этой проблемы. Правда понадобится немного больше терпения,времени и дискового пространства.Coroner’s Toolkit (TCT) - так называется набор приложений для работыс теми файловыми системами, которые настолько повреждены (напримерпосле “горячего” выключения), что не видятся штатными средствами ОС.Этот набор можно найти на http://www.porcupine.org/forensics/tct.htmlВ Coroner’s Toolkit входит несколько утилит для “экстремального”восстановления данных. Одна из них, lazarus, мощный кроссплатформенныйинструмент. Она читает структуры данных напрямую с поверхности диска ипытается восстановить файловую систему по полученным результатам.Иногда она находит фрагменты, которые будут использованы намного позже,а в некоторых случаях, если не было перезаписи, находятся фрагментыудаленных файлов, которые в большинстве случаев могут бытьвосстановлены.Хотя lazarus в частности и весь тулкит в целом представляют собойочень мощный инструмент для анализа и безопасного восстановленияданных, они также требуют куда больше времени, опыта и ресурсов длясвоей работы. Подробное рассмотрение этих средств выходит за рамки этойстатьи.Когда диск имеет значительные повреждения внутренний структуры илисерьезные физические повреждения (например, упал на пол), то лучшеоценить стоимость данных, находящихся на нем и обратиться ворганизации, профессионально занимающуюся восстановлением данных. Такиеорганизации помимо программного обеспечения имеют еще и мощныеаппаратные средства и, в большинстве случаев, ваши данные будут успешновосстановлены. К сожалению, услуги подобных специалистов довольно дорогие.В заключение Восстановление данных - это обширная тема и ее невозможно охватитьстоль маленькой статьей. Однако, надеюсь, что она помогла вам и научилаиспользовать Linux для восстановления ваших данных после крупных имелких неудач. | |
Категория: Интересные статьи |
Просмотров: 483 | Рейтинг: 0.0/0 | |
| Всего комментариев: 0 | |

