ようやっと次に進めました・・・
今まで、「Hyper-V Server 2012 R2」でNICが認識しなくて、進んでいませんでした。
ようやくNICの認識までたどり着いたわけですが、同じような環境で躓く人はきっといると思います。
普通に思いついた手順としては
1.OS再インストール
2.次にM/BについていたDVDからドライバのインストール。
3.NICのベンダーから最新のドライバをダウンロードしてインストール
と、これくらいだと思いますが、今回はここまでやっても、オンボードのNICをOSが認識してくれなかったです。
ネットで色々調べてみると、Windows Server 2012 R2でも、同様にNICを認識しない例がそこそこ見つかって、Hyper-V Server 2012も同じ内容で見つかったので、どうもServer 2012で発生している問題のようです。
で、OSだけでなく、どうやらほかにも共通しているのは Intel I218VというNIC。
少し古めの記事だと Intel I217Vとかもです。
確かに、M/B「Z97M-PLUS」に使われているNICは、Intel
I218Vでした。
どうやって解決しているのか調べてみると、I218Vではなく、I218LM?のドライバをインストールやinfファイルを書き換えてインストールでしたが、あきらめてた人もいました(^^;
調べを進めると、全体的にやっていることは似ているけど、微妙に細部が違うので、どの方法がいいのかよくわからない。
自分の環境とも微妙に違うので、見てそのままって感じではなかったので、色々試した結果、以下の構成ではこうやったら解決できたので、つらつら書いていくことにします。
◆構成
OS: Hyper-V Server 2012 R2
M/B: Z97M-PLUS
※オンボートNICを利用するとき
Hyper-Vのインストールでつまづくことはまずないと思うので、ここは端折ります。
OSインストールは15分程度で完了。
サインインした後で、sconfigが実行されるが、この時のシステム構成のチェックで「アクティブなネットワーク アダプターは見つかりませんでした」というメッセージが出ますので、ここからスタートです。
−−−−−
1.最新のドライバを用意する
−−−−−
IntelのHPから、「Intel Ethernet Connection I218-V」のドライバのダウンロードを行うわけだが、普通にたどるとWindws Server 2012 R2にたどり着けない。
でも、ダウンロードするのは、Windows8.1 64bit版でよいです(理由は続きを読んでいくと書いています)
◆Network Adapter Driver for Windows 8.1*
https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=23071&lang=jpn&ProdId=3707
日付: 2014/10/28
バージョン: 19.5 (最新)
ファイル名: PROWinx64.exe
一応、ググってみると 2012もでてくる
詳しくは見ていないが、サイズも一緒だったし、多分一緒なんじゃないかな
◆Network Adapter Driver for Windows Server 2012 R2*
https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=23073&lang=jpn
日付: 2014/10/28
バージョン: 19.5 (最新)
ファイル名: PROWinx64.exe
−−−−−
2.必要なドライバファイルを準備
−−−−−
PROWinx64.exeを実行するとインストールウィザードが起動してくるので、最初の画面で止めておく。
次に、ユーザーテンポラリフォルダを開くと、展開されたフォルダが作られているので下記フォルダをコピーする。
◆ドライバフォルダ
%temp%\RarSFX0\PRO1000\Winx64\NDIS64
このNDIS64の中にあるファイルが今回必要なファイルになる(いらないものもあるが、気にしない)
インストールウィザードは、そのままキャンセルで終了してしまいます。
(展開されたフォルダは削除されます)
−−−−−
3.infファイルを修正する
−−−−−
手順2でコピーしたフォルダの中にはいくつか、infファイルがあるが修正対象はこれ。
◆修正ファイル
e1d64x64.inf
他のはよくわからないが、上記ファイルを開いてみると対象OSの記載があります。
ずーと下の方まで見ると、Windows Server 2012 R2 とも書いてあるので、このドライバでもOKです
◆修正前
[Intel.NTamd64.6.3]
; DisplayName Section DeviceID
; ----------- ------- --------
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00011179
%E15A0NC.DeviceDesc% = E15A0, PCI\VEN_8086&DEV_15A0
%E15A0NC.DeviceDesc% = E15A0, PCI\VEN_8086&DEV_15A0&SUBSYS_00008086
%E15A2NC.DeviceDesc% = E15A2, PCI\VEN_8086&DEV_15A2
%E15A2NC.DeviceDesc% = E15A2, PCI\VEN_8086&DEV_15A2&SUBSYS_00008086
%E15A2NC.DeviceDesc% = E15A2, PCI\VEN_8086&DEV_15A2&SUBSYS_00011179
◆修正後
[Intel.NTamd64.6.3]
; DisplayName Section DeviceID
; ----------- ------- --------
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00008086
%E153ANC.DeviceDesc% = E153A, PCI\VEN_8086&DEV_153A&SUBSYS_00011179
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00008086
%E155ANC.DeviceDesc% = E155A, PCI\VEN_8086&DEV_155A&SUBSYS_00011179
%E15A0NC.DeviceDesc% = E15A0, PCI\VEN_8086&DEV_15A0
%E15A0NC.DeviceDesc% = E15A0, PCI\VEN_8086&DEV_15A0&SUBSYS_00008086
%E15A2NC.DeviceDesc% = E15A2, PCI\VEN_8086&DEV_15A2
%E15A2NC.DeviceDesc% = E15A2, PCI\VEN_8086&DEV_15A2&SUBSYS_00008086
%E15A2NC.DeviceDesc% = E15A2, PCI\VEN_8086&DEV_15A2&SUBSYS_00011179
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00008086
%E1559NC.DeviceDesc% = E1559.6.3.1, PCI\VEN_8086&DEV_1559&SUBSYS_00011179
%E15A1NC.DeviceDesc% = E15A1.6.3.1, PCI\VEN_8086&DEV_15A1
%E15A1NC.DeviceDesc% = E15A1.6.3.1, PCI\VEN_8086&DEV_15A1&SUBSYS_00008086
%E15A3NC.DeviceDesc% = E15A3.6.3.1, PCI\VEN_8086&DEV_15A3
%E15A3NC.DeviceDesc% = E15A3.6.3.1, PCI\VEN_8086&DEV_15A3&SUBSYS_00008086
%E15A3NC.DeviceDesc% = E15A3.6.3.1, PCI\VEN_8086&DEV_15A3&SUBSYS_00011179
修正内容は [Intel.NTamd64.6.3.1] のセクションにある8行を、[Intel.NTamd64.6.3]に追記するだけです。
追記したのは下記の3つに関連するもので、これらは I218VのデバイスIDです。
DEV_1559
DEV_15A1 ※今回の環境ではこれだけで良かったです
DEV_15A3
ちなみになんで追加するのかはよくわかりませんが、他の人の解決方法がそうだったからってだけです。
ただ、どの行(デバイスID)を追加するのかがわからなかったので、Intelにあったデータシートから調べました。
◆Intel Ethernet Connection I218
http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/i218-ethernet-connection-datasheet.pdf
P.13 Table 1. Product Ordering Codes
ここまででドライバの準備ができました。
−−−−−
4.Hyper-Vの設定変更
−−−−−
いつ頃からかドライバのインストールの際に、不正があるとインストールできなくなっています。
今回もinfファイルをいじっているので、普通にpnputilでインストールしようとすると、怒られます。
そのため、一時的にインストールできるよう設定を変更します。
sconfigの青い画面の裏側に、管理者モードでコマンドプロンプタが起動しているのでそこで下記コマンドを実行。
> bcdedit /set loadoptions DISABLE_INTEGIRY_CHECKS
> bcdedit /set testsigning ON
2つめのコマンド実行した際に、「要素データを設定中にエラーが発生しました。この値はセキュア ブート ポリシーによって保護されているため、変更または削除できません」とメッセージが出ることがあります。これは、UEFIが有効になっていることが理由ですので、UEFIを無効にする必要があります。
M/Bによって異なります。
「Z97M-PLUS」なら、Advanced Mode(F7)のBootの下の方にSecure Bootという項目があります。
OS Typeを OtherOS(非UEFI)にすることで、UEFIを無効にできます。
2つめにコマンドが無事設定できたら再起動します。
−−−−−
5.ドライバのインストール
−−−−−
手順3で準備したフォルダ(NDIS64)一式を、USBメモリやCD-ROMなど記録媒体にコピーし、Hyper-V Serverに認識させます。
CドライブがOSで、Dがおそらく光学ドライブだと思います。
USBメモリなら、その次のEに割り当てられると思いますが、人によって準備している環境が異なるので、ドライブ名は読み替えてください。
今回はUSBメモリに入れて移しましたので、私の環境ではEドライブでした。
下記、コマンドで、ドライブ、フォルダ移動し、ドライバをインストールします。
> e:
> cd NDIS64
> pnputil -i -a e1d64x64.inf
インストールするには、警告メッセージが表示されるので、インストールするを選んでください
無事インストールされると
> 処理情報: e1d64x64.inf
> システム上のデバイスへのドライバーのインストールに成功しました。
> ドライバー パッケージが正常に追加されました。
> 公開名: oem0.inf
>
>合計試行回数: 1
>正常にインポートされた数: 1
こんな感じに表示されます。
しばらく(1,2分)?放置してから、sconfig画面で、8を選択すると、「アクティブなアダプターは見つかりません」みたいなメッセージが消えます。
再起動せずとも、ドライバを読み込んでくれるようです。
−−−−−
6.設定の戻し
−−−−−
手順4で設定変更した個所を元に戻します
> bcdedit /set loadoptions ENABLE_INTEGIRY_CHECKS
> bcdedit /set testsigning OFF
それと、UEFIを無効した場合も有効に戻します。
(手順4を参照)
最後に再起動をして、ようやくHyper-Vの設定に移ることができるようになります。
と、まだまだスタートしてから、ほとんど進んていないのに、丸1日経過しています(^^;
Hyper-V Serverは、初めてなのに構築前からこんな調子でいつ新しい環境に移れるのかな・・・
ログインしてコメントを確認・投稿する