所以我们最终硬着头皮开始在桌面上使用 UEFI。它非常适合我们的 Hyper V 映像 - 我们可以整天创建第 2 代虚拟机。在我们需要重新映像之前都是如此。如何将具有现有操作系统的第 2 代虚拟机设置为从 PXE 启动?
在我的一生中,我无法更改启动顺序以允许我从网络启动。在系统设置下的固件界面中,它仅列出了 Windows 启动管理器。每次我们想要尝试图像的新变体时,都必须删除并重新创建虚拟机,这既痛苦又缓慢。我们该如何解决这个问题?我猜测虚拟机中存在一些隐藏的标志,我需要使用 Powershell 进行编辑,但缺少文档。
我和蒂姆·布里格姆有同样的问题。你(格里戈里)确实有选择,并不意味着我们也有。这是我在虚拟机中的启动选项的屏幕截图:
按住 Shift 也不起作用,正如您所描述的那样。这似乎确实有效。
如何更改启动顺序(首先是 NIC):
我做了一些研究,似乎您只能使用 powershell 更改在 Windows Server 2012 R2 或更高版本上运行的第 2 代 VM 的启动顺序。我使用以下 powershell 命令来更改启动顺序:
$VM = Get-VM "VmName"
$network = $VM | Get-VMFirmware |select -ExpandProperty BootOrder | where {$_.FirmwarePath.EndsWith("MAC(000000000000)")}
$VM | Set-VMFirmware -FirstBootDevice $network
Run Code Online (Sandbox Code Playgroud)
现在虚拟机将从网络启动。之后,您可能需要/想要将引导顺序更改回文件作为第一引导设备。您还可以选择将网络保留为第一启动设备。
更新 15-3-2017
注意警告
每次重新映像 UEFI 计算机时,都会将额外的“bootmgfw.efi”添加到固件列表中。删除过时的 bootmgfw 文件并不是一个简单的过程;您需要在虚拟机本身中使用 BCDEDIT 来清理它们。可以在此处找到有关如何执行此操作的指南。使用本指南时,请小心不要删除链接到 EFI 启动设备的 GUID
如何更改启动顺序(文件优先):
如果您已使用上述指南删除了过时的固件条目,则可以使用以下 powershell 代码将启动顺序更改回文件优先:
$VM = Get-VM "VmName"
$file = $VM | Get-VMFirmware |select -ExpandProperty BootOrder | where {$_.FirmwarePath.EndsWith(".efi")}
$VM | Set-VMFirmware -FirstBootDevice $file
Run Code Online (Sandbox Code Playgroud)
注意:我觉得奇怪的是,在 Windows 2012 R2 及更高版本上运行的 Gen2 VM 的固件仅显示“文件”选项。我想知道:这是设计使然还是错误?
归档时间: |
|
查看次数: |
6623 次 |
最近记录: |