Страница 1 из 1

Перенос ОС MS Windows (на UEFI) в виртуальную среду Hyper-V

Добавлено: 22 сен 2019 20:02, Вс
UncleFather

Задача:

Имеется физическая машина с операционной системой Microsoft Windows под управлением UEFI. Необходимо перенести (скопировать) ее в виртуальную среду гипервизора Hyper-V.


Решение:

  1. Скачиваем утилиту Disk2vhd с официального сайта Microsoft. С помощью этой утилиты мы создадим виртуальный диск VHD (Virtual Hard Disk - формат виртуальной машины Microsoft) из физического диска, для использования его в среде Microsoft Virtual PC или Microsoft Hyper-V.

    Отличительное свойство этой утилиты - это то, что она «умеет» создавать образы VHD непосредственно на работающей системе, так сказать «в режиме реального времени».

  2. Запускаем утилиту на исходном компьютере и создаем виртуальный диск, отметив галочкой системный том:

    01.jpg
  3. Дожидаемся окончания создания контейнера с образом диска и переносим его на диск гипервизора Hyper-V.

  4. Создаем виртуальную машину второго поколения с параметрами по умолчанию. В качестве виртуального диска указываем только что скопированный файл образа VHDX.

  5. Устанавливаем необходимые настройки - количество процессоров, объем оперативной памяти и пр.

  6. Пытаемся стартовать виртуальную машину. Если все хорошо и ОС успешно загружается, значит наша задача выполнена.

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

    No UEFI Compatible file system was found

    В этом случае нужно будет дополнительно выполнить приведенные ниже шаги.

    Причина такого поведения системы в том, что в виртуальном контейнере VHDX отсутствует отформатированный том в системном EFI разделе 100Mb. Сам раздел присутствует, но система не распознает том в этом разделе и помечает его как RAW:

    03.jpg

    Мы знаем, что для удачной загрузки, операционной системе нужен как раз этот EFI раздел, на котором должен находиться отформатированный в FAT32 том, где в папке EFI/Microsoft/boot должны присутствовать необходимые для загрузки файлы. На исходной системе так и было:

    02.jpg

    Но, вследствие каких-то преобразований при упаковке в контейнер VHDX, этот том был утерян или поврежден, поэтому нам нужно просто его восстановить, и вновь поместить нужные для загрузки операционной системы файлы по фиксированному пути. Итак, продолжаем:

  7. Подключаем к виртуальной машине загрузочный iso образ диска с ОС, поддерживающей загрузку с UEFI и запускаем виртуальную машину.

  8. Начинаем установку операционной системы, в первом окне выбираем язык, а во втором - «Восстановление системы».

  9. Заходим в режим командной строки и запускаем утилиту разметки диска:

    Код: Выделить всё

    diskpart
  10. Смотрим какие физические диски в системе установлены и выбираем нужный:

    Код: Выделить всё

    list disk
    select disk 0
  11. Выводим список томов и выбираем том с нераспознанной файловой системой RAW:

    Код: Выделить всё

    list volume
    select volume 2
  12. Присваиваем тому букву, например, L и форматируем его в файловой системе FAT32:

    Код: Выделить всё

    assign letter=L
    format fs=FAT32 label=«BOOT»
  13. После окончания форматирования, выходим из утилиты diskpart и создаем нужную папку на диске L:

    Код: Выделить всё

    exit
    md l:\efi\microsoft\boot
  14. Заходим в эту папку и пересоздаем загрузочный сектор на загрузочном разделе:

    Код: Выделить всё

    cd l:\efi\microsoft\boot
    bootrec /fixboot
  15. Заново создаем хранилище BCD, скопировав файлы среды загрузки из системного каталога:

    Код: Выделить всё

    bcdboot C:\Windows /l ru-ru /s L: /f ALL

    Здесь:

    • C:\Windows - путь к каталогу с установленной ОС Windows;

    • /l ru-ru - языковой стандарт, который используется при инициализации хранилища BCD;

    • /s L: - буква тома, назначенная целевому системному разделу, в который копируются файлы среды загрузки;

    • /f ALL - указывает, что копировать нужно все файлы среды загрузки, включая файлы для компьютеров с UEFI или BIOS (теоретическая возможность загружаться на EFI и BIOS системах).

  16. Выходим из режима восстановления

  17. Выключаем виртуальную машину, заходим в ее параметры и удаляем из ее устройств за ненадобностью загрузочный iso образ диска

  18. На этом настройка закончена. Теперь виртуальная машина сможет без проблем загрузиться с перенесенным дисковым контейнером vhdx.

Почитать по теме: Восстановление EFI загрузчика в MS Windows

Видеоинструкцию смотрим здесь: