web-dev-qa-db-ja.com

Hyper V Gen 2 / UEFIのイメージを再作成するVM

ついに、私たちはついに弾丸をかみ、デスクトップにUEFIを使い始めました。これは、Hyper Vイメージに対して完全に機能します。第2世代のVMを終日作成できます。これは、イメージを再作成する必要があるまで当てはまります。 Gen 2をどのように設定するかVM既存のOSでPXEから起動するために?

私の人生では、ネットワークから起動できるように起動順序を変更することはできません。システム設定のファームウェアインターフェイスでは、Windowsブートマネージャーのみが一覧表示されます。イメージの新しいバリエーションを試すたびにVMを削除して再作成しなければならないのは、手間と時間がかかります。これにどのように取り組むことができますか? VM Powershellで編集する必要がありますが、ドキュメントが不足しています。)に埋め込みフラグがあると思います。

4
Tim Brigham

Tim Brighamと同じ問題/問題が発生しています。あなた(グリゴリー)がオプションを持っているということは、私たちがそれらを持っているという意味ではありません。これが、VMにある起動オプションのスクリーンショットです。 Missing boot options あなたが説明するようにシフトを押し続けることは機能しません。 これは動作するようです。

起動順序を変更する方法(最初に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

VMはネットワークから起動します。その後、おそらく起動順序を最初の起動デバイスであるファイルに戻す必要がある/望んでいます。最初の起動としてネットワークを維持することもできます端末。

2017年3月15日更新
ヘッドアップ警告
UEFIマシンのイメージを再作成するたびに、追加の「bootmgfw.efi」がファームウェアリストに追加されます。古いbootmgfwファイルを削除することは簡単なプロセスではありません。 VM自体でクリーンアップするには、BCDEDITを使用する必要があります。これを行う方法のガイドは、 here にあります。このガイドを使用する場合は、 EFIブートデバイスにリンクされているGUIDを削除しないように注意してください

起動順序を変更する方法(最初にファイル):
上記のガイドを使用して古いファームウェアエントリを削除した場合は、次のpowershellコードを使用して、最初に起動順序をファイルに戻すことができます。

$VM = Get-VM "VmName"
$file = $VM | Get-VMFirmware |select -ExpandProperty BootOrder | where {$_.FirmwarePath.EndsWith(".efi")}
$VM | Set-VMFirmware -FirstBootDevice $file

注:Windows 2012 R2以降で実行されているGen2 VMのファームウェアに「ファイル」オプションしか表示されないのは奇妙です。私は不思議に思っています:これは設計によるものですか、それともバグですか?

2
Erik

Windows 10を使用しているVMセキュアブートが有効になっているWindows 8.1およびWindows 10 Hyper-Vで実行しており、ネットワークアダプターをブートソースとして表示して、両方のブートキューに移動できます。マシン、さらにその上で、実際にWDSイメージを起動できます。

VM Settings

PXE Booting

別の代替方法-Shiftキーを押しながらコンソールからゲストを再起動する(任意のUEFI Windows)。ネットワークからの起動を選択できるトラブルシューティングと起動オプションが表示されます。

Using a device for boot

EFI Network boot

しかし、これをテストしたように、TFTPダウンロードタイムアウトを受け取りました。これは、WDSプロパティ-> TFTP->最大ブロックサイズ:デフォルトの0ではなく1024を調整することで修正されました。

0
Grigory Sergeev