Сохранение данных в ос windows с помощью ddrescue

Автор: admin от 21-02-2014, 07:10, посмотрело: 624

Многие слышали о *nix-утилите GNU ddrescue, предназначенной для сохранения данных, читающихся с ошибками (существует две утилиты с таким названием, но я расматриваю именно GNU-версию). На хабре был топик о ней, рассказывающий основные особенности данной утилиты — копирование данных с записью в лог с последующими попытками считать проблемные места. Но мало кто знает, что её можно использовать в ос семейства windows, под катом я расскажу, как.
Сохранение данных в ос windows с помощью ddrescue

Однажды, после неполадок с питанием, старый файловый сервер под управлением ОС windows частично вышел из строя и перестал включаться. Аналогов древнему железу никто искать не стал, поэтому единственное, что от него было нужно — сделать образ зашифрованного раздела, находящегося на аппаратном raid5. К сожалению, другой материнской платы с шиной pci-x, куда можно было бы вставить raid-контроллер, не нашлось, поэтому сделать это надо было на старом сервере. После диагностики и замены вышедших из строя деталей сервер стартанул, но уходил в перезагрузку примерно раз в 5 минут. Было решено использовать ddrescue. На сайте производителя raid нашелся драйвер под SLES11, корректной инструкции к которому, к сожалению, не было и завести его не получилось. Тогда я подумал о том, что собрать ddrescue для windows, для которой драйвер raid у меня имелся, проще, чем заставить работать драйвер raid-контроллера под linux. Начал я с установки cygwin. На официальном сайте лежит веб-инсталлятор, который качает с указанного зеркала нужные файлы. За 5 минут до ребута инсталлятор не успевал скачать всё, что нужно, поэтому качать пришлось на другом ПК, потом скормить дистрибутив инсталлятору. Самый большой сюрприз ожидал меня на этапе выбора дополнительного ПО, устанавливаемого вместе с cygwin — там был скомпилированный пакет ddrescue! Поэтому самому собирать ничего не пришлось.
Сохранение данных в ос windows с помощью ddrescue
После установки необходимо узнать, как cygwin нумерует диски, чтобы не затереть не то, что нужно. Все устройства именуются /dev/sd*, где последний символ соответствует номеру диска в «управлении дисками» windows (диск 0 — sda, диск 1 — sdb и т.д.) Причём ide-дискам, в отличии от настоящего linux, тоже присваивается имя sd*. Как посмотреть конфигурацию разделов я, к сожалению, не выяснил, т.к. fdisk/cfdisk вместе с cygwin не поставляется и в предкомпилированных пакетах отсутствует. Для того, чтобы убедиться, что нужный диск значится именно под тем именем, под которым предполагается, можно предпринять следующие шаги:

  • просмотр данных раздела или диска командой less -f (например, можно увидеть сигнатуру NTFS)

  • просмотр количества разделов на харде командой ls /dev/sd*


Дальше — дело техники. Был написан однострочный bat-файл со следующим содержимым
c:cygwinbinddrescue.exe -f -v /dev/sdb /dev/sdc log.txt
и положен в автозагрузку. Теперь клонированию не страшны перезагрузки, через несколько часов копия готова.
Все операции проводились в старой ос, в windows vista и новее, возможно, для доступа к дискам необходимо будет отключить UAC/запускать батник от администратора.

Источник: Хабрахабр

Категория: Админитстрирование » Системное администрирование

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

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *