UncleFather » 22 сен 2019 20:02, Вс
Задача:
Имеется физическая машина с операционной системой 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 и запускаем виртуальную машину.
-
Начинаем установку операционной системы, в первом окне выбираем язык, а во втором - «Восстановление системы».
-
Заходим в режим командной строки и запускаем утилиту разметки диска:
-
Смотрим какие физические диски в системе установлены и выбираем нужный:
-
Выводим список томов и выбираем том с нераспознанной файловой системой RAW:
-
Присваиваем тому букву, например, L и форматируем его в файловой системе FAT32:
Код: Выделить всё
assign letter=L
format fs=FAT32 label=«BOOT»
-
После окончания форматирования, выходим из утилиты diskpart и создаем нужную папку на диске L:
-
Заходим в эту папку и пересоздаем загрузочный сектор на загрузочном разделе:
-
Заново создаем хранилище BCD, скопировав файлы среды загрузки из системного каталога:
Здесь:
-
C:\Windows - путь к каталогу с установленной ОС Windows;
-
/l ru-ru - языковой стандарт, который используется при инициализации хранилища BCD;
-
/s L: - буква тома, назначенная целевому системному разделу, в который копируются файлы среды загрузки;
-
/f ALL - указывает, что копировать нужно все файлы среды загрузки, включая файлы для компьютеров с UEFI или BIOS (теоретическая возможность загружаться на EFI и BIOS системах).
-
Выходим из режима восстановления
-
Выключаем виртуальную машину, заходим в ее параметры и удаляем из ее устройств за ненадобностью загрузочный iso образ диска
-
На этом настройка закончена. Теперь виртуальная машина сможет без проблем загрузиться с перенесенным дисковым контейнером vhdx.
Почитать по теме: Восстановление EFI загрузчика в MS Windows
Видеоинструкцию смотрим здесь:
[b][size=150]Задача:[/size][/b]
Имеется физическая машина с операционной системой Microsoft Windows под управлением UEFI. Необходимо перенести (скопировать) ее в виртуальную среду гипервизора Hyper-V.
[hr][/hr]
[b][size=150]Решение:[/size][/b]
[list=1][*] Скачиваем утилиту [url=https://docs.microsoft.com/en-us/sysinternals/downloads/disk2vhd]Disk2vhd[/url] с официального сайта Microsoft. С помощью этой утилиты мы создадим виртуальный диск VHD (Virtual Hard Disk - формат виртуальной машины Microsoft) из физического диска, для использования его в среде Microsoft Virtual PC или Microsoft Hyper-V.
Отличительное свойство этой утилиты - это то, что она «умеет» создавать образы VHD непосредственно на работающей системе, так сказать «в режиме реального времени».
[*] Запускаем утилиту на исходном компьютере и создаем виртуальный диск, отметив галочкой системный том:[attachment=2]01.jpg[/attachment]
[*] Дожидаемся окончания создания контейнера с образом диска и переносим его на диск гипервизора Hyper-V.
[*] Создаем виртуальную машину второго поколения с параметрами по умолчанию. В качестве виртуального диска указываем только что скопированный файл образа VHDX.
[*] Устанавливаем необходимые настройки - количество процессоров, объем оперативной памяти и пр.
[*] Пытаемся стартовать виртуальную машину. [b][size=130]Если все хорошо и ОС успешно загружается, значит наша задача выполнена[/size][/b].
Но иногда [size=130][b]бывает, что операционная система отказывается загружаться[/b][/size] и мы увидим ошибку [quote]No UEFI Compatible file system was found[/quote]
В этом случае нужно будет дополнительно выполнить приведенные ниже шаги.
Причина такого поведения системы в том, что в виртуальном контейнере VHDX отсутствует отформатированный том в системном EFI разделе 100Mb. Сам раздел присутствует, но система не распознает том в этом разделе и помечает его как RAW:[attachment=0]03.jpg[/attachment]
Мы знаем, что для удачной загрузки, операционной системе нужен как раз этот EFI раздел, на котором должен находиться отформатированный в FAT32 том, где в папке [b][i]EFI/Microsoft/boot[/i][/b] должны присутствовать необходимые для загрузки файлы. На исходной системе так и было:[attachment=1]02.jpg[/attachment]
Но, вследствие каких-то преобразований при упаковке в контейнер VHDX, этот том был утерян или поврежден, поэтому нам нужно просто его восстановить, и вновь поместить нужные для загрузки операционной системы файлы по фиксированному пути. Итак, продолжаем:
[*] Подключаем к виртуальной машине загрузочный iso образ диска с ОС, поддерживающей загрузку с UEFI и запускаем виртуальную машину.
[*] Начинаем установку операционной системы, в первом окне выбираем язык, а во втором - «Восстановление системы».
[*] Заходим в режим командной строки и запускаем утилиту разметки диска:
[code]diskpart[/code]
[*] Смотрим какие физические диски в системе установлены и выбираем нужный:
[code]list disk
select disk 0[/code]
[*] Выводим список томов и выбираем том с нераспознанной файловой системой RAW:
[code]list volume
select volume 2[/code]
[*] Присваиваем тому букву, например, L и форматируем его в файловой системе FAT32:
[code]assign letter=L
format fs=FAT32 label=«BOOT»[/code]
[*] После окончания форматирования, выходим из утилиты diskpart и создаем нужную папку на диске L:
[code]exit
md l:\efi\microsoft\boot[/code]
[*] Заходим в эту папку и пересоздаем загрузочный сектор на загрузочном разделе:
[code]cd l:\efi\microsoft\boot
bootrec /fixboot[/code]
[*] Заново создаем хранилище BCD, скопировав файлы среды загрузки из системного каталога:
[code]bcdboot C:\Windows /l ru-ru /s L: /f ALL[/code]
Здесь:
[list][*] [b][i]C:\Windows[/i][/b] - путь к каталогу с установленной ОС Windows;
[*] [b][i]/l ru-ru[/i][/b] - языковой стандарт, который используется при инициализации хранилища BCD;
[*] [b][i]/s L:[/i][/b] - буква тома, назначенная целевому системному разделу, в который копируются файлы среды загрузки;
[*] [b][i]/f ALL[/i][/b] - указывает, что копировать нужно все файлы среды загрузки, включая файлы для компьютеров с UEFI или BIOS (теоретическая возможность загружаться на EFI и BIOS системах).[/list]
[*] Выходим из режима восстановления
[code]exit[/code]
[*] Выключаем виртуальную машину, заходим в ее параметры и удаляем из ее устройств за ненадобностью загрузочный iso образ диска
[*] На этом настройка закончена. Теперь виртуальная машина сможет без проблем загрузиться с перенесенным дисковым контейнером vhdx.[/list]
Почитать по теме: [url=https://manaeff.ru/forum/viewtopic.php?p=2446#p2446]Восстановление EFI загрузчика в MS Windows[/url]
[size=130]Видеоинструкцию смотрим здесь:[/size]
[media]https://youtu.be/Jhub07hjrQE[/media]