Upd: English version of the article: Migrating Windows 2000 / XP to a VMWare virtual machine.


Площадка Ogri - ogri.me | Миграция Windows 2000 / XP на виртуальную машину VMWareИсходное положение: имеется старый десктоп с Win2K на борту. Установлены некие древние, но очень дефицитные программы, инсталляции к которым утеряны в веках, т. е. переустановке на новую систему не подлежат, да и совместимость хотя бы с WinXP под вопросом. Наряду с этим имеется свежайший десктоп с крутым i7 процессором и предустановленным Windows 7. Задача: избавиться от старого компа, сохранив при этом старые проги со всеми установками.

Варианты решения:

1. Перенос Win2K на новый комп в качестве второй системы с мультизагрузчиком. Создать новый логический диск, клонировать на него Win2K, установить на Семерке мультизагрузчик (например, бесплатный EasyBCD), решить проблему совместимости с SATA AHCI и прочими драйверами. Несомненный минус этого варианта - необходимость выгружаться из каждой системы для входа в другую, и это при условии, что нашлись драйвера для весьма-таки старой системы под современное оборудование. Да и установка драйверов контроллера SATA через Intel Matrix Storage - те еще танцы с бубном, да и не факт, что получится.

2. Перенос на виртуальную машину. На мой взгляд - оптимальный вариант. Но могут встретиться подводные камни, описанию и преодолению которых и посвящена данная статья.

Я давно использую VMWare Workstation и считаю ее очень удобным инструментом. Преимущества виртуальных машин общеизвестны - наличие нескольких операционных систем (клиентов) на одном физическом компьютере (хосте) с возможностью одновременного их и хоста использования, соединения в сеть между собой и физическими машинами и совместного использования ресурсов, устройств и портов хоста. Пробовал и Virtual PC, и VirtualBox, но остановился на VMWare - показался наиболее удобным. К тому же имеется VMWare Player - бесплатный вариант VMWare Workstation с несколько усеченной функциональностью. Поэтому описывать буду процесс миграции именно на VMWare.

В свое время я успешно переносил Windows XP на VMWare машины используя VMWare Converter. Однако в данном случае несколько разных версий конвертера одинаково не справились и выдали ошибки конвертации. Пришлось действовать ассиметрично.

Описанный ниже процесс подходит для миграции как Win2K, так и WinXP.

Дисклеймер: все выполняется вами на ваш страх и риск. В случае материального или морального ущерба автор статьи умывает руки ;))

Итак: хост - новый комп с Windows 7 64 bit, на нем установлена свеженькая (на время написания статьи) VMWare Workstation 8.0.2. Что иметь перед процессом:

1. Утилиту для создания и восстановления образа и клонирования разделов и дисков (Acronis True Image, Symantec Norton Ghost (платные), Clonezilla (бесплатный) и др.). Я использовал первую, и в дальнейшем для краткости буду называть ее просто "Акронис".

2. Дистрибутив Windows 2000 или XP (CD или ISO-образ) - для запуска консоли восстановления (Recovery Console).

3. Образ дискеты с драйвером SCSI для VMWare (можно скачать здесь или здесь).

4. Обновление KB835732 (на сайте Microsoft: Win2K - английский, русский; WinXP - английский, русский)

5. Внешний USB HDD (если при переносе системы (шаг 3) используется способ 1) или IDE to USB адаптер или коробка (способ 2).

Пошагово:

1. Подготовка Win2K к переносу.

a. Убедиться, что установлен SP4. Не повредит установить все возможные обновления.

b. Скачать соответствующий нашей системе KB835732 и скопировать его в корень (или другой легкодоступный фолдер) системного диска.

2. Создание новой виртуальной машины. Выбираем Windows 2000 Professional на предложение выбрать операционную систему для VM (Select a Guest Operating System). На вопрос о максимальном размере диска я выставил 40 ГБ, поскольку таков размер физического диска с Win2K, и заполнен он более чем на две трети. Остальное можно по умолчанию. Дойдя до экрана Ready to Create Virtual Machine, жмем на кнопку Customize Hardware... и меняем тип New CD/DVD с дефолтного IDE на SCSI. Если оставить IDE, система не подключит CD/DVD после первого успешного запуска, а он нужен для установки VMWare Tools. После установки VMWare Tools и, соответственно, всех виртуальных драйверов можно поменять тип обратно на IDE.

3. Перенос содержимого физического диска на диск VM. Есть несколько способов:

Способ 1:

a. Создаем Акронисом образ физического диска с Win2K и копируем его на внешний USB диск. Подсоединяем диск с образом к хосту.

b. Стартуем виртуальную машину с CD или образа Акронис, и в меню VM > Removable Devices находим наш внешний диск и жмем на подменю Connect (Disconnect from Host). Диск теперь будет распознан Акронисом.

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

c. Восстанавливаем образ на диск виртуальной машины

Способ 2:

a. Снимаем оригинальный диск со старого компа, подсоединяем его как внешний (через адаптер или коробку) к хосту.

b. Те же действия, что и в п. b способа 1.

c. Клонируем содержимое физического диска (или переносим только нужные разделы) на виртуальный.

Первый способ требует только внешний диск (или даже большую и быструю флешку, что в наше время не редкость). Если нет IDE to USB адаптера или лениво снимать оригинальный диск - он предпочтительнее. Да и лишний бэкап системы не помешает. Минус - если в старом компе USB1.1, процесс создания образа может быть долгим. Ну так поставьте на ночь!

Возможен еще третий путь - работать напрямую с физическим диском из VM. Диск снимается со старой машины, подсоединяется к хосту как внешний или внутренний и монтируется в VM как виртуальный. Этот метод более трудоемкий, поскольку там надо перед монтированием удалять буквы всех партиций для предотвращения одновременного доступа к диску со стороны хоста и VM, а при самом монтировании - опознать диск в списке вида PhysicalDrive0, PhysicalDrive1 и т. д. Если уж снимать диск - лучше второй способ переноса. Третий способ - только для тех, у кого нет места на новом компе (хосте), и кто собирается запускать VM с физическим диском постоянно.

4. Запуск виртуальной машины - система вылетает в BSOD с сообщением:

Inaccessible boot device.

Это происходит из-за того, что диск в VM подключен к виртуальному SCSI контроллеру, и в системе нет соответствующего драйвера. Разрешить данную проблемы можно, заменив файл драйвера IDE atapi.sys на файл с таким же именем, но содержащий драйвер виртуального SCSI контроллера VMWare. Этот трюк обманет систему на момент загрузки, подсунув ей нужный драйвер с именем, соответствующим настройкам в реестре.

a. Вставляем в CD/DVD-ROM диск с дистрибутивом Win2K/WinXP и в настройках VM CD/DVD указываем использовать физический привод, или же монтируем образ дистрибутива (ISO image) в привод виртуальной машины. Во флоппи VM монтируем образ дискеты с драйвером SCSI для VMWare. Отмечаем чекбоксы Connect at power on в разделе Device status для обоих вышеуказанных виртуальных устройств.

b. Запускаем VM с CD/DVD (выставив последовательность загрузки в BIOS виртуальной машины раз и навсегда, либо же нажав Esc после включения VM и выбрав CD-ROM drive). Стартует процесс установки Windows. Заходим в Recovery Console, выбираем нашу систему и попадаем в системный фолдер C:\WINDOWS или C:\WINNT. В командной строке вводим:

cd SYSTEM32\DRIVERS
del atapi.sys
copy a:\vmscsi.sys atapi.sys

Вторую строку можно пропустить, тогда соглашаемся перезаписать существующий atapi.sys.

Все вышеописанное относится к случаю, когда старый диск IDE типа. Если же он подключен к SCSI или SATA контроллеру, atapi.sys не может быть использован. Нужно определить, какой файл содержит драйвер контроллера вашего типа диска и заменить его на vmscsi.sys. Команда консоли восстановления LISTSVC, выдающая список сервисов системы, может помочь идентифицировать файл драйвера. Он должен относиться в категории Boot (2й столбец).

c. Перезапускаем VM, введя exit в командную строку. На этот раз система загружается успешно.

Здесь надо отметить, что система при старте заменяет подсунутый ей поддельный IDE драйвер обратно на оригинальный, так что в случае перезагрузки без установки в системе драйвера VM SCSI контроллера синий экран вернется. Поэтому я отверг все предложения системы по ручной установке драйверов и перезагрузке и первым же делом установил драйвер SCSI Controller через Device Manager с той же дискеты. Теперь перезагрузка не чревата синим экраном, и система стартует успешно (а перезагрузиться разок таки пришлось, о чем далее). Если вы случайно перегрузили VM и снова получили BSOD - повторите 4-й шаг.

5. Установка VMware Tools. Запускаю - и получаю сообщение:

Microsoft Runtime DLLs cannot be installed on this operating system. Please see Microsoft KB835732 for details.

Поставил обновление KB835732, перегрузился (теперь можно), и VMware Tools установились без проблем. Ура, мы успешно переехали в виртуальную машину!

Кстати, не факт, что у вас тоже выскочит подобная проблема с установкой VMware Tools. Особенно если, как я упоминал в начале, в оригинальной системе еще до переноса были установлены все обновления. Все же имейте KB835732 под рукой, желательно - прямо на диске для удобства доступа.

Комментарии  

Дмитрий
0 # Дмитрий 14.05.2013 02:57
Как бы NT4 перетащить. она на свежих процах не ездит, много ей...
Ответить | Ответить с цитатой | Цитировать
Ogri
0 # Ogri 14.05.2013 03:04
Наверняка какие-то насадки под нее для этого есть. Пока для кого-то актуально, эксперты делают. А можно поинтересоваться, зачем вам в наше время NT4?
Ответить | Ответить с цитатой | Цитировать
Нико
0 # Нико 16.05.2013 15:48
Автору спасибо. На днях буду пробовать этот метод для windows me на виртуалку. Предугадывая вопрос "зачем?", сразу отвечу - для переноса лицензионного софта на новое железо. Этот лиц. софт необходим, но его разработчик давно закрыт, а инфа для активации естественно утеряна ещё до нас.
Ответить | Ответить с цитатой | Цитировать
Danich
0 # Danich 01.07.2013 11:50
Респект, очень помогла статья.
Ответить | Ответить с цитатой | Цитировать
Костя
0 # Костя 09.07.2013 05:15
Поставлена задача перенести windows server 2000 NT SP4 с умирающего сервера IBM xeon 2.80GHz/DDR 2048Mb/HDD148GB на новый сервер IBM x3650M4 XDP6C-E5-2630-2.3 на котором установлен гипервизор от VMware, EXSI версии (на сегодня самая последняя версия)5.1 (загрузка с флешки).
В общем требуется перенести физический сервер windows server 2000 NT SP4 в виртуальную среду, чтоб он работал и запускался не смотря на что то перенос осуществляется на другое железо.

Для миграции использовалось:
- Загрузочный DVD диск Acronis Backup & Recovery 11 (самописный);
- 2 компьютера или сервера с установленным гипервизором esxi 5.1 с бесплатной лицензией (можно и на ознакомительном периоде 60 дней).
Процедура переноса:
- загружаемся на старый сервер где установлена windows server 2000 NT SP4 с Загрузочного DVD диска Acronis Backup & Recovery 11, и производим снятие полной резервной копии всего жесткого диска сервера (копию лежим где-нибудь в надежном сетевом хранилище на предприятии).
- Затем подключаемся к новому сервер (тот сервер куда переносим windows server 2000) через VMware vSphere Client 5.1 и создаем новую виртуальную машину все настройки по умолчанию за исключением размера жесткого диска и оперативной памяти выделяемой для будущей перенесенной windows server 2000 NT (объем HDD и ОЗУ выбираете по своим потребностям).
Виртуальная машина создана! Вставляем в новый сервер Загрузочный DVD диск Acronis Backup & Recovery 11 (Привод DVD на новых серверах присутствуе).
- Запускаем созданную виртуальную машину и грузимся с Загрузочного DVD диска Acronis Backup & Recovery 11 производим восстановление полной резервной копии windows server 2000 NT с ранее скопированной со старого сервера.
- Копия восстановлена перегружаем виртуальную машину и пробуем загрузить windows server 2000 NT, но получаем Синий экран и надпись:

STOP: (0x0000007B 0xF741B84C, 0xC0000034, 0x00000000, 0x00000000)
INACCESSIBLE_BOOT_DEVICE
- Выключаем виртуальную машину с неудачно загруженным windows server 2000 NT SP4
- Запускаем VMware vCenter Converter Standalone Client 5.1
- выбираем “convert machine” в окне Conversion в выпадающем меню Select source type выбираем VMware Infrastructure virtual machine. В строке “Server:” указываем IP адрес сервера EXSI на котором развернут образ перенесенной windows server 2000 NT(сама виртуальная машина с windows server 2000 должен быть выключен).
- указываем логин и пароль от самого гипервизора EXSI 5.1 у меня по умолчанию логин root. Жмем NEXT.
- в следующим окне из списка имеющихся виртуальных машин выбираем наш windows server 2000 у которого статус Powered off. Жмем NEXT
- в окне Conversion в выпадающем меню Select source type выбираем VMware Infrastructure virtual machine. В строке “Server:” указываем IP адрес сервера EXSI на который будет переноситься windows server 2000 NT.
- указываем логин и пароль второго гипервизора EXSI 5.1 у меня по умолчанию логин root. Жмем NEXT.
- в следующим окне в строке Name: задаем имя для мигрируемого сервера. Жмем NEXT.
- еще раз Жмем NEXT.
- в окне Option редактируем параметры мигрируемого сервера по своей необходимости. Жмем NEXT.
- жмем FINISH.
Начнется процесс миграции виртуального windows server 2000 NT с одного гипервизора EXSI на другой такой же гипервизор EXSI (использовалась версия 5.1).
Процесс миграции не быстрый все зависит от объема жесткого диска сервера windows server 2000 NT (мой сервер размером в 140ГБ мигрировал 2 часа)
После завершения миграции запускам виртуальную машину с windows server 2000 NT на втором гипервизоре EXSI и наблюдаем 100% работоспособную windows server 2000 NT. Единственное требуется до устанавливать драйвера экран и т.п.
Ответить | Ответить с цитатой | Цитировать
Дмитрий777
0 # Дмитрий777 19.05.2017 03:02
для Hyper-V Migration Issues with Hyper-V: STOP: 0x0000007B решение тут
https://blogs.technet.microsoft.com/michs/2011/09/16/p2v-migration-issues-with-hyper-v-stop-0x0000007b/
Ответить | Ответить с цитатой | Цитировать

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