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


10

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

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

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


1
Windows Server 2016は、Windows Server 2008 R2、Windows Server 2012、またはWindows Server 2012 R2ではありません。これでうまくいくと思いますか?それが可能であることを示唆するMSのドキュメントが見つかりません。
joeqwerty 2016年

3
マイクロソフトがシステム自体のすべての問題について考えているドキュメントの更新に遅延があるため、すべてのオンラインドキュメントを最新の状態に保つのは困難です。時間がかかるだけです。......のように機能しない理由はありません。あれ……
ミハル

回答:


8

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を展開できます。したがって、これもオプションです。


3

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

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

Hyper-V Server 2016をインストールした後、オフラインツール(Windows PEなど)を使用して新しいインストールのSYSTEMハイブをマウントし、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で推奨されている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のビット。


フラグの値とその意味のリストはここで見つけることができます:docs.microsoft.com/en-us/windows-hardware/drivers/install/...
RJカスバートソン

@RJCuthbertsonとてもいいですね!
リードランキン

1

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.