Совместимость виртуальных дисков между Hyper-V, Virtual Server и Virtual PC


Одним из первых вопросов, которые задают те, кто готов начать использовать Hyper-V, — совместимость виртуальных дисков в формате VHD между различными платформами виртуализации Microsoft. (И не только Microsoft, так как индустрия в целом приняла формат VHD). Причем обычно вопрос формулируется именно так: «Совместимы ли диски VHD между Virtual PC и Hyper-V?». Хотя как правило имеют ввиду другое: «Совместимы ли виртуальные машины Virtual PC и Hyper-V?». Два разных вопроса — два разных ответа.


Все три платформы виртуализации Microsoft четко следуют спецификации VHD. То есть на первый вопрос существует однозначный ответ: «Да, диски в формате VHD совместимы между любыми платформами». Но совсем другое — совместимость самих виртуальных машин. (И даже не важно, что за ОС там установлена). Давайте разберемся, почему.


В первую очередь напомню — Hyper-V позволяет устанавливать 64-битные версии ОС, которые не поддерживаются Virtual Server и Virtual PC. Создав в Hyper-V виртуальную машину с Windows XP/2003/Vista/WS2008 на платформе x64 — вы никак не сможете заставить ее работать в Virtual Server или Virtual PC. Хотя подключить ее виртуальные диски к любой существующей ВМ сможете — и получите из этой ВМ доступ к файлам на дисках. То есть если вопрос касается 64-битный виртуальных машин — ответ очевиден: «Нет, не совместимы».


Что же качается 32-битных виртуальным машин, то краткий ответ также неутешителен: «Нет, не совместимы, но…». Многозначительное «но» в конце означает, что перенести 32-битную ВМ таки можно. С любой платформы на любую. Основные проблемы совместимости 32-битных ОС между Hyper-V и Virtual Server/Virtual PC возникают из-за различия между используемыми в ВМ уровнями абстрагирования от оборудования (Hardware Abstraction Layer, HAL). Виртуальная машина, установленная в Hyper-V, будет использовать APIC HAL.



Перенеся ее на платформу Virtual Server/Virtual PC вы увидите, что она просто не загрузится. Виртуальные машины на этих платформах используют ACPI HAL. Поэтому для переноса машины с Hyper-V на Virtual Server/Virtual PC вам потребуется вручную сменить HAL. Исключение — ВМ с Windows Vista/WS2008. При помощи msconfig эти ОС можно заставить заново определять HAL при загрузке.



Что же касается предыдущих версий Winodows — это не поддерживается Microsoft, но делается элементарно. Пока ваша ВМ еще загружена в Hyper-V, через Device Manager выберите модель компьютера «Standard PC».


 


Или, если вы уже перенесли машину в Virtual Server/Virtual PC, воспользуйтесь Recovery Console. Вам потребуется заменить файл %SystemRoot%\System32\HAL.DLL на HALACPI.DLL (то есть переименовать последний в HAL.DLL). Этот файл вы найдете на диске с дистрибутивом вашей ОС в сжатом виде по адресу \i386\HALACPI.DL_. Распакуйте его с помощью команды expand


Если вы перенесли ОС с Virtual Server/Virtual PC на Hyper-V и не установили компоненты интеграции — то HAL в виртуальной машине не изменился, и вы можетеперенести ее назад. При установке компонентов интеграции HAL заменится на APIC. Если в дальейшем потребуется вернуть машину обратно в Virtual Server/Virtual PC — от вас потребуются действия, описанные выше.

Comments (4)

  1. Anonymous says:

    С каждым годом, месяцем и днем виртуализация становится все более востребованной. Помимо инфраструктурных задач и консолидации серверов, один из основных рынков для решений виртуализации — это разработка и тестирование программного обеспечения. Инструменты

  2. Alex A says:

    Шаг номер 1:

    Установить Service Pack (SP3 для XP, SP2 для 2003, SP1 для Vista)

    Шаг номер 2:

    Дениснталлировать Virual Machine Additions

    Шаг номер 3:

    Выключить ВМ

    Шаг номер 4:

    Скопировать VHD файл с диском на хост Hyper-V

    Шаг номер 5:

    Создать новую ВМ в Hyper-V Manager, – указать необходимое количесивр процессоров (лучше начать с двух, чтобы установился многопроцессорный HAL)

    Шаг номер 6:

    Вкдючить новую ВМ на Hyper-V

    Шаг номер 7:

    Установить подключить ISO образ с Integration Components, установить их и дважды перезагрузиться (первая перезагрузка при смене HAL, вторая при установке драйверов компонент)

    Все.

    Если хотите автоматизировать, вам нужен System Center Virtual Machine Manager 2008.

    В нем есть опции миграции с физических хостов в ВМ (P2V) и с виртуальных хостов VS2005/ESX в ВМ Hyper-V (V2V)

  3. Dmitriy says:

    Добрый день,Вы говорите "Или, если вы уже перенесли машину в Virtual Server/Virtual PC"

    Поскажите, пож-та, не могу найти механизм этого переноса в Hypr manager. Как перенести вирт.машины из VirtualPC в Hyper-V?

    Спасибо

  4. !Serg says:

    Спасибо, выручили. Перенес все машинки под VPC.

Skip to main content