Windows ServerにLANドライバを無理やりインストールする方法

  • 6
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Windows Serverにネットワークアダプタのドライバがインストールできない

古いファイルサーバが手狭になってきたので新しいサーバーを導入することにしました.構成は以下のとおり

  • CPU: Xeon E3-1240L v3
  • M/B: AsRock Z87 Extreme11/ac
  • OS: Windows Server 2012R2
  • 以下略

M/BのZ87 Extreme11/acですが,最近すっかり普通のM/Bメーカーになってしまった感じのするAsRockが久々に発売した変態M/B.SATAが22ポートもついてます.自宅サーバーにうってつけのM/Bですが,ネットワークアダプタがWindows Serverをサポートしていないのか,M/Bに付属のCDを使ってもドライバをインストールできません.

注意

この操作はサポート外なので動作保証されません.自己責任でお願いします.

準備

UEFIでセキュアブートをONにしているとWindowsをテストモードで起動できませんのでセキュアブートをOFFにしてください.設定方法はM/Bのメーカー依存なので省略します.

M/Bに乗っているコンポーネントを確認

ともかくネットワークに繋がないとRDPも使えないので早急に解決しないといけません.まずはM/Bに乗っているコンポーネントを確認します.M/B付属のマニュアルによると

  • Intel I217-V
  • Intel I211AT
  • Broadcom製の無線LAN

が搭載されているようです.サーバーなのでとりあえず無線LANは置いといて,Intelのイーサネットアダプタのドライバをインストールすることにします.

IntelまたはAsRockのホームページからドライバをダウンロードします.zipファイルもしくは自己解凍exeで,中身はこんな感じになってます.

direcroty.png

今回はギガビットイーサネットアダプタでOSはWindows Serverなので PRO1000 > Winx64 > NDIS646 とフォルダを辿ると

drivercomponents.png

こんなファイルが見つかると思います.ここからM/Bに搭載されているイーサネットアダプタの構成設定を探して書き換えていきます.

INFファイルの書き換え

デバイスマネージャーから目的のデバイスを右クリックして[プロパティ]を表示します(画像はドライバのインストール後ですが,インストールする前でもデバイスのIDは見れます).

devicemanager.png

デバイスPCI\VEN_8086\DEV_153B...っていう記述が見えます.VEN_8086はお察しの通りIntelのことで,次のDEV_153Bがこのデバイスを表しています(多分)ので,このDEV_153Bについての記述をINFファイルの中から探します.今回はe1d64x64.infにそれらしいものが見つかりました.

e1d64x64.inf
[Manufacturer]
%Intel%     = Intel, NTamd64.6.3, NTamd64.6.3.1

[ControlFlags]
ExcludeFromSelect = \ 
    PCI\VEN_8086&DEV_153A,\ 
    PCI\VEN_8086&DEV_153B

[Intel]

[Intel.NTamd64.6.3.1]
; DisplayName                   Section              DeviceID
; -----------                   -------              --------
%E153ANC.DeviceDesc%            = E153A.6.3.1,       PCI\VEN_8086&DEV_153A
%E153ANC.DeviceDesc%            = E153A.6.3.1,       PCI\VEN_8086&DEV_153A&SUBSYS_00008086
%E153ANC.DeviceDesc%            = E153A.6.3.1,       PCI\VEN_8086&DEV_153A&SUBSYS_00011179
%E153BNC.DeviceDesc%            = E153B.6.3.1,       PCI\VEN_8086&DEV_153B
%E153BNC.DeviceDesc%            = E153B.6.3.1,       PCI\VEN_8086&DEV_153B&SUBSYS_00008086
%E153BNC.DeviceDesc%            = E153B.6.3.1,       PCI\VEN_8086&DEV_153B&SUBSYS_00011179
%E155ANC.DeviceDesc%            = E155A.6.3.1,       PCI\VEN_8086&DEV_155A
%E155ANC.DeviceDesc%            = E155A.6.3.1,       PCI\VEN_8086&DEV_155A&SUBSYS_00008086
%E155ANC.DeviceDesc%            = E155A.6.3.1,       PCI\VEN_8086&DEV_155A&SUBSYS_00011179
%E155ANC.DeviceDesc%            = E155A.6.3.1,       PCI\VEN_8086&DEV_155A&SUBSYS_90BA104D
%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
%E1559NC.DeviceDesc%            = E1559.6.3.1,       PCI\VEN_8086&DEV_1559&SUBSYS_90BA104D

[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

上の[Intel.NTamd64.6.3.1]がWindows8.1に関する記述で(多分)下の[Intel.NTamd64.6.3]がWindows Server2012R2に関する記述です(多分).それらしい行を上のセクションからパクってやります.

e1d64x64.inf
[Manufacturer]
%Intel%     = Intel, NTamd64.6.3, NTamd64.6.3.1

[ControlFlags]
ExcludeFromSelect = \ 
    PCI\VEN_8086&DEV_153A,\ 
    PCI\VEN_8086&DEV_153B

[Intel]

[Intel.NTamd64.6.3.1]
; DisplayName                   Section              DeviceID
; -----------                   -------              --------
%E153ANC.DeviceDesc%            = E153A.6.3.1,       PCI\VEN_8086&DEV_153A
%E153ANC.DeviceDesc%            = E153A.6.3.1,       PCI\VEN_8086&DEV_153A&SUBSYS_00008086
%E153ANC.DeviceDesc%            = E153A.6.3.1,       PCI\VEN_8086&DEV_153A&SUBSYS_00011179
%E153BNC.DeviceDesc%            = E153B.6.3.1,       PCI\VEN_8086&DEV_153B
%E153BNC.DeviceDesc%            = E153B.6.3.1,       PCI\VEN_8086&DEV_153B&SUBSYS_00008086
%E153BNC.DeviceDesc%            = E153B.6.3.1,       PCI\VEN_8086&DEV_153B&SUBSYS_00011179
%E155ANC.DeviceDesc%            = E155A.6.3.1,       PCI\VEN_8086&DEV_155A
%E155ANC.DeviceDesc%            = E155A.6.3.1,       PCI\VEN_8086&DEV_155A&SUBSYS_00008086
%E155ANC.DeviceDesc%            = E155A.6.3.1,       PCI\VEN_8086&DEV_155A&SUBSYS_00011179
%E155ANC.DeviceDesc%            = E155A.6.3.1,       PCI\VEN_8086&DEV_155A&SUBSYS_90BA104D
%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
%E1559NC.DeviceDesc%            = E1559.6.3.1,       PCI\VEN_8086&DEV_1559&SUBSYS_90BA104D

[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
%E153BNC.DeviceDesc%            = E153B.6.3.1,       PCI\VEN_8086&DEV_153B
%E153BNC.DeviceDesc%            = E153B.6.3.1,       PCI\VEN_8086&DEV_153B&SUBSYS_00008086
%E153BNC.DeviceDesc%            = E153B.6.3.1,       PCI\VEN_8086&DEV_153B&SUBSYS_00011179

えいやっと

Windowsをテストモードで再起動してドライバをインストールする

cmdかpowershellで

> bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
> bcdedit -set TESTSIGNING on

を実行します.UEFIのセキュアブートがONになっているとここでエラーになりますので注意してください.2つのコマンドを実行したらWindowsを再起動します.

再起動したらデバイスマネージャーから目的のデバイスを右クリックして[ドライバー ソフトウェアの更新]をクリックします.[コンピュータを参照してドライバー ソフトウェアを検索します(R)]を選択して先ほどのファイルのあるフォルダを選択してインストールします.Windowsからいろいろ文句を言ってきますが,自己責任であることを自覚しつつ警告を無視してインストールすれば完了です.

他のデバイスに対しても同様にインストールできると思います.

complete.png

やったぜ

一度ドライバをインストールしてしまえばIntelの通常のインストーラが使えるようになるので,最新版に更新するといいと思います.

作業が終わったら

> bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS
> bcdedit -set TESTSIGNING off

を実行してドライバの検証をONにしてください.

デバイスマネージャーに"不明なデバイス"が表示される場合

デバイスマネージャーから不明なデバイスのプロパティを表示し,さきほどの「DEV_153B」にあたる部分をGoogle先生に尋ねれば何のデバイスなのか判明すると思います.これは経験則ですが,ほとんどの場合はチップセットのドライバをインストールすると消えます.

ドライバをインストールできないもの

BluetoothはWindows Serverでは利用できません.ドライバをインストールしても再起動時にエラーを吐きます.

最後に

Windows Serverは学生に対してはDreamSparkを通じて無償で提供されていますので,ハードウェア周りのサポートなどで面倒な部分もありますが,気が向いたら学習用に試してみてもいいのではないでしょうか.