|
Windows 2000 Insider/PC Insider合同特別企画
Windows XPの正体
―― 実験/実証によって探るWindows XPの真実の姿 ――
Windows XPのドライバ・インストールに関する安全機能
デジタルアドバンテージ
2001/11/13
|
|
|
Windows OSでは、デバイス・ドライバを最新のものに更新することで、デバイスの性能や機能が向上することがある。しかし、「最新のデバイス・ドライバをインストールしたところ、Windowsが不安定になった」というのもよく聞く話だ。ベンダの中には、安定性よりも性能を重視したデバイス・ドライバを最新版として提供する例もあり、こうしたドライバをインストールするとシステム内のほかのデバイスやモジュール(.DLLファイルなど)との競合が発生し、不都合を生じる場合がある。特にグラフィックス・ドライバでは、描画性能を重視したデバイス・ドライバを最新版として提供し、時間をかけながら性能と安定性のバランスをとる傾向にあるようだ。そのため、最新版のグラフィックス・ドライバをインストールすると、アプリケーションによっては描画がおかしくなってしまうことがある(グラフィックス・ドライバの場合、ゲーム・ソフトウェアで影響が出やすい)。つまり、必ずしも最新版のデバイス・ドライバが優れているとは限らないのだ。
デバイス・ドライバの更新で障害が発生した場合
こうした問題のあるデバイス・ドライバをインストールしてしまった場合でも、再び以前のデバイス・ドライバを再インストールすれば元に戻るはずなのだが、それでも不安定な状況が続くことがある。これは、グラフィックス・ドライバやキーボード・ドライバなどのように、常にシステムがドライバのコンポーネント(ファイル)を利用しているようなデバイスでは、以前の安定したバージョンのドライバを再インストールしても、利用中のファイルへの上書きが行えず、これらの不具合のある新しいデバイス・ドライバのファイルが残ってしまうことがあるからだ。また、不具合のある新しいドライバ・ファイルがうまくアンインストールできずに残ってしまい、結果として意図しないモジュールを呼び出すことで、パラメータやシステムの設定などの整合性が取れなくなるといったこともある。そこで[デバイス マネージャ]の[プロパティ]によって、いったん最新のデバイス・ドライバを削除(必ずしも削除する必要はないが、なるべく削除した方が安全)したうえ、デバイス・ドライバをWindowsが標準装備するものなどに変更してから、以前のデバイス・ドライバを再インストールするという手順を踏む必要がある。
こうしたノウハウは、PCの管理に慣れている人にとっては常識となっているが、多くの人にとってはトラブルの元でしかない。また、大手ベンダ製のPCでは、プリインストールされた状態で提供されているデバイス・ドライバを個別に用意しておらず、リストアCD-ROMなどから元のデバイス・ドライバだけを取り出して再インストールすることが困難な場合もある。Windows XPでは、このようなときでも、デバイス・ドライバの復元を簡単に行えるようにするしくみが追加された。これは「ドライバのロールバック」機能と呼ばれる。
|
[ドライバ]タブに追加された「ドライバのロール バック」機能 |
Windows 2000までの[ドライバ]タブには、「ドライバの詳細」「削除」「ドライバの更新」の3つの機能しか用意されていなかった。Windows XPでは、新たにデバイス・ドライバを更新前のものに戻す「ドライバのロールバック」が追加された。 |
|
|
[ドライバのロールバック]をクリックすると、更新前のデバイス・ドライバに戻る。デバイス・ドライバの更新を行っていなかった場合、「このデバイス用のドライバ ファイルがバックアップされていません」というメッセージが表示される。 |
|
以前のデバイス・ドライバに安全に戻す「ドライバのロールバック」機能
Windows 2000までは、新しいデバイス・ドライバをインストールすると、以前のデバイス・ドライバは上書きされてしまうことが多かった。そのため以前のデバイス・ドライバに戻す場合、ドライバの再インストールという作業が必要になった。Windows XPでは、新しいデバイス・ドライバをインストールするとき、それまで使われていたデバイス・ドライバをINFファイルなどとともに、\WINDOWS\system32\ReinstallBackups\の下に「0000」や「0001」といったフォルダを作成して自動的に保存するようになった。「0000」の下には、さらに「DriverFiles」というフォルダが作成され、そこにINFファイルとPNFファイル(電子署名ファイル)、デバイス・ドライバの実体があるi386というフォルダが置かれる(ディスプレイなどのようにINFファイルしかないものでは、i386フォルダは作成されない)。
|
保存された以前のデバイス・ドライバ |
このようにデバイス・ドライバごとにフォルダが作成され、INFファイルなどとともに保存される。フォルダは、0000から0001、0002といったように作成される。ロールバックによって、これらのデバイス・ドライバが復元のために使われると、自動的にこのフォルダがまるごと削除される。また、各デバイスごとに1回しか保存できないようになっており、同じデバイスで2回目のドライバ更新を行うと、以前に保存していたデバイス・ドライバは削除されてしまう。 |
|
|
以前のデバイス・ドライバは、\WINDOWS\system32\ReinstallBackups\の下にこのようにフォルダが作られて保存される。 |
|
|
以前のデバイス・ドライバ本体が保存されたフォルダ |
|
|
デバイス・ドライバのINFファイル |
|
|
デバイス・ドライバの署名ファイル |
|
以前のデバイス・ドライバに戻す場合、[デバイス マネージャ]でデバイスを選択し、[プロパティ]-[ドライバ]タブ-[ドライバのロールバック]をクリックする。あとは自動的に以前のデバイス・ドライバに戻る。ただし、「ドライバのロールバック」機能が実行できるのは、管理者権限を持つユーザーだけである。また、キーボードやグラフィックスなどのシステム・デバイスの場合、以前のデバイス・ドライバに戻るのは、システムの再起動後となる。
なお、デバイス・ドライバをロールバックすると、最新のデバイス・ドライバは自動保存されず、ロールバック機能で保存されていた以前のデバイス・ドライバのバックアップとともに削除されてしまう。つまり、新旧のデバイス・ドライバを自由に切り替えられる機能ではない。また、1つのデバイスに対し、デバイス・ドライバを2回以上インストールしても、ドライバのロールバック機能によって戻せるデバイス・ドライバは直前のものだけに限られるので、この点も注意したい。
|
新しいデバイス・ドライバをインストールした[デバイス マネージャ]-[ドライバ]タブ-[ドライバの詳細] |
Intel 810の内蔵グラフィックス・ドライバを、Windows内蔵のドライバからIntel提供の最新版にアップデートした。 |
|
保存された古いデバイス・ドライバ |
「ドライバのロールバック」機能により、バックアップ用フォルダに保存された以前のWindows標準のデバイス・ドライバ。 |
|
|
バックアップされたデバイス・ドライバ |
|
|
「ドライバのロールバック」機能を実行した後の[デバイス マネージャ]-ドライバ]タブ-[ドライバの詳細] |
ドライバのロールバックを実行すると、以前のWindows標準のデバイス・ドライバに戻される。デバイス・ドライバと同時にインストールされたアプレット類もきれいに削除される。 |
「システム復元」機能と合わせて二重の安全策を実現
Windows XPでは、このようにロールバック機能により、たとえデバイス・ドライバが原因で障害が発生しても、容易に以前の安定した状態に戻すことが可能になっている。これ以外にも、WHQL(Windows Hardware Quality Labs:Windowsのハードウェアに関する互換性を検証する機関)の認証を得ていないデバイス・ドライバ(署名のないデバイス・ドライバ)は、管理者権限を持たないユーザーがインストールできないようにしたり、インストール時に警告を表示したりする、という機能がある。つまりWHQLの認証を得ていない、いわば「素性の確かでない」デバイス・ドライバは、なるべくインストールさせない、ということだ。このドライバの署名機能自体は、Windows 2000から導入されているが、Windows XPではさらに、これとWindows Meから導入されている「システム復元」機能とリンクさせることで、署名のないデバイス・ドライバをインストールする際に、「システムの復元ポイント」を自動作成するようになった。これによって、システム復元機能を使って、デバイス・ドライバのインストール前にシステムを戻すことを可能にしている。
|
Windows 2000のデバイス・ドライバをインストールした場合 |
WHQLの認定を得たWindows XP用のデバイス・ドライバ以外(署名のないデバイス・ドライバ)をインストールしようとすると、このように警告が現れる。さらにインストール作業を進めると、システムの復元ポイント(「署名されていないドライバのインストール」)が自動的に作成され、インストール前の状態に戻せるようになった。
|
|
システム復元機能の画面 |
署名のないデバイス・ドライバをインストールすると、このように「システムの復元ポイント」が作成される。このポイントを指定して、システム復元を実行すると、復元ポイントが作成された直前のシステム環境に戻すことができる。ユーザーが作成したデータ・ファイルなどは、そのまま残されるので安心していただきたい。 |
|
|
署名のないデバイス・ドライバをインストールすることで作成された復元ポイント |
|
このようにWindows XPでは、デバイス・ドライバのインストールに関して、二重の安全策を採っている。しかし、Windows XPで利用可能なWindows 2000用のデバイス・ドライバをインストールした場合でも、「システムの復元ポイント」が自動的に作成されてしまう。システムの復元ポイントは無制限に履歴が残るわけではないため、デバイス・ドライバがインストールされるたびに、古いシステムの復元ポイントへの復元が行えなくなってしまうという問題が発生する。このように二重の安全策が導入されたからといっても、重要なデバイス・ドライバの更新は慎重に行う必要があることには変わりがない。
System Insider フォーラム 新着記事
- Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
- 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
- IoT実用化への号砲は鳴った (2017/4/27)
スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
- スパコンの新しい潮流は人工知能にあり? (2017/3/29)
スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
System Insider 記事ランキング
本日
月間