Снятие образа с поврежденного жесткого диска

Буквально недавно на одном из компьютеров на моей работе был заменен жесткий диск. Почти сразу после замены Windows XP стал по несколько раз в день сваливаться в BSOD и ругаться ошибками Драйвер обнаружил ошибку контроллера \Device\Harddisk0\.

Изначально я грешил на то, что установлен стандартный драйвер IDE контроллера (в BIOS материнской платы для SATA-контроллера поставлен режим IDE compatible), хотя материнская плата на чипе VIA — драйвер поменял, однако проблемы это не решило. Так же пробовал менять SATA-шлейф — тоже не помогло.

Тип события:    Ошибка
Источник события:       Disk
Категория события:      Отсутствует
Код события:    11
Дата:                10.03.2011
Время:             16:22:36
Пользователь:              Н/Д
Компьютер:      MPS-F01EC7424DE
Описание:
Драйвер обнаружил ошибку контроллера \Device\Harddisk0\D.

Тип события:    Ошибка
Источник события:       atapi
Категория события:      Отсутствует
Код события:    5
Дата:                10.03.2011
Время:             16:22:36
Пользователь:              Н/Д
Компьютер:      MPS-F01EC7424DE
Описание:
Обнаружена ошибка нарушения четности на \Device\Ide\IdePort0.

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

Сказано — сделано! Скачал сборку BartPE под названием NervOS — там есть Acronis, Ghost и целая куча других утилит. Подцепил второй HDD, загрузился с CD, запустил копирования Disk-to-Disk с помощью Ghost и приготовился ждать. Но не тут-то было! Где-то на 2% Ghost заявил, что не может прочитать поврежденные сектора и вырубился. Так же, диск отвалился из Windows PE и снова появился только после перезагрузки.

Решил попробовать Acronis — тот же результат. Думал проверить диск родной утилитой от WD — «Too many bad sectors. FAIL». А образ снимать надо!

После небольшой консультации с коллегой-сисадмином-линуксоидом было решено сливать образ с помощью Ubuntu:

1. Качаем Ubuntu 10.04 LTS отсюда

2. Там же смотрим инструкцию как записать образ на CD или на USB. Я записывал на USB с помощью Universal USB Installer

3. Грузимся с USB при двух подключенных hdd — старом и новом

4. Запускаем Ubuntu с USB

5. Запускаем Terminal

6. Переходим в режим суперпользователя — sudo su

7. Используем команду fdisk -l для того чтобы увидеть «имена» жестких дисков, в моем случае: /dev/sdb — старый, поврежденный диск, /dev/sda — новый

8. Теперь приступаем собственно к переносу образа с диска на диск:

dd if=/dev/sdb of=/dev/sda bs=4096 conv=noerror

где if — источник, of — назначение

conv=noerror — dd будет пропускать сектора с ошибками

полное описание параметров dd можно посмотреть, выполнив man dd

Процесс пошел. У меня процесс занял около 1 часа — диск 160 Gb при 20% заполнении.

9. После того как процесс завершится, надо не забыть перенести MBR:

dd if=/dev/sdb of=MBR-backup bs=512 count=1 — со старого диска в бекап

dd if=MBR-backup of=/dev/sda bs=512 count=1 — из бекапа на новый диск

Вот и все, образ успешно перенесен! Отключаем флешку, старый диск и успешно загружаемся с нового!

Запись опубликована в рубрике IT с метками , , . Добавьте в закладки постоянную ссылку.

38 комментариев на «Снятие образа с поврежденного жесткого диска»

  1. RichardGhval говорит:

    Пройти профессиональный тест
    Узнайте, что именно вам нужно улучшить в себе, чтобы стать более эффектным!
    Найдите причину. Наш консультант поможет вам в этом.
    http://test-osa.org/

  2. Cat говорит:

    чтобы наблюдать что происходит при копировании, открываем вторую консоль и там набираем:
    # watch -n 30 killall -SIGUSR1 dd

    на первую консоль будет выводиться раз в 30 сек информация сколько данных уже скопировано.

  3. Дмитрий говорит:

    Мне не понятно зачем вы еще потом МБР копируете. Этого не нужно делать, ведь вы полностью срез диска сделали, включая МБР, еще только первой командой dd if=/dev/sdb of=/dev/sda bs=4096 conv=noerror. У Вас есть объяснения?

    • Fray говорит:

      Честно говоря, лично у меня точных объяснений нет 🙂 Но, думаю, что из-за размера сектора (bs=512 против bs=4096)…

  4. Радик говорит:

    Периодически вываливается табличка: This computer has only 0 bytes disk space remaining.You can free up disk space by removing unused programs or by moving files to an external disk.”Examine” или “ignore”

  5. Радик говорит:

    Нет до сих пор идёт.Мне кажется ничего не копируется.На одном месте что ли стоит.Как проверить?
    Те же повторяющиеся строки бегут в терминале:
    dd reading “dev/sdc”:input/output error
    28348+0 records in
    28348+0 records out
    116113408 bytes (116 MB) copied,время,скорость до 12 kB/c уменьшилась.

  6. Радик говорит:

    Да похоже тоже самое.После 30 минут копирования выдало:This computer has only 15.4 bytes disk space remaining.You can free up disk space by removing unused programs or by moving files to an external disk.”Examine” или “ignore”.Только вместо 0 bytes, has only 15.4 bytes.
    Но копирование продолжается и постоянно повторяющиеся строки- dd reading “dev/sdc”:input/output error (sdc мой старый диск)
    28348+0 records in
    28348+0 records out
    116113408 bytes (116 MB) copied,время,скорость(постоянно уменьшается)
    Оставить или прервать копирование?

  7. Радик говорит:

    В Windows удалил раздел полностью на жёстком диске.По моему то же самое ,при копировании постоянно повторяющиеся строки- dd reading «dev/sdc»:input/output error (sdc мой старый диск)
    28348+0 records in
    28348+0 records out
    116113408 bytes (116 MB) copied,время,скорость(постоянно уменьшается)

  8. Радик говорит:

    Понял.Спасибо большое.Буду пробовать.

  9. Радик говорит:

    Спасибо,получилось.Я Ключ ставил 1 вместо l.Вот что-то только по моему не может считать у меня ничего?После 30 минут копирования выдало:This computer has only 0 bytes disk space remaining.You can free up disk space by removing unused programs or by moving files to an external disk.»Examine» или «ignore».Диск новый пустой отформатирован в NTFS,оба жёстких на 500ГБайт Seagate Barracuda.

  10. Радик говорит:

    Не показываются диски.После набора команды fdisk -l выводится: fdisk: invalid option — — «1» и показываются другие команды,и что означают.“Имена” жестких дисков не выводятся.Версия программы UBUNTU-12.04

  11. Viveda говорит:

    А зачем MBR в два этапа?
    Не проще:
    dd if=/dev/sdb of=/dev/sda bs=512 count=1

  12. nisk говорит:

    Довольно-таки очевидный способ.
    Менее очевидный — использовать mhdd, который тоже умеет посекторное копирование.
    Впрочем, если поверхность диска умерщвлена качественно, например, первым опытом пересадки головок в пыльной комнате без специнструмента (уцелело порядка 1/3 из 400 гигов), не поможет и это, диск отключается сам после нескольких тысяч/десятков тысяч попыток считать сбойные секторы 🙂

  13. auto-ru говорит:

    Thanks, it’s usefully

  14. ds0m говорит:

    2 jeki, в BIOS диск определяется? Если да, то описанный выше способ стоит попробовать.
    Усли udev подхватит железку(а если BIOS подхватить должен, монтировать не обязательно, кстати), то есть вполне себе не призрачные шансы получить всю информацию, ну или большую её часть с диска.
    Пробуйте, отписывайте о результатах.

  15. jeki говорит:

    jestki disk ne pishitsia windows.. kak vinisti iz nevo informaciu?? mne ochen nujnie informacii na tom diske

  16. Andrey74 говорит:

    Для снятия образа с поврежденного диска есть спец. программа на основе dd — это ddresque (есть ещё dd_resqe).

  17. Sem говорит:

    Были такие же проблемы, помогла утилитка xxclone под винду, с тех пор часто ее юзаю. Единственный минус, раньше была бесплатной, а сейчас вроде за нее денег хотят, но у мну старая бесплатная версия =)

  18. ds0m говорит:

    2 shs вполне вероятно, что отключение диска было софтверное, где-то на уровне HAL, штука для сбойного диска возможная, особенно того, что начал сыпаться.
    А, что забавно, именно dd помогал вытянуть инфу на одной замечательной серии дисков IBM DTLA, когда пасовали все виндовые программы.
    Симптоматика схожая была.

  19. shs говорит:

    Не знаю, как у Акрониса, а в Ghost’е совершенно точно имеется опция, предписывающая игнорировать (пропускать) ошибки чтения.

  20. Lbvektr говорит:

    Спасибо за материал.

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.