web-dev-qa-db-ja.com

USBからHyper-v 2016を実行しようとしています

今日の午後にHyper-v 2016をテストしようとしましたが、次の手順を使用して構成したUSBからR630を起動できません https://technet.Microsoft.com/library/ee731893(ws.10 ).aspx

問題なくHyper-v 2012 R2でまったく同じガイドを使用しました。

誰もがこれで運がありますか?

10
Mr. Raspberry

Windows Server 2016 TP3のSDカードへの展開に関する情報を見つけました。

https://www.danielstechblog.info/how-to-deploy-windows-server-2016-tp3-onto-an-sd-card/

このトピックでは、SDカードへのWindows Serverの展開について説明しましたが、これはTP3でした。リリース版でも同じことができると思います。

また、SATA DOMを考慮することもできます。

https://www.supermicro.com/products/nfo/SATADOM.cfm

安くて小さいサイズのオプションです。その上に任意のOSを展開できます。だからそれもオプションです。

8
Stuka

私は最近この問題に遭遇し、数日間のデバッグの後に、問題を発見して修正しました。

ドラムロールしてください:

Hyper-V Server 2016をインストールした後、オフラインツール(Windows PEなど)を使用して新しいインストールのシステムハイブをマウントし、DWORD ControlSet001\Control\BootDriverFlagsを0x04から0x1cに変更します。 (適切な対策として、おそらくControlSet002のバージョンも変更する必要があります。また、変更をinstall.wimにベイクして、各インストール後にこれを行う必要がないようにすることができます。)

もちろん不明瞭で完全に文書化されていないビットフィールドで2ビットの変更が必要なだけであることを理解するには、1週間とカーネルデバッガーがかかるためです。)

これが理由です。

Windowsブートローダーは組み込みのUEFIルーチンを使用してWindowsインストールを検索し、ExitBootServicesを呼び出す前に、カーネルとブートドライバーをRAMにロードします。これを実行し、制御をカーネルに渡したら、 、適切なドライバーがRAMに既に存在しない限り、カーネルはブートボリュームにアクセスできません。

ただし、キッカーは次のとおりです。winload.efiは、ハードウェアを列挙し、実際に必要なドライバーを特定するほど複雑ではありません。古いバージョンでは、Boot Startに設定されたもののみをロードしていました。ただし、無関係なドライバーを読み込むとパフォーマンスが低下し、Windowsがより多くのクラスのブートデバイスをサポートするようになったため、より優れたシステムが必要になりました。

個々のドライバーのBootFlags値とシステム全体のBootDriverFlags値を入力します。 (BootFlags&BootDriverFlags)!= 0の場合、ドライバーは、Boot Startに設定されていなくてもロードされます。値の各ビットは異なるタイプのハードウェアに対応しているはずなので、BootDriverFlags値はどのタイプのハードウェアから起動できるかを設定します。

このメカニズムが導入されたとき、ビット3はUSBブートデバイス用に指定されていましたが、標準のWindowsではUSBデバイスからのブートはサポートされていませんでした。 Hyper-V Server 2008 R2バージョンでは、この値を0x04に設定することにより、USBからの起動に特定のサポートが追加されました。この値は、それ以降にリリースされたすべてのバージョンのHyper-V Serverで設定されています。

その後、Windows To Go機能をサポートするために行われた一般的な改善により、USBデバイスにインストールされている以前のバージョンのHyper-V Serverで推奨されているboot-to-VHDトリックを使用する必要がなくなりました。ただし、BootDriverFlags値の意味も変更します。 USB 3デバイスには別のビットが与えられ、SDカードにはさらに別のビットが与えられました。

2016バージョンでは、これは値0x04がSDカードではないUSB2ディスクからの起動のみを有効にすることを意味します。 Hyper-V Serverを除くすべてのバージョンのServer 2016には、USB2、USB3、およびSDカードの起動を有効にするデフォルト値0x1cが同梱されています。ただし、0x04の値は、Hyper-Vサーバーで引き続き設定されています。これは、2008R2バージョンのイメージビルドプロセスでオーバーライドとして追加されたためです。ただし、機能を追加する代わりに、この値は機能を削除します。

これは、この問題に対するいくつかの以前の解決策が、USB3を無効にし、SDカードではなくUSBスティックから起動することを推奨した理由を説明しています。これにより、起動デバイスのカテゴリは、「USB "BootDriverFlagsのビット。

3
Reid Rankin

私は、Hyper-Vサーバー2016の文字(ドライブ文字を除いて)の指示に従いましたが、古いDell PowerEdge T710サーバーでは完全に機能しました。現在、内部USBポートで実行されています。ただし、Dellユニットは、内部USBがハードディスクとして表示されることをシステムに通知できます。それが違いだったのかもしれません。しかし、私はそう言うことができます2008 R2の手順を推定して、それを2016 HyperV Serverにうまく適用できます。

1
DOS_Vader