Hyper-V虚拟机的PXE启动是否被禁用?

Hyper-V虚拟机具有PXE引导的能力。 显然,PXE引导引起了一些安全问题 。 问题是,与典型的物理机器的固件不同,没有明显的方法来禁用PXE引导。

Hyper-Vpipe理器在Settings=>Firmware=>Boot Order显示每个虚拟机的networking适配器:

在这里输入图像说明

您可以将networking适配器移动到引导顺序的底部,但不能将其从该屏幕完全移除。 因此,如果由于某种原因,Hyper-V无法从任何其他驱动器启动,则VM仍尝试进行PXE启动并显示此屏幕:

在这里输入图像说明

我已经淘汰Settings=>Network Adapter的方式来禁用PXE启动无济于事。

所以我的问题是:

  1. 如何禁用Hyper-V虚拟机中的PXE引导?
  2. 如果你不能禁用PXE启动,为什么有一个很好的理由?

我正在使用Windows Server 2012 R2

使用Powershell从引导顺序中删除networking引导设备

您可以使用PowerShell从VM引导顺序中剥离Network BootType

提取当前引导顺序

使用Powershell,你可以使用这个命令来提取当前的启动顺序:

 $old_boot_order = Get-VMFirmware -VMName testvm -ComputerName MyHyperVHost ` | Select-Object -ExpandProperty BootOrder 

如果您检查$old_boot_order您应该看到$old_boot_order的引导设备列表。 像这样的东西:

在这里输入图像说明

剥离networking启动设备

您可以使用以下命令,使用Network BootType从引导列表中删除引导设备:

 $new_boot_order = $old_boot_order | Where-Object { $_.BootType -ne "Network" } 

检查$new_boot_order应该看起来像这样没有更多的Network启动设备:

在这里输入图像说明

设置新的启动顺序

要使用此命令设置VM的新引导顺序,请执行以下操作:

 Set-VMFirmware -VMName testvm -ComputerName MyHyperVHost -BootOrder $new_boot_order 

确认新的启动顺序

要确认你做了什么,再次使用第一个Get-VMFirmware命令:

 Get-VMFirmware -VMName testvm -ComputerName MyHyperVHost ` | Select-Object -ExpandProperty BootOrder 

注意:如果您同时使用PowerShell和Hyper-Vpipe理器来更改引导顺序,PowerShell可能会报告错误的(过时的)引导顺序。 另请参阅此technet线程 。

关于你对PXE的关注

PXE在公司环境中的实施可能会引起对安全性的担忧。 这份文件显示了为什么这些担忧大多是没有根据的

http://www-01.ibm.com/support/docview.wss?uid=swg21247020