Преобразование Windows 2012 R2 из Hyper-V в KVM (qemu)

18

У меня есть Windows Server 2012 R2 с SharePoint 2013, который я пытаюсь перенести с Hyper-V на KVM (qemu). Я преобразовал файл vhdx в формат qcow2 и скопировал его на сервер KVM (RHEL 7.3)

Виртуальная машина Hyper-V была настроена как поколение 2, и я создал новую виртуальную машину в KVM с микропрограммой UEFI (OVMF).

Когда я загружаюсь, машина переходит в режим автоматического восстановления, но не загружается. Я могу открыть Cmd Prompt и для этого мне нужно пройти аутентификацию с паролем локального администратора.

Я запустил следующее:

  1. Введите BOOTREC / FIXMBR и нажмите клавишу ВВОД.
  2. Введите BOOTREC / FIXBOOT и нажмите клавишу ВВОД.
  3. Введите Drive: \ boot \ Bootsect.exe / NT60 All и нажмите клавишу ВВОД.

Однако виртуальная машина не может загрузиться, всегда переходит в режим восстановления.

Любые предложения о том, что мне нужно проверить или какие-либо сторонние утилиты, которые я мог бы использовать или купить, чтобы помочь мне легко преодолеть это?

Если я войду в командную строку, я могу запустить Diskpart / sel disk 0 / list vol, чтобы увидеть:

Volume 0    D          CDROM          0 B   No Media
Volume 1    C NTFS     Partition    126GB   Healthy
Volume 2    E Recovery Partition    300MB   Healthy   Hidden
Volume 3               Partition     99MB   Healthy   Hidden

ВМ на KVM был настроен как:

* Эмулятор: / usr / libexec / qemu-kvm * ​​Прошивка: UEFI x86_64: * / usr / share / edk2.git / ovmf-x64 / OVMF_CODE-pure-efi.fd * Процессоры 8 * Память 8192MB * IDE DISK-Дисковая шина IDE * Формат хранения qcow2

Что я сделал до сих пор:

  1. Открыл Hyper-V и экспортировал виртуальную машину в новый каталог в Windows
  2. Используйте Hyper-V Inspect Disk для объединения различий между дисками AVHDX и VHDX в один VHDX
  3. Использовал конвертер StarWind v2v для создания файла qcow2
  4. Скопировал файл qcows на компьютер KVM
  5. Создайте новую виртуальную машину той же спецификации:

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь 6. При запуске новой машины я вижу это:

введите описание изображения здесь

окалина
источник
Использовалась ли загрузка EFI на ВМ под сервером Hyper-V?
Михаил Хиргий
EFI была использована на ВМ под Hyper-V
окалины
Одна очевидная вещь, которую я вижу, это то, что Chipset должен быть установлен на Q35 (не i440fx), если вы собираетесь использовать UEFI.
Майкл Хэмптон
Хорошее место - я не знал об этой альтернативе. Пытался установить q35 в xml-файле, используя virsh edit, однако virsh жаловался на проверку при выходе и не сохранял.
Дросс
Любая помощь о том, как получить архитектуру q35 как настраиваемый параметр в virt-manager?
окалина

Ответы:

13

Это это

yum install qemu-img

Сначала проверьте файл, убедитесь, что все в порядке.

qemu-img check -r all rmcjmc01.vhdx

Если все в порядке, конвертируйте файл

qemu-img convert -O qcow2 rmcgmc01.vhdx rmcgmc01.qcow2
Эндрю Ситтерли
источник
1
Я попробовал это , однако , я получаю ошибку так решил использовать StarWind V2V конвертер вместо
окалины
1
Оригинал Пост был обновлен , чтобы включить более подробно
окалины
1
Я попробовал этот подход еще раз (до сих пор борюсь здесь) с новым тестовым Windows 2012 R2 Vm, и на этот раз, похоже, больше прогресса, чем с конвертером StarWind V2V. ВМ не загружается, но начинается синий поиск неисправностей Windows. Один из вариантов - «Обновить компьютер», однако это не может быть продолжено, поскольку я получаю сообщение «Диск, на котором установлена ​​Windows, заблокирован. Разблокируйте диск и попробуйте снова».
Дросс
2
Закончилась разработка с использованием qemu-img. Не уверен, почему конвертер StarWind не работал.
Дросс
17

Какой у вас инструмент для конвертации? MVMC? Вы также можете попробовать конвертер StarWind v2v: https://www.starwindsoftware.com/converter. В то время это мне очень помогло. И, кроме того, он делает идентичный жесткий диск при конвертации из Hyper-v. Само преобразование выполняется на уровне блоков, поэтому все блоки должны быть скопированы без изменений.

batistuta09
источник
1
Также используется StarWind v2v Converter.
окалина