Буквально недавно на одном из компьютеров на моей работе был заменен жесткий диск. Почти сразу после замены 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 — из бекапа на новый диск
Вот и все, образ успешно перенесен! Отключаем флешку, старый диск и успешно загружаемся с нового!
That is very fascinating, You’re an overly professional blogger.
I have joined your rss feed and look ahead to in the hunt for
extra of your magnificent post. Additionally, I’ve shared your web site in my social networks
Пройти профессиональный тест
Узнайте, что именно вам нужно улучшить в себе, чтобы стать более эффектным!
Найдите причину. Наш консультант поможет вам в этом.
http://test-osa.org/
чтобы наблюдать что происходит при копировании, открываем вторую консоль и там набираем:
# watch -n 30 killall -SIGUSR1 dd
на первую консоль будет выводиться раз в 30 сек информация сколько данных уже скопировано.
Мне не понятно зачем вы еще потом МБР копируете. Этого не нужно делать, ведь вы полностью срез диска сделали, включая МБР, еще только первой командой dd if=/dev/sdb of=/dev/sda bs=4096 conv=noerror. У Вас есть объяснения?
Честно говоря, лично у меня точных объяснений нет 🙂 Но, думаю, что из-за размера сектора (bs=512 против bs=4096)…
Периодически вываливается табличка: 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”
Странно… Попробуйте спросить тут -> http://sysadminz.ru/index.php?board=9.0
Я в линуксах не очень силён 🙂
Нет до сих пор идёт.Мне кажется ничего не копируется.На одном месте что ли стоит.Как проверить?
Те же повторяющиеся строки бегут в терминале:
dd reading “dev/sdc”:input/output error
28348+0 records in
28348+0 records out
116113408 bytes (116 MB) copied,время,скорость до 12 kB/c уменьшилась.
Да похоже тоже самое.После 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,время,скорость(постоянно уменьшается)
Оставить или прервать копирование?
Ну как? Завершилось?
В Windows удалил раздел полностью на жёстком диске.По моему то же самое ,при копировании постоянно повторяющиеся строки- dd reading «dev/sdc»:input/output error (sdc мой старый диск)
28348+0 records in
28348+0 records out
116113408 bytes (116 MB) copied,время,скорость(постоянно уменьшается)
Понял.Спасибо большое.Буду пробовать.
Спасибо,получилось.Я Ключ ставил 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.
На новом диске не должно быть никаких разделов.
Не показываются диски.После набора команды fdisk -l выводится: fdisk: invalid option — — «1» и показываются другие команды,и что означают.“Имена” жестких дисков не выводятся.Версия программы UBUNTU-12.04
sudo fdisk -l попробуйте
Ключ «l» — маленькая L.
А зачем MBR в два этапа?
Не проще:
dd if=/dev/sdb of=/dev/sda bs=512 count=1
И еще совет — для оптимальной скорости копирования, bs=наименьший размер кэша дисков, можно указывать в мегабайтах (4M, 8M).
Хм, ну да, почему бы и нет? 🙂
Довольно-таки очевидный способ.
Менее очевидный — использовать mhdd, который тоже умеет посекторное копирование.
Впрочем, если поверхность диска умерщвлена качественно, например, первым опытом пересадки головок в пыльной комнате без специнструмента (уцелело порядка 1/3 из 400 гигов), не поможет и это, диск отключается сам после нескольких тысяч/десятков тысяч попыток считать сбойные секторы 🙂
Thanks, it’s usefully
2 jeki, в BIOS диск определяется? Если да, то описанный выше способ стоит попробовать.
Усли udev подхватит железку(а если BIOS подхватить должен, монтировать не обязательно, кстати), то есть вполне себе не призрачные шансы получить всю информацию, ну или большую её часть с диска.
Пробуйте, отписывайте о результатах.
jestki disk ne pishitsia windows.. kak vinisti iz nevo informaciu?? mne ochen nujnie informacii na tom diske
Попробуйте при подключенном жестком диске загрузиться с Ubuntu и снять с него образ, как описано в статье.
Для снятия образа с поврежденного диска есть спец. программа на основе dd — это ddresque (есть ещё dd_resqe).
Она бесплатна? Под *nix?
да, бесплатна, да под *nix. но есть версия и под Win.
Только немножко ошибся с названием — ddrescue и dd_rescue.
Обзор программ можно увидеть например сдесь: http://smacker.fatal.ru/Soft/1170803292.shtml
Нужно будет посмотреть что это за зверь. И обкатать во вполне боевых условиях.
Благо пара убитых дисков разномастным контентом имеются.
Но, имхо, это уже совсем на крайний случай.
Мой сайт переехал, так что старая ссылка никуда не приведёт. Новый адрес:
http://smacker.heliohost.org/Soft/1170803292.shtml
Были такие же проблемы, помогла утилитка xxclone под винду, с тех пор часто ее юзаю. Единственный минус, раньше была бесплатной, а сейчас вроде за нее денег хотят, но у мну старая бесплатная версия =)
Ну так может выложишь? 😉
не ленись =), в инете найти можна
2 shs вполне вероятно, что отключение диска было софтверное, где-то на уровне HAL, штука для сбойного диска возможная, особенно того, что начал сыпаться.
А, что забавно, именно dd помогал вытянуть инфу на одной замечательной серии дисков IBM DTLA, когда пасовали все виндовые программы.
Симптоматика схожая была.
Не знаю, как у Акрониса, а в Ghost’е совершенно точно имеется опция, предписывающая игнорировать (пропускать) ошибки чтения.
Может у меня не та версия Ghost на образе была? Я как ни искал, так и не нашел. Да и в PE диск потом начал сам отваливаться через какое-то время, под конец попыток я даже не успевал Acronis запустить…
Я когда-то пользовался «древним» Ghost’ом (еще DOS’овским) версия была 8.x, ЕМНИП.
Ну значит я не нашел. И повторюсь, под конец диск начал отваливаться просто так 🙂
Все равно, спасибо! 😉
Спасибо за материал.