Minisforum UM480XTのBluetoothが故障したらしく、サーバーに転用しようとしている過程でHyper-V Server 2019を構築しようとしているのですが、Hyper-V Server 2019の構築でNICが認識されないという洗礼を浴びたので記録することにしました。普段使っているコンシューマーWindowsがいかに優しいのかよくわかりました。
Intelはエンタープライズのサポートもぬかりないと思っていたのですが、逆にIntelだからこそという話もあるようです。
環境について
Minisforumのエントリーモデル、UM480XTには贅沢?にもIntel I226-Vが搭載されていますので、
そちらについて対応していきます。
すでに廃版ですが、後継製品は出ているようです。同じ製品だったとしても、このあたりのインディーズメーカーは仕様変更も流動的ですので、ロットによって部品構成が違う可能性もあります。
準備
ネットワークアダプターの製品を調べます。下記コマンドで「システム情報」を起動します。
msinfo32
「コンポーネント」→「問題のあるデバイス」をクリックして、認識されていないネットワークアダプターを確認します。「VEN_8086」はインテルを表し、「DEV_125C」という製品であることがわかります。

Googleで「DEV_125C ドライバ」などと検索するとだいたいドライバは見つかります。感覚的には8割ぐらいはきちんと見つかります。

Windows Server 2022向けのドライバを選び、かつPROSetではないほうをダウンロードしました。後で分かったことですが、PROSetはオプションである旨が公式サイトにも記載されていました。

ダウンロードしたら解凍して、USBメモリーに保存、それをHyper-V ServerをインストールしたPCに接続して準備完了。
ドライバの特定
解凍したドライバは複数フォルダに複数ファイルあり、どれが該当するものなのかがまずわかりません。そこで以下の手順でドライバを特定します。
wmic logicaldisk get name
実行すると、以下のように接続されているドライブが一覧表示されます。

ドライブが複数ある場合はそれらをあたっていく必要がありますが、今回はE:ドライブがUSBメモリーとなっていました。
E:
dir
E:ドライブに移動して、中身を見るとこんな感じで、解凍されたフォルダが表示されています。この環境ではフォルダ名を「Hyper-V Server I226-V」としています。

cd <ドライバが格納されたフォルダ名>
dir
ドライバが格納されたフォルダに移動し、内容を表示して確認します。

findstr /S 125C *.inf
findstrコマンドを使って、サブフォルダ内に含まれる.infという拡張子を持つファイルのうち、「125C」という文字列を含む場所を検索するコマンドで、以下の通りに出力されます。

上記からわかることは、「PRO2500」というフォルダの中に、「NDIS~」、「W11」、「WS2022」のフォルダがあり、それぞれに、「e2f.inf」というドライバファイルがあることがわかります。
今回は、WS2022をベースに作業しました。Windows Server2022も、Hyper-V 2019も、同じWindows10をベースとしたOSですので適用できるはずです。なので、以後の手順は「<ドライバを解凍したフォルダ名>\\PRO2500\Winx64\WS2022\e2f.inf」を編集していきます。
ドライバの編集
Hyper-V Server 2019には幸いWindows10と同じ「メモ帳」がインストールされています。該当のドライバファイルをコマンドで指定すれば、あとはメモ帳での操作になります。
特定したドライバをメモ帳で開くには以下のコマンドです。
Wired_driver_30.1_x64\PRO2500\Winx64\WS2022\e2f.inf
下記の通り、先ほど特定したファイル名をフルパスで選択して、そのままコピー→貼り付けで実行することでドライバファイルを編集するためのメモ帳で起動してきます。

開くと以下のようになっていて、上の方にある[Intel.NTamd64.10.0.1..17763]には「125C」についての記述がありますが、下の方にある[Intel.NTamd64.10.0…17763]にはありません。

[Intel.NTamd64.10.0.1..17763]→こっちには該当製品の125Cについての記載あり。
[Intel.NTamd64.10.0…17763]→こっちには125Cについての記載なし。
基本的には完コピですが、真ん中(Section)と右側(DeviceID)のカラム?に関しては少々変更があるのでご注意ください。
[Intel.NTamd64.10.0.1..17763]のセクションから、[Intel.NTamd64.10.0…17763]に合わせて微修正、DeviceIDは、msinfo32で表示されたものの、「SUBSYS」の配下までを入れます。

msinfo32のここまで↓

もう少し下の方へ行くと、製品ごとのセクションが現れます。今回は「I226-V」ですので、そのセクションを丸ごとコピーしてすぐ下に貼り付け、[E125C.10.0.1..17763]を[E125C.10.0…17763]に書き換えます。後続の「~Services」、「~HW」についても同様に変更します。私はここでハマりました。

完了したら上書きしてしまいましょう。ここまでが一番の難所だとは思います。ですが、一つ一つ確実に取り掛かれば難しくはないはずです。
テストモードに切り替え
昨今ではセキュリティの関係で改変されたドライバーは一筋縄で入れられません。セキュアブート解除(すでに有効な場合)テストモードに移行→ドライバインストール→テストモード解除→セキュアブート有効といった流れを踏みます。
まずは再起動して、再起動時、起動ロゴが表示されたら、F7、F2、F11、DELキーなどのいずれかを連打してBIOS(UEFI)画面に入ります。
私の環境では、メニューの「Security」の中に「Secure Boot」の項目がありました。

「Secure Boot」を「Disabled」に変更して、設定を保存、再起動します。

再起動したら下記コマンドでテストモードを有効にしてまた再起動します。
bcdedit /set LOADOPTIONS DISABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING ON
bcdedit /set NOINTEGRITYCHECKS ON
shutdown /r /t 0
ドライバのインストール
ドライバのインストールは、USBメモリーの先ほど編集した.infファイルを指定してコマンドを実行します。
pnputil.exe -i -a [...\...\*.inf]

警告が表示されますが気にせず続行してインストールを完了します。
テストモードの解除
テストモードに切り替えた手順の逆をたどります。
コマンドでテストモードを解除して再起動します。
bcdedit /set LOADOPTIONS ENABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING OFF
bcdedit /set NOINTEGRITYCHECKS OFF
shutdown /r /t 0
再起動時にまたBIOS(UEFI)の画面を呼び出し、セキュアブートを有効にします。

動作の確認
再起動後、「ネットワーク設定」からネットワーク設定が問題なくできることや通信ができることなどを確認します。正常に通信できる場合は「リモートデスクトップ」を有効にすることでリモートデスクトップも試すといいかもしれません。

総括
Hyper-V ServerはWindows Serverと違い、情報も少なく、今回は苦労しました。おそらく全く同じ環境でHyper-V Serverを構築してみようという方はそんなにいないと思いますが、Intel の製品であればだいたい汎用性が聞くのではないかと思う手順の書き方を意識してみました。
また、Hyper-V Server自体も、2019が最後になるといわれており、今後使うとしても4年ほどです。しかし無償で、Server OSで、超軽量ハイパーバイザーが使えるという意味では、Windows畑育ちの技術者の検証環境としては選ばれやすいものであるべきだと思いますので、それ以降もリリースされてほしいなぁと思います。
ちなみに構築作業は現在も進行中で、途中であきらめなければ構築作業全体のレポートもしたいと思っています。
Hyper-V Serverで仮想環境を構築しようという奇特な方の勉強熱心な方の参考になれば幸いです。
参考
下記サイト様を参考にさせていただきました。ありがとうございました。
コメント