Windowsに内蔵されているツールは、インストールしたサードパーティ製デバイスドライバーのバックアップに驚くほど便利です。特にWindowsの再インストールやクリーンアップグレードを行う前に、ドライバーを探す時間を節約できます。ドライバーを手動で探したり、個別に再インストールしたりするのにうんざりしているなら、このガイドが役立ちます。面倒なドライバーをまとめてバックアップできます。一番の利点は?非常に簡単で、サードパーティ製のソフトウェアは必要ありません。バックアップには.sys、.dll、.exeファイルがすべて保存されるため、後でドライバーを再インストールしたり復元したりするのもそれほど面倒ではありません。
コマンドプロンプトを使ってWindowsからドライバーをエクスポートする方法
方法1: PowerShellとDISMを使用する
この方法は、現在システムにインストールされているサードパーティ製ドライバーをエクスポートしたい場合に適しています。Windowsにはドライバーストア(いわばすべてのドライバーのライブラリ)があるため、この方法が便利です。しかし、大規模なオーバーホールを行う前など、別の場所にコピーを保存しておきたい場合もあります。Export-WindowsDriverまたはなどのコマンドを使ってドライバーをエクスポートするとdism /online /export-driver、そのストアからすべてのドライバーが指定されたフォルダーに取り込まれます。
たとえば、ドライバーをC:\driversに配置する場合は、管理者特権の PowerShell ウィンドウ を開き (右クリックして [管理者として実行] を選択)、次のコマンドを実行します。
Export-WindowsDriver –Online -Destination c:\drivers
このコマンドはインストールされているドライバーをスキャンし、サードパーティ製のドライバーをすべてC:\driversにコピーします。環境によっては、すぐには動作しない場合があります。その場合は、再起動するか、PowerShell を管理者として実行することで解決できる場合があります。その後、INF ファイルの名前が付いたフォルダーがいくつか表示され、それぞれにドライバーファイルが含まれています。
あるいは、DISM (こちらの方が信頼性が高い場合もある) を使用して、次を実行します。
dism /online /export-driver /destination:C:\Drivers
これは同じ機能ですが、システムイメージからドライバーを抽出するWindowsネイティブの方法に近いです。大規模な再インストールの準備に非常に便利です。
プロのヒント:エクスポートをCSVファイルにパイプすることで、クラス、プロバイダー、バージョン、日付などのドライバー情報の簡単なリストを作成することもできます。例:
$BackupDrv = Export-WindowsDriver -Online -Destination c:\drivers $BackupDrv | Select-Object ClassName, ProviderName, Date, Version | Export-Csv c:\drivers\backup_drivers_list.csv -NoTypeInformation -Encoding UTF8
こうすれば、フォルダ内を巡回することなく、どのドライバーをバックアップしたかを確認したい場合でも、すべてCSVファイルに保存されます。ただし、オフラインイメージ(マウントされたWindowsインストールなど)からドライバーをエクスポートする場合は、パスを次のように指定する必要があることに注意してください。
Export-WindowsDriver -Path c:\mount\winimage -Destination c:\drivers
またはDISM経由:
DISM /Image:c:\mount\winimage /Export-Driver /Destination:C:\drivers
これが当てはまる場合:
- 新規インストールまたはメジャーアップグレードを計画している場合
- 万が一に備えてサードパーティ製のドライバーのバックアップを保存したい
- ドライバーを別のマシンに移動する必要がある
期待できること:
すべてのサードパーティ製ドライバーは、選択したフォルダにきちんと保存され、各ドライバーは専用のサブフォルダに保存されます。一部のドライバーは少し古い可能性がありますので、ご心配な場合は日付とバージョンをご確認ください。また、この方法ではMicrosoft署名のドライバー(Windows自体に付属)はバックアップされません。
PNPUtil を使用して Windows ドライバーをエクスポートする
方法2: 従来のPNPUtilコマンド
この古いツール、PNPUtil.exe は、特にコマンドラインツールに慣れている人にとって、ドライバーの管理に非常に便利です。特定のドライバーをドライバーストアから直接エクスポートできます。そのため、特定のデバイスドライバーのみをバックアップしたい場合は、この方法が有効です。
インストールされているすべてのドライバーを一覧表示するには、次のコマンドを実行します。
pnputil.exe /enum-drivers
これにより、一連のID、INFファイル名、そしてそれらのプロバイダーが出力されます。特定のドライバーをエクスポートするには、INFファイル名(多くの場合、oem5.infのようなOEMファイルと略されます)が必要です。次に、以下を実行します。
mkdir c:\drivers\realtek pnputil.exe /export-driver oem5.inf c:\drivers\realtek
これにより、特定のドライバーとそのファイルがフォルダーにダンプされます。これはシステム全体のバックアップではなく、よりターゲットを絞ったバックアップであることにご注意ください。ただし、問題の原因となっているドライバーを特定した場合や、特定のハードウェアドライバーを移行したい場合には非常に便利です。
この方法を使えば、Windows ドライバー ストアから古くなったドライバーや使用されていないドライバーを削除し、整理整頓することができます。以下のコマンドを実行するだけです。
pnputil.exe /delete-driver oem5.inf /uninstall /force
注意: 間違ったドライバーを削除するとデバイスの問題が発生する可能性があるため、削除コマンドは慎重に使用してください。
これが役立つ場合:
- 一度にすべてのドライバーを管理するのではなく、特定のドライバーを管理する
- 古いドライバーや未使用のドライバーを削除する
- 新しくインストールしたデバイスのドライバーを手動でエクスポートする
期待できること:
ドライバーのINFファイルとサポートファイルのコピーが作成されます。設定によっては、コマンドプロンプトを管理者として実行する必要がある場合があります。また、すべてのドライバーがドライバーストアにあるわけではないため、まだインストールされていてアクティブなドライバーには最適です。
バックアップからドライバーをインストールまたは復元する方法
方法1: ドライバーを手動でインストールする
ドライバーを手動で再インストールしたい場合は、バックアップフォルダ内のINFファイルを右クリックし、「インストール」を選択するだけです。はい、とても簡単です。ただし、ドライバーが大量にある場合は、コマンドラインで一括インストールした方が良いかもしれません。
フォルダー内(サブフォルダーを含む)のすべてのドライバーを追加するには、次のコマンドを実行します。
pnputil.exe /add-driver C:\export-drivers\*.inf /subdirs /install
バックアップフォルダにあるすべてのドライバーを一度にインストールします。新しいマシンのセットアップ時や再フォーマット後などに役立ちます。
オフラインの Windows イメージにドライバーを復元する
オフラインの Windows イメージ (展開中など) を使用している場合は、DISM を使用してイメージにドライバーを追加できます。
DISM /Image:c:\win_image /Add-Driver /Driver:C:\export-drivers /Recurse /ForceUnsigned
注: /ForceUnsigned は、一部のドライバーが署名されていない場合に使用します。これはカスタムビルド中に発生することがあります。必ずしも必要ではありませんが、便利です。
まとめ
バックアップと復元という作業自体は完璧ではありませんが、多くのマシンではかなりの手間を省いてくれます。コマンドは慣れてしまえばそれほど複雑ではありませんし、ドライバーのバックアップを用意しておけば、何か問題が起きても驚くような事態にならずに済みます。ただし、どんな方法も完璧ではないことを覚えておいてください。何かを消去する前に、必ずバックアップフォルダを二重に確認してください。
まとめ
- PowerShellまたはDISMを使用してすべてのサードパーティ製ドライバーをエクスポートします
- PNPUtil を使用して特定のドライバーをエクスポートしたり、古いドライバーを削除したりします
- 新規またはオフラインのシステムに手動で、またはコマンドライン経由でドライバーを復元します