Windows 10時代はトラブル脱出が厄介に?――実際のトラブル例と解決のヒント山市良のうぃんどうず日記(47)(2/2 ページ)

» 2015年09月14日 05時00分 公開
[山市良テクニカルライター]
前のページへ 1|2       

【トラブル例その2】ある日突然、ディスプレーアダプターのデバイスが「コード39」エラーに!

 続いてのトラブル例は、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))

画面6 画面6 Windows Server 2016 Technical Preview 3の評価中に、RemoteFX仮想GPUのために使用していたディスプレーアダプターが「コード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)。

画面7 画面7 Host Guardian Serviceのサポートのために構成されたデバイスガードが、ディスプレーアダプターのドライバーをブロックしている疑い

 試しに、Host Guardian Serviceの信頼されたホストとして構成するための機能である「Host Guardian Hyper-V Support」と、この機能とともに自動的にインストールされていた「Isolated User Mode」機能を削除して再起動したところ、ディスプレーアダプターの問題はあっさりと解消しました(画面8)。

画面8 画面8 サーバーの機能「Isolated User Mode」をアンインストールして再起動したら、ディスプレーアダプターの問題は解消した

 サーバーの機能「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)。

画面9 画面9 「信頼性モニター」を使用すると、更新プログラムやドライバー、アプリケーションのインストール、エラーの発生状況などを時系列で確認できる

 実は、一つ目のトラブルがWindows 8.1で発生したとき、筆者は「信頼性モニター」を使用して問題を特定することができました。デバイスドライバーの名称やバージョンを覚えている人はほとんどいないでしょう。そのため、デバイスドライバーがWindows Updateで入れ替わったとしても、それに気が付くのは困難です。そんなとき、「信頼性モニター」はとても役に立つことがあります。

「山市良のうぃんどうず日記」バックナンバー

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2015)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。