検索
連載

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

Windows 10の新機能や変更点は、トラブル解決を遅らせる原因になるかもしれません。なぜなら、これまでのトラブル解決の経験則が、そのまま使えるとは限らないからです。今回紹介する筆者の二つのトラブル例は、Windows 10やWindows Server 2016で遭遇するかもしれないトラブルを解決するヒントになるかもしれません。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

【トラブル例その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サイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る