Перенос системы на другую материнскую плату или клонирование Windows XP [Make universal image Windows XP]

Зачем всё это нужно?
Начнем с первой части темы, а это перенос системы, т.е. если вам понадобилось сменить материнскую плату, но хочется сохранить систему без перестановки. И если просто подключить жесткий диск с ОС, у вас скорей всего будет BSOD, либо возникнут различные конфликты драйверов и оборудования. Значит необходимо провести некоторые манипуляции над ОС о которых напишу ниже.
Второе, хочется создать настроенный образ ОС с нужным ПО, который можно было бы устанавливать на различном железе, с минимальными затратами времени на его разворачивание(заливку).
  
В интернету полно инструкций по данной теме, но ничего актуального, простого, и понятного я не нашел, поэтому решил пойти своим путем, используя, конечно же, опыт и наработки других людей, и специализированный софт.
С целью определились, идем дальше.


    Что нам потребуется сделать, чтобы ОС удачно запустилась?
Если просто требуется перенести систему на другое железо:
1. Подчистить систему, чем чище система — тем лучше.
2. Удалить уникальные драйверы используемых устройств.
3. Перенести систему на другое железо.
4. Импортировать уникальный драйвер контроллера дисков, если требуется.
5. Загрузиться на новом железе.
6. Установить остальные драйвера стандартным путем.

Если требуется создать универсальную заливку (пп.3-7 такие же):
1. Отключить все лишние устройства, чем меньше устройств — тем лучше.
2. Установить ОС, софт, и пр (дрова не ставим). Активировать и обновить систему, если нужно.
3. Удалить уникальные драйверы используемых устройств.
4. Перенести систему на другое железо.
5. Импортировать уникальный драйвер контроллера дисков, если требуется.
6. Загрузиться на новом железе.
7. Установить остальные драйвера стандартным путем.

    Что для этого потребуется?
1. Удалялка драйверов — TeraByte OS Deployment Tool Suite
3. WinPE с MassStorage драйверами — Hiren’s BootCD
2. Вставлялка SATA/AHCI/RAID драйвера — FixHDCHiren’s BootCD присутствует)
4. Снятие и перенос образа диска (системы) — IFWHiren’s BootCD присутствует), можно любое, если вам в нем удобней работать
5. Виртуальная машина для создания заливки — VMWare Workstation, можно VirtualBox и пр.

    Почему я выбрал именно эти программы, а не другие?

  • 1. ПО для просмотра установленных драйверов.

Думаю понятно, чем меньше драйверов уникальных устройств остается в системе, которую вы собрались переносить, тем лучше, тем будет меньше конфликтов, различных ошибок и сбоев. Для того чтобы узнать какие драйвера сейчас находятся в системе, использовалась программа от компании NirSoft DevManView — альтернативный менеджер устройств в Windows, позволяет увидеть список установленный драйверов в табличном понятном виде, может быть запущена из другой ОС. Все результаты моих тестов созданы с помощью этой программы. Альтернативы не нашел.

  • 2. ПО для удаления установленных драйверов.

Для удаления драйверов были испробованы 2 утилиты. DevCon от компании Microsoft, и OS Deployment Tool от компании TeraByte.
DevCon — представляет собой консольную утилиту, для работы устройствами и драйверами, в том числе умеет удалять драйвера. С ее помощью, запустив ее с параметром remove (devcon remove * — для удаления всех устройств), можно удалить драйвера из системы. Но она как оказалась делает это не достаточно хорошо…
Изначально в установленной системе было 193 драйвера (или 103 PnP).
После отработки DevCon количество драйверов снизилось до 97 (или 36 PnP), но в ней все еще остались драйвера дисковода гибких и оптических дисков, и других устройств, что не есть хорошо.
OS Deployment Tool — одна коммерческая утилита, тоже предназначена для удаления драйверов, и не только, но в отличии от DevCon удаляет гораздо больше драйверов, и может удалять драйвера без запуска самой ОС.
Результат ее работы следующий:
Изначально в установленной системе было 190 драйвера (или 100 PnP).
После применения OSD Tool стало 47 драйверов (или 15 PnP). Как вы можете видеть остались только стандартные драйвера, общие для всех конфигураций.
Вывод: OSD Tool работает гораздо лучше DevCon, но он распространяется на платной основе, если для вас это проблема можете использовать DevCon, работать будет, я же буду использовать OSD Tool.

  • 3. ПО для добавления новых драйверов.

Перед запуском ОС на новом железе необходимо добавить драйвер контроллера дисков, иначе можете лицезреть BSOD 0x0000007b, и загрузиться не удастся. Если на старых компьютерах было достаточно переключиться на «Стандартный IDE ATA/ATAPI контроллер» и загрузится на новой конфигурации, то новые компьютеры требуют уникальных SATA/AHCI/Raid драйверов. Но зато на новых компах нету заморочек с HAL‘ом. Достаточно выбрать «Однопроцессорный компьютер с ACPI», ACPI APIC UP HAL (Halaacpi.dll) и в случае чего Windows сама поменяет его на «Многопроцессорный компьютер с ACPI», ACPI APIC MP HAL (Halmacpi.dll).
Итак, задача ясна, какие же существуют утилиты для ее решения.
Многие наверно слышали про Acronis Universal Restore и Paragon Adaptive Restore (P2P). Но я не рекомендую их использовать для переноса ОС на новую конфигурацию, по разным причинам которые требуют написания целой статьи. Скажу, что используемый мною способ намного лучше и проще.
OS Deployment Tool позволяет добавить драйвер контроллера, но он мне не нравится потому, что нужно точно знать какой драйвер нужен для данного ПК, и иметь базу для каждого контроллера в отдельности или каждый раз лезть в интернет и скачивать нужный, хотя кончено их не так уж и много, но все равно данная программа требует достаточно много телодвижений для добавления драйвера. Есть способ попроще, а именно:
FixHDC — является плагином к BartPE, и запускается соответственно из нее. Присутствует на диске Hiren’s BootCD. Может добавить уникальный драйвер для контроллера, буквально в 2 щелчка, если запустилась BartPE.
Еще для добавления MassStorage-драйвера существуют следующие программы и способы:
OfflineSysPrepDriverInjection, DriverPacks with Sysprep HOWTO, Набор инструментов для клонирования (развертывание из образа) Windows XP, или вручную добавлять и править реестр.
Если у вас получилось запуститься через один из выше перечисленных способов, и он существенно лучше моего, то буду рад, если вы поведаете мне о нем подробней.
Вывод: будет использоваться FixHDC.

  • 4. ПО для снятия и переноса образа системы.

Для этих целей существует довольно много софта от разных производителей. У каждого свои плюсы и минусы. Приведу основные из них: Acronis Software, Norton Ghost (Symantec) TeraByte Image for DOS/Windows/Linux, Paragon Software, Clonezilla, EaseUS Todo Backup, DriveImage XML, Miray HDClone, Macrium Reflect. Наиболее полный список ПО для клонирования можете посмотреть на Википедии. Какой будете использовать, решать вам, я же буду использовать Image for Linux.

Microsoft Virtual PC, QEMU, VirtualBox, VMware Workstation.
Мне удобней устанавливать и тестировать ОС на виртуальной машине VMware Workstation

Последовательность действий по клонированию Windows XP

Часть 1. Установка ОС на виртуальную машину VMWare Workstation.

1. Запускаем VMWare Workstation.
Примечание: используемая версия VMWare Workstation 7.0.1 build-227600.
2. Создаем новую виртуальную машину (Ctrl+N). Выбираем «Typical».

4. Выбираем «I will install operation system later»

5. Выбираем «Other» — «Other».
ВАЖНО! Иначе придется удалять WMware Tools.

6. Выбираем имя.

7. Выбираем размер жесткого диска в виртуальной машине.
Примечание: Много лучше не ставить, и мало не стоит делать. 8-12 ГБ более чем достаточно.

8. Смотрим что получилось:

9. Жмем «Customize Hardware» для изменения размера ОЗУ, и конфигурирования других устройств.

10. В строке «New CD/DVD (IDE)» выбираем ISO образ устанавливаемой системы, или дисковод с которого должна устанавливаться система.

11.  Жмем «Finish».
12.  Запускаем виртуальную машину зеленой стрелкой VMWare наверху.
Возможна следующая ситуация. Вы настроили загрузку с ISO, но при запуске виртуальной машины не появляется надпись «Press any key to boot from CD…», и машина не загружается с CD. В таком случае надо выставить загрузку с CD-ROM в BIOS, точно также как на обычной машине. Перезапустите виртуальную машину и нажмите F2. Вы должны войти в настройки BIOS виртуальной машины, которые выглядят примерно так:
VMWare
Используйте стрелки Вправо/Влево на клавиатуре, чтобы перейти в меню Boot
VMWare
Используйте стрелки Вверх/Вниз на клавиатуре, чтобы выбрать CD-ROM, а затем жмите на клавишу «+» до тех пор, пока CD-ROM не окажется в списке над Hard Drive.
VMWare
Теперь при помощи стрелок Вправо/Влево выберите меню Exit, затем выделите «Exit Saving Changes» и жмите Enter. Подтвердите запрос на изменение настроек, и виртуальная машина перезагрузится с новыми настройками.
Использован материал oszone.net
13. Устанавливаем систему, софт.
Не ставим драйвера, антивирусы, DaemonTools’ы, и Алкоголи — они ставят свои драйвера в систему, и скорей всего не будут работать, после переноса и удаления всех драйверов.
Не используем «Снапшоты»(Snapshots), т.к. нам нужен целый, не разбитый на части виртуальный диск.

Часть 2. Удаление драйверов с помощью OS Deployment Tool

1. Запускаем TeraByte OS Deployment Tool Suite и выбираем OSDTOOL.TBS
Если нету, можете взять здесь.
(Извлекаем на диск С, и запускаем с помощью ярлыка)
2. Выбираем «Virtual Drive» ищем файл жесткого диска (.vmdk) для созданной виртуальной машины, или выбираем «Physical Drive», если Windows находится на физ.диске.

3.  Выбираем установленную ОС.

4. Проверяем правильно ли выбрали. Жмем Enter.
5. Выбираем «Remove installed drivers «.

6. Выбираем «Remove all installed drivers».

7. Соглашаемся с предупреждением. Жмем «Continue».

8. Дожидаемся успешного завершения. Жмем Enter

9.  Выходим в главное меню. Выбираем «Ghange HAL»:

10. Смотрим. Должен стоять halaacpi.dll. Если нет — меняем.
Примечание: в довольно редких случаях, например на очень древнем железе, требуется другой HAL, и если у вас не получается загрузить систему, нужно попробовать изменить HAL на другой, до тех пор пока не заработает.

11.Если есть подготовленные драйвера (файлы .inf и .sys) можете установить их, с помощью OSDTool, если нет — идем дальше. Подробнее, используя скрипты, описал в этой статье.
Дальше, не запуская системы, нужно снять ее образ и развернуть на другом HDD, я буду использовать Image for Windows из Hiren’s BootCD
Примечание: Так же вы можете запустить OSDTool из загрузочной версии Image For Linux.

Часть 3. Перенос на другой жесткий диск с помощью Image for Window

IFW может перенести всю информацию с виртуального диска на физический, значит нам не понадобиться снимать образ системы, следует всего лишь скопировать на внешний носитель файл виртуального диска (.vmdk).
Примечание: если у вас недостаточно места на внешнем носителе, можете все же снять образ, тогда места потребуется меньше.

1. Копируем виртуальный диск (.vmdk) на внешний носитель.
2. Подключаемся к новому железу и загружаем WinPE из Hiren’s BootCD
Если нету, можете взять здесь. Отдельно IFW2.68 — здесь.
3. Запускаем IFW. Меню HBCD -> Programs -> Backup -> Image for Windows

4. В окне IFW выбираем «Copy».

5. Ставим галочку на «Virtual Drives». Нажимаем «Add Virtual Drive». Прописываем путь до виртуального диска.

6. Выбираем что будем восстанавливать, раздел или полностью диск. Я выбрал диск.
Примечание: если требуется сохранить разметку (другие разделы) на диске-приемнике, то нужно выбирать раздел.
7. Выбираем куда восстанавливать.
8. Выбираем параметры восстановления.
Примечание: Подробности можете узнать в документации.

9. Жмем Next. Проверяем параметры восстановления. Ждем когда закончится процесс переноса.
11. Выходим из IFW.
12. Проверяем правильно ли восстановилось. Смотрим какой активный раздел, код MBR, PBR, редактируем boot.ini если требуется.
Примечание: BootICE и блокнот в помощь.

Часть 4. Установка драйвера контроллера дисков с помощью FixHDC.

1. Загружаем WinPE с диска Hiren’s BootCD
Если нету, можете взять здесь. Отдельно FixHDC0.02 — здесь.
2. Запускаем FixHDC. Меню HBCD -> Programs -> Registry -> Fix hard disk controller (fix_hdc.cmd)

3. Выбираем папку назначения (C:\Windows). Жмем «T».

4. Жмем «М» для обновления MassStorage драйвера.

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

Часть 5. Установка остальных драйверов с помощью DriverPack Solution.

После загрузки системы нужно поставить еще остальные драйвера, можно использовать оригинальные установочники, я же предпочитаю DriverPack Solution, он позволяет автоматически поставить большинство драйверов, не спрашивая лишней информации.

1. После запуска ОС, начнется опознавание нового оборудования, будут появляться  предложения с установкой драйверов для неизвестного оборудования, пока что их закрываем, иначе дальше поиск оборудования не пойдет. В дальнейшем они будут установлены, через DRPSu.

2. Запускаем DriverPack Solution.
Если нету, можно взять здесь.
3. Видим что найдены не установленные драйверы. Жмем Установить.

4. Выбираем установить только драйвера, программы ведь у нас уже есть. Если нужно, то можно создать контрольную точку восстановления.

5. Пошел процесс установки.

6. Пока ставятся драйвера, ставим нормальный драйвер контроллера дисков. А то после каждой загрузки ОС придется закрывать это окно.

7.  Ставим обычным способом через Диспетчер устройств, для следующего устройства:
Примечание: базу наиболее распространенных драйверов контроллеров дисков можно взять здесь.

8. Перезагружаем компьютер после того, как DRPSu установит все драйвера.
9. Проверяем все ли драйвера поставились.

10. Система готова. Можно работать!

    Алгоритм не идеален, но готов выслушать адекватную критику и предложения, возможные указания на мои недочеты и, если есть, то на ошибки.

Используемый материал:
Перенос системы на другую материнскую плату
Инструменты для клонирования (развертывание из образа) Windows XP
Служебные — [addon] AHCI MassStorage
Миф о дублировании SID компьютера
How-To TeraByte Guides
Появление сообщения об ошибке «Stop 0x0000007B» после переноса системного диска Windows XP на другой компьютер
Параметры, используемые в файле Boot.ini в Windows XP и Windows Server 2003
Варианты HAL, доступные в Windows XP и Windows Server 2003
Как указать вручную драйвер уровня аппаратных абстракций во время установки или обновления Microsoft Windows XP
Устранение неполадок аппаратно-зависимого уровня в Windows 2000
Добавление драйверов производителей оригинального оборудования для устройств Plug and Play при установке Windows
Использование программы с интерфейсом командной строки DevCon в качестве альтернативы диспетчеру устройств
Автоматизация процесса развертывания Windows XP с помощью средства Sysprep

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

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