続いてのトラブル例は、8月20日にリリースされた「Windows Server 2016 Technical Preview 3」の評価中に、Hyper-Vホストで発生しました。Windows 10のトラブルと同様、これまで問題なく使えていたデバイスが「デバイスマネージャー」でエラー状態となり、一部のハードウエア機能が期待通りに動作しなくなるというものでした。
具体的には、RemoteFX仮想GPU(仮想マシンに割り当て可能なRemoteFX 3Dビデオアダプター)に対応したグラフィックスカードを搭載するHyper-Vホストで、数日前まで問題なかったディスプレーアダプターのデバイスドライバーが、次のような「コード39(Code 39)」エラーで読み込みに失敗するようになったことでした(画面6)。
Windows cannot load the device driver for this hardware. The driver may be corrupted or missing.(Code 39)(このハードウエアのデバイスドライバーを読み込むことができません。ドライバーが壊れているか、ドライバーがない可能性があります。(コード39))
デバイスドライバーの読み込みに失敗したことで、RemoteFX仮想GPU用のディスプレーアダプターとして使用できなくなり、RemoteFX仮想GPUを割り当てた仮想マシンの開始に失敗するようになりました。RemoteFX仮想GPUの問題はデバイスの問題の影響の結果であり、RemoteFX仮想GPUはトラブルの原因とは無関係でしょう。
問題のディスプレーアダプターのデバイスドライバーは、メーカーサイトからダウンロードしてインストールした最新版です。デバイスやドライバーの削除と最新ドライバーの再インストール、古いドライバーへのロールバック、最新ベータ版ドライバーのインストールなど、いろいろと試してみましたがコード39エラー状態を解消することはできませんでした。
このトラブルは、Windows Server 2016 Technical Preview 3の評価中に起きたことです。RemoteFX仮想GPUに関しては、問題が発生する数日前まで評価していました。その次に、Windows Server 2016のクラウドプラットフォーム向け新機能「Host Guardian Service」の、Technical Preview 2からの変更点を確認していました。どうやら、このHyper-VホストをHost Guardian Serviceの「信頼されたホスト(Guarded Host)」として構成して以降、デバイスの問題が発生したようです。
Host Guardian Serviceの信頼されたホスト(Guarded Host)として構成すると、「デバイスガード(Device Guard)」という新しいセキュリティ機能が有効になります。
デバイスガードは、Windows 10のEnterpriseおよびEducationエディションにも搭載されているセキュリティ機能です。この新しいセキュリティ機能は、Hyper-Vのハイパーバイザー環境を利用して、Windowsカーネルとコード整合性サービスを分離し、信頼できる署名者が署名したコードのみが実行されるように制限します。Host Guardian Serviceでは、Hyper-Vホストの検証やシールドされた仮想マシンへの仮想TPM(Trusted Platform Module)デバイスの提供などに、デバイスガードの機能を利用しています。
デバイスガードが有効になっているかどうかは、「システム情報(Msinfo32.exe)」の「デバイスガード仮想化ベースのセキュリティ(Device Guard Virtualization based Security)」で確認できます。
筆者は、メーカー提供のディスプレーアダプターのデバイスドライバーが、デバイスガードによって信頼されないコードとしてブロックされてしまったと予想しました(画面7)。
試しに、Host Guardian Serviceの信頼されたホストとして構成するための機能である「Host Guardian Hyper-V Support」と、この機能とともに自動的にインストールされていた「Isolated User Mode」機能を削除して再起動したところ、ディスプレーアダプターの問題はあっさりと解消しました(画面8)。
サーバーの機能「Isolated User Mode」は、デバイスガードの機能を提供するものです。前述のように、デバイスガードはWindows 10 EnterpriseおよびEducationエディションでもサポートされるセキュリティ機能であり、Windows 10では「Windowsの機能の有効化または無効化」の「分離ユーザーモード」でインストールされます。
Windows 10のデバイスガードについては、エディションに制約があり、ハードウエア要件が高い(UEFI、仮想化、IOMMU、TPM 2.0など)ため、デバイスガードを起因とする筆者のようなトラブルに遭遇することは、今の時点ではほとんどないでしょう。
しかし、デバイスガード以外にも、Windows 10にはさまざまな新しいテクノロジが実装されています。PCのトラブルシューティングを行うことが多いITプロフェッショナルの方は、次々登場する新しいテクノロジをキャッチアップしていかないと、トラブルシューティングが難しくなっていくかもしれません。
筆者の今回の二つのトラブル例では使いませんでしたが、それまで正常に使用できていたものが、突然使えなくなったという問題をトラブルシューティングするときは、コントロールパネルの「セキュリティとメンテナンス(Windows 8.1以前のアクションセンター)」にある「信頼性モニター(信頼性履歴の表示)」をまず確認することをお勧めします。
「信頼性モニター」は、Windows Vistaから利用できるWindowsの診断ツールであり、アプリケーションやWindowsのエラー、Windows Updateによる更新、アプリケーションやドライバーのインストールといったイベント情報を時系列で確認することができます(画面9)。
実は、一つ目のトラブルがWindows 8.1で発生したとき、筆者は「信頼性モニター」を使用して問題を特定することができました。デバイスドライバーの名称やバージョンを覚えている人はほとんどいないでしょう。そのため、デバイスドライバーがWindows Updateで入れ替わったとしても、それに気が付くのは困難です。そんなとき、「信頼性モニター」はとても役に立つことがあります。
岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2015)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。
Copyright © ITmedia, Inc. All Rights Reserved.