web-dev-qa-db-ja.com

Hyper-V VMのPXEブートを無効にできますか?

Hyper-V仮想マシンには、PXEブート機能があります。明らかに、PXEブート いくつかのセキュリティ上の懸念を引き起こします 。問題は、一般的な物理マシンのファームウェアとは異なり、PXEブートを完全に無効にする明白な方法がないことです。

Hyper-Vマネージャーは、VMの各ネットワークアダプターをSettings=>Firmware=>Boot Order

enter image description here

ネットワークアダプターを起動順序の一番下に移動できますが、その画面から完全に削除することはできません。したがって、何らかの理由で、Hyper-Vが他のどのドライブからも起動できない場合でも、VMはPXEブートを試み、次の画面を表示します。

enter image description here

私は精練したSettings=>Network Adapter PXEブートを無効にして無効にする方法。

だから私の質問は:

  1. Hyper-V VMでPXEブートを無効にするにはどうすればよいですか?
  2. PXEブートを無効にできない場合、理由はありますか?

Windows Server 2012 R2を使用しています

8
alx9r

Powershellを使用して起動順序からネットワークブートデバイスを削除する

PowerShellを使用して、VMのブート順序からNetworkBootTypesを取り除くことができます。

現在の起動順序を抽出する

Powershellを使用すると、次のコマンドを使用して現在のブート順序を抽出できます。

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

検査する場合$old_boot_ordertestvmの起動デバイスのリストが表示されます。このようなもの:

enter image description here

ネットワークブートデバイスを削除する

次のコマンドを使用して、NetworkBootTypeでブートリストからブートデバイスを削除できます。

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

検査$new_boot_orderは、Networkブートデバイスがなくなると、次のようになります。

enter image description here

新しい起動順序を設定する

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-Vマネージャーの両方を使用してブート順序を変更すると、PowerShellが誤った(古い)ブート順序を報告する場合があります。参照 このtechnetスレッド

8
alx9r