Обновить образ виртуальной машины Hyper V Gen 2 / UEFI

Итак, мы наконец укусили пулю и начали использовать UEFI для наших настольных компьютеров. Он отлично работает с нашими образами Hyper V - мы можем создавать виртуальные машины второго поколения в течение всего дня. Это верно до тех пор, пока нам не понадобится воссоздать образ. Как мне настроить виртуальную машину поколения 2 с существующей ОС для загрузки из PXE?

Всю жизнь я не могу изменить порядок загрузки, чтобы разрешить загрузку по сети. В интерфейсе прошивки в системных настройках перечислены только менеджеры загрузки Windows. Больно и медленно удалять и воссоздавать виртуальные машины каждый раз, когда мы хотим попробовать новый вариант образа. Как мы можем решить эту проблему? Я предполагаю, что в виртуальной машине есть какой-то скрытый флаг, который мне нужно отредактировать с помощью Powershell, но документации нет.

4
задан 12 July 2016 в 00:20
2 ответа

У меня те же проблемы/проблемы, что и у Тима Бригама. То, что у вас (Григория) есть варианты, не означает, что они есть у нас. Вот скриншот опций загрузки, который у меня есть в ВМ: Missing boot options Сдвиг удержания тоже не работает, как вы описываете. Похоже, это работает.

Как изменить порядок загрузки (сначала NIC):
Я провел некоторые исследования, и кажется, что вы можете изменить порядок загрузки только для ВМ Generation 2, работающих под Windows Server 2012 R2 или более поздней версии, используя powershell. Я использовал следующие команды powershell для изменения порядка загрузки:

$VM = Get-VM "VmName"
$network = $VM | Get-VMFirmware |select -ExpandProperty BootOrder | where {$_.FirmwarePath.EndsWith("MAC(000000000000)")}
$VM | Set-VMFirmware -FirstBootDevice $network

Теперь ВМ будет загружаться по сети. После этого вам, вероятно, нужно/необходимо изменить порядок загрузки обратно в файл, который будет первым загрузочным устройством. Вы также можете выбрать сохранение сети в качестве первого загрузочного устройства.

Обновление 15-3-2017
Предупреждение о запуске
Каждый раз, когда вы повторно изображаете машину UEFI, в список прошивок будет добавляться дополнительный 'bootmgfw.efi'. Удаление устаревших файлов bootmgfw - не простой процесс; для их очистки необходимо использовать BCDEDIT в самой ВМ. Руководство по этому поводу можно найти здесь . При использовании этого руководства, будьте осторожны, не удаляйте GUID-ы, связанные с устройствами загрузки EFI

Как изменить порядок загрузки (сначала файл):
Если вы удалили устаревшие записи прошивки с помощью руководства, упомянутого выше, вы можете изменить порядок загрузки обратно в файл, используя сначала следующий код powershell:

$VM = Get-VM "VmName"
$file = $VM | Get-VMFirmware |select -ExpandProperty BootOrder | where {$_.FirmwarePath.EndsWith(".efi")}
$VM | Set-VMFirmware -FirstBootDevice $file

Примечание: Мне кажется странным, что прошивка для Gen2 VM, запущенная на Windows 2012 R2 и выше, показывает только опцию 'file'. Интересно: это по замыслу или это ошибка?

.
2
ответ дан 3 December 2019 в 03:55

У меня виртуальная машина Windows 10 работает под Windows 8.1 и Windows 10 Hyper -V с включенной безопасной загрузкой, и я могу видеть сетевой адаптер в качестве источника загрузки и перемещать его вверх по очереди загрузки на обеих машинах, и даже дальше, я могу загружаться в свои образы WDS.

VM Settings

PXE Booting

Еще одна альтернатива - перезапуск гостевой системы с консоли, удерживая клавишу Shift (любая Windows UEFI), что дает вам возможность устранения неполадок и параметров загрузки, где вы можете выбрать загрузку из сети.

Using a device for boot

EFI Network boot

Но как только я это проверил, я получил тайм-аут загрузки TFTP, который был исправлен настройкой свойств WDS -> TFTP -> Максимальный размер блока: 1024 вместо 0.

0
ответ дан 3 December 2019 в 03:55

Теги

Похожие вопросы