Skip navigation.
ホーム
BLOG-ROMMER 日高のブログ

Windows 10 への従来デバイスドライバーの移行

Windows 10のリリースが近づいて来た。時々聞くのは、新しいバージョンのWindowsが出ると、以前使っていたデバイスドライバー(以降ドライバー)が使えなくなり、その結果ハードウェアが使えなくなるので暫く様子を見るとか、アップデートはしないという話だ。実際には必ずしもそうではない。ドライバーのインストールソフトウェアが新Windowsへのインストールを制限しているケースも多いため、「Windowsドライバーには互換性がある」という事実が浸透していないのが実情だ。ここは簡単にWindows 10 への従来デバイスドライバーの移行方法を解説する。

必要な知識

古いバージョンのWindowsで動作していたドライバーを新しいWindowsで動作させるために必要な知識は次の通りである。

  • デバイスマネージャーを使用してドライバーの状態を確認、インストールや更新をする
  • Windowsカーネルやドライバーにアーキテクチャ(命令セット=32bit(x86), 64bit(x64), ARMなど)の違いがあり互換性がないので区別して扱う
  • Windowsのドライバーの構造には基本的に、後からリリースされるバージョンのWindowsカーネルであっても問題無く動作することができるための仕組みが入っている
  • ドライバーのインストールには「ドライバーパッケージ」があれば良い
  • Windows Vista以降ではインストールされているドライバーの「ドライバーパッケージ」は全て、C:\Windows\System32\DriverStore\FileRepository以下に存在する

ドライバーパッケージ

「ドライバーパッケージ」とはデバイスドライバーのインストールに必要なものを含めたディレクトリフォルダーのこと。具体的には「INFファイル」「ドライバーバイナリーファイル」「セキュリティーカタログファイル(CATファイル)」等のうちのいずれか、あるいは全てを含む。「ドライバーパッケージ」はドライバーを必要とするハードウェアを提供するメーカーが、Windows Updateまたはインストールソフトウエアとともに配布することが多いが、近年ではMicrosoft社がWindowsにプレインストール(内蔵)するドライバーも増えて来た。

インストール事例

ここまでの情報でわかる通り、同じアーキテクチャのWindowsにアップデートするのであれば「C:\Windows\System32\DriverStore\FileRepository」のディレクトリを丸ごとバックアップして保存しておけば、多くの場合新しいWindowsでも従来のドライバーを再利用できる。以降手順を追って説明する。

まずは上記の様にデバイスマネージャーを開いて、正常インストールされてないドライバーを確認する。

このWindows 10をインストールした直後の事例では、「SMバスコントローラー」と「不明なデバイス」の2種類が該当する。

次にデバイスのノードを右クリックして「ドライバー ソフトウエアの更新」を試みる。

インターネットに接続されている環境でWindows 10を新規インストール、あるいはアップデートインストールしたのであれば実質的に無意味だが、ここで一応「ドライバー ソフトウエアの最新版を自動検索します」をクリックして試みる。運よくドライバーがみつかればインストールが始まるが、通常はこのように「インストールできませんでした」となる。

気を取り直してWindows 8.1の環境からバックアップしてある「FileRepository」を使用する。先ほどのダイアログでは最新版の検索ではなく、「コンピューターを参照してドライバーソフトウエアを検索します」の方を選択する。

次に「コンピューター上のドライバーソフトウエアを参照します」のダイアログが出るので、ここでバックアップしてあるフォルダーを「参照」をクリックして指定すれば良い。

マルチブート環境で別パーティションへのインストールであれば、直接従来のWindowsディレクトリのSystem32以下を参照すれば良い。このときに「サブフォルダーも検索する」にチェックしておく。すると問題無くインストールが完了するはずだ。

注意点

この手順での注意点は次の通り。

  • メーカーサポート
  • このようにして古いWindows用のドライバーを流用してデバイスを利用する場合、メーカーの正規サポートは受けられない。周辺機器製造メーカーでは製品開発時に試験を行って問題が無いことを確認した上でサポート体制を構築しているため、テストして無い新しいWindowsでの、つまり予定にない使い方についてはサポートも保障も無い。不具合があれば、Windows 10対応ドライバーが公開されるまで待つしかない。ここで紹介したインストール方法は、デバイスが新Windowsで正規サポートされるまでの緊急用対策なので、くれぐれも自己責任で使用して頂きたい

  • ドライバーアーキテクチャの変更
  • 新しいWindowsで変更されたドライバーアーキテクチャに関連するものは、正常動作しない可能性がある。Windows 10ではアーキテクチャ変更になったドライバーは少ないのだが、具体的にはセンサー&ロケーション関連、GPS/GIS関連、バイオメトリクス認証関連が変更されている様子なので注意が必要だ。

補足情報

ついでに補足情報を。ドライバーがインストールできないとか見つからないという書き込みを良く見かけるが、そのドライバーを求めているデバイス(ハードウェア)についてデバイスマネージャーで調べれば、直ぐに解決することが多い。

  • 不明なデバイスの素性
  • デバイスマネージャーから正常インストールされてない「デバイスのノード」を右クリックしてプロパティを開く。詳細タブを開いてプルダウンメニューで「ハードウェア ID」を選択すれば、見つからないというハードウェアの素性がわかる。この例では「ACPI INT33A0」がキーワードだか、これで検索すると不明なデバイスの正体(=探すべきドライバー)は「Intel Smart Connect」だと一発でわかる。

  • FileRepository
  • FileRepositoryの中には何があるのか?前述の通り「ドライバーパッケージ」があるのだが、ランダムな文字列のディレクトリ名でわかり難い。しかしこれには命名規則がある。[infファイル名]_[アーキテクチャ]_[GUID(ランダム生成)]となっているので、元のインストールしたドライバのinfファイル名がわかれば、目的ドライバーのパッケージを探すのは容易だ。

最後に

去年から作業して実際に、手持ちの10台以上のマシンにWindows 10 preview版を新規とアップデートと両方の手順でインストールしたが、これらのノウハウによって古いWindows 環境のドライバーを引き継がせることで、Windows 10でインストールできなかったデバイスは一つも無かった。7月29日のリリースに合わせて、いち早く新しいWindows 10環境を使って頂きたい。