Windows Server Backup からのリストア後に使用されるドライバについて

Windows テクノロジー サポートの奥原です。
今回は、Windows Server 2008 や Windows Server 2008 R2 環境のリストアとドライバについて、ご説明したいと思います。

Windows PE や Windows RE (OS のセットアップメディアなど) からリストアを行う際に、ストレージデバイスや NIC のドライバを追加する場合があるかと思いますが、ドライバの追加に関して以下の注意点があります。

・Windows PE / Windows RE で使用するドライバについて
・リストア後に使用されるドライバについて

 

Windows PE / Windows RE で使用するドライバについて
----------------------------------------------------
Windows PE / Windows RE で、ドライバの追加を行っても該当デバイスが使用できない場合があります。
この現象は、ドライバの追加 (ドライバのインストール) 処理によって、ドライバのロードは行われますが、該当のデバイスが Windows PE / Windows RE に対応していないため、インストール処理が実行されないことによって発生していることがあります。
これは、Windows PE / Windows RE は、簡易 OS であるため、位置付けとしては、クライアント OS となり、使用しているドライバが、Windows Server OS 対応のドライバであっても、Windows PE / Windows RE (クライアント OS) に対応していない場合に発生します。
つまり、Windows PE / Windows RE で、追加のドライバをインストールする際にクライアント OS に対応したドライバを用いる必要があります。

 

リストア後に使用されるドライバについて
----------------------------------------------------
Windows PE / Windows RE でのリストアの際、ドライバの追加は、よく行われますが、Windows PE / Windows REで追加したドライバがリストア後の OS に含まれることは、あまり知られておりません。
この動作によって問題が発生することがあり、具体例を基にこの動作について説明します。

バックアップからのリストアを行う際に、ディスクを認識させるため、Windows Server 未対応のストレージドライバをインストールし、ディスクを認識させる場合を考えます。
その後、リストアを完了させ、OS を再起動させると起動しない現象が発生しました。

この問題が発生する流れは以下の通りとなります。

  1. Windows PE / Windows RE で、Windows Server 未対応のストレージドライバを追加し、ストレージを認識させます。

  2. 認識されたストレージに対し、バックアップからのリストアを行います。

  3. 上記 1 で追加したドライバは、リストア後の OS の %WinDir%\System32\Drivers に格納されます。

      ※ここで、リストア後の OS にも追加したドライバが格納されます。

  4. OS 起動後、ドライバの更新処理によって、Windows Server 未対応のストレージドライバに差し替わります

  5. 差し替わったドライバではストレージデバイスが認識されないため OS が起動しない現象が発生します。

 

今回は、ストレージデバイスのドライバを対象に上げさせていただきましたが、NIC デバイスなどのドライバでも同様にドライバが置き換わる現象が発生します。
また、Windows Server 2008 R2 以降では、Windows RE で追加したドライバをリストア後に使用するかをレジストリによって決めることが可能でございます。
このレジストリを設定することによって、上記 3 で、追加したドライバが、リストア後の OS に格納されなくなります。
このため、OS 起動後のドライバの更新処理でも追加したドライバは存在しておらず、既存のドライバを使用するため、OS が起動しないといった現象は発生しません。

レジストリ
--------------------------
レジストリパス:
HKLM\SYSTEM\CurrentControlSet\Services\wbengine
キー :
DoNotInjectDrivers (DWORD)
値 : 1 
--------------------------

このレジストリについては、Windows RE で起動後、コマンドプロンプトからレジストリエディタ (regedit.exe) を起動し設定します。このレジストリ設定後、リストア処理を行います。
今回、2 点の注意事項について記載させて頂きましたが、これらの 2 点は関連性があり、1 点は、Windows PE / Windows RE で追加するドライバは、クライアント OS として対応しているドライバを用いる点。もう 1 点は、Windows PE /  Windows RE で追加したドライバは、リストア後の OS に格納される点。
つまり、Windows PE / Windows RE からリストアを行う際に、追加するドライバは、クライアント OS および、サーバ OS 両方に対応している必要があるということになります。