Can PXE boot of Hyper-V VMs be disabled?
Use Powershell to Remove Network Boot Devices from the Boot Order
You can use PowerShell to strip the Network
BootType
s from the VMs boot order.
Extract the Current Boot Order
Using Powershell you can use this command to extract the current boot order:
$old_boot_order = Get-VMFirmware -VMName testvm -ComputerName MyHyperVHost `
| Select-Object -ExpandProperty BootOrder
If you inspect $old_boot_order
You should see the list of boot devices for testvm
. Something like this:
Strip the Network Boot Devices
You can strip the boot devices from the boot list with the Network
BootType
using this command:
$new_boot_order = $old_boot_order | Where-Object { $_.BootType -ne "Network" }
Inspecting $new_boot_order
should look something like this with no more Network
boot devices:
Set the New Boot Order
To set the new boot order for the VM use this command:
Set-VMFirmware -VMName testvm -ComputerName MyHyperVHost -BootOrder $new_boot_order
Confirm the New Boot Order
To confirm what you did use that first Get-VMFirmware
command again:
Get-VMFirmware -VMName testvm -ComputerName MyHyperVHost `
| Select-Object -ExpandProperty BootOrder
Beware: If you use both PowerShell and Hyper-V manager to make changes to the boot order, PowerShell may report erroneous (out-of-date) boot order. See also this technet thread.