Задача:
Имеется физическая машина с операционной системой Microsoft Windows под управлением UEFI. Необходимо перенести (скопировать) ее в виртуальную среду гипервизора Hyper-V.
Решение:
-
Скачиваем утилиту Disk2vhd с официального сайта Microsoft. С помощью этой утилиты мы создадим виртуальный диск VHD (Virtual Hard Disk - формат виртуальной машины Microsoft) из физического диска, для использования его в среде Microsoft Virtual PC или Microsoft Hyper-V.
Отличительное свойство этой утилиты - это то, что она «умеет» создавать образы VHD непосредственно на работающей системе, так сказать «в режиме реального времени».
-
Запускаем утилиту на исходном компьютере и создаем виртуальный диск, отметив галочкой системный том:
-
Дожидаемся окончания создания контейнера с образом диска и переносим его на диск гипервизора Hyper-V.
-
Создаем виртуальную машину второго поколения с параметрами по умолчанию. В качестве виртуального диска указываем только что скопированный файл образа VHDX.
-
Устанавливаем необходимые настройки - количество процессоров, объем оперативной памяти и пр.
-
Пытаемся стартовать виртуальную машину. Если все хорошо и ОС успешно загружается, значит наша задача выполнена.
Но иногда бывает, что операционная система отказывается загружаться и мы увидим ошибку
No UEFI Compatible file system was found
В этом случае нужно будет дополнительно выполнить приведенные ниже шаги.
Причина такого поведения системы в том, что в виртуальном контейнере VHDX отсутствует отформатированный том в системном EFI разделе 100Mb. Сам раздел присутствует, но система не распознает том в этом разделе и помечает его как RAW:
Мы знаем, что для удачной загрузки, операционной системе нужен как раз этот EFI раздел, на котором должен находиться отформатированный в FAT32 том, где в папке EFI/Microsoft/boot должны присутствовать необходимые для загрузки файлы. На исходной системе так и было:
Но, вследствие каких-то преобразований при упаковке в контейнер VHDX, этот том был утерян или поврежден, поэтому нам нужно просто его восстановить, и вновь поместить нужные для загрузки операционной системы файлы по фиксированному пути. Итак, продолжаем:
-
Подключаем к виртуальной машине загрузочный iso образ диска с ОС, поддерживающей загрузку с UEFI и запускаем виртуальную машину.
-
Начинаем установку операционной системы, в первом окне выбираем язык, а во втором - «Восстановление системы».
-
Заходим в режим командной строки и запускаем утилиту разметки диска:
Код: Выделить всё
diskpart
-
Смотрим какие физические диски в системе установлены и выбираем нужный:
Код: Выделить всё
list disk select disk 0
-
Выводим список томов и выбираем том с нераспознанной файловой системой RAW:
Код: Выделить всё
list volume select volume 2
-
Присваиваем тому букву, например, L и форматируем его в файловой системе FAT32:
Код: Выделить всё
assign letter=L format fs=FAT32 label=«BOOT»
-
После окончания форматирования, выходим из утилиты diskpart и создаем нужную папку на диске L:
Код: Выделить всё
exit md l:\efi\microsoft\boot
-
Заходим в эту папку и пересоздаем загрузочный сектор на загрузочном разделе:
Код: Выделить всё
cd l:\efi\microsoft\boot bootrec /fixboot
-
Заново создаем хранилище 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 системах).
-
-
Выходим из режима восстановления
Код: Выделить всё
exit
-
Выключаем виртуальную машину, заходим в ее параметры и удаляем из ее устройств за ненадобностью загрузочный iso образ диска
-
На этом настройка закончена. Теперь виртуальная машина сможет без проблем загрузиться с перенесенным дисковым контейнером vhdx.
Почитать по теме: Восстановление EFI загрузчика в MS Windows
Видеоинструкцию смотрим здесь: