Итак, мы наконец укусили пулю и начали использовать UEFI для наших настольных компьютеров. Он отлично работает с нашими образами Hyper V - мы можем создавать виртуальные машины второго поколения в течение всего дня. Это верно до тех пор, пока нам не понадобится воссоздать образ. Как мне настроить виртуальную машину поколения 2 с существующей ОС для загрузки из PXE?
Всю жизнь я не могу изменить порядок загрузки, чтобы разрешить загрузку по сети. В интерфейсе прошивки в системных настройках перечислены только менеджеры загрузки Windows. Больно и медленно удалять и воссоздавать виртуальные машины каждый раз, когда мы хотим попробовать новый вариант образа. Как мы можем решить эту проблему? Я предполагаю, что в виртуальной машине есть какой-то скрытый флаг, который мне нужно отредактировать с помощью Powershell, но документации нет.
У меня те же проблемы/проблемы, что и у Тима Бригама. То, что у вас (Григория) есть варианты, не означает, что они есть у нас. Вот скриншот опций загрузки, который у меня есть в ВМ:
Сдвиг удержания тоже не работает, как вы описываете. Похоже, это работает.
Как изменить порядок загрузки (сначала 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'. Интересно: это по замыслу или это ошибка?
.У меня виртуальная машина Windows 10 работает под Windows 8.1 и Windows 10 Hyper -V с включенной безопасной загрузкой, и я могу видеть сетевой адаптер в качестве источника загрузки и перемещать его вверх по очереди загрузки на обеих машинах, и даже дальше, я могу загружаться в свои образы WDS.
Еще одна альтернатива - перезапуск гостевой системы с консоли, удерживая клавишу Shift (любая Windows UEFI), что дает вам возможность устранения неполадок и параметров загрузки, где вы можете выбрать загрузку из сети.
Но как только я это проверил, я получил тайм-аут загрузки TFTP, который был исправлен настройкой свойств WDS -> TFTP -> Максимальный размер блока: 1024 вместо 0.