Windows 上で古くて残っているドライバーをどうやってクリアするかを考えるのは、特にディスク容量が増えてきたり、単に乱雑になっているときには面倒な作業です。時間が経つにつれて、Windows はドライバーの古いバージョンを DriverStore ( %WINDIR%\System32\DriverStore\FileRepositoryにあります) に保存します。これは主に、ドライバーの更新がうまくいかなかった場合に以前のバージョンにロールバックできるようにするためです。しかし、欠点は何でしょうか。古いバージョンが蓄積され、必要以上に多くのスペース (時には数十ギガバイト) を占めてしまうのです。これはかなりおかしいことです。そこで、このガイドでは、組み込みツールと便利なサードパーティ製のオプションを使用して、整理するための実用的な方法をいくつか紹介します。目標は、ディスク容量を解放し、整理された状態を保ち、Windows が不要になったドライバーを保持しないようにすることです。コマンドラインでの楽しい操作や注意事項がいくつかあり、ドライバー ストアをスリムに保つ方法が明確にわかると思います。
Windowsで古いドライバーを修正してディスク容量を節約する方法
PowerShellを使ってWindowsで古いドライバーを見つけて削除する方法
PowerShellとWMIを使えば、DriverStoreにインストールまたは保存されているすべての署名済みドライバーの包括的なリストが得られるため、非常に信頼性が高いツールです。ドライブが古いバージョンのドライバーでいっぱいになっていることに気づいたら、ここを確認してください。
これらのコマンドを実行すると、インストールされているすべてのドライバーが表示され、古いものを選択して削除できます。コマンドはGet-WmiObject Win32_PnPSignedDriverデバイス名、ドライバーのバージョン、日付などの詳細情報を出力します。これをわかりやすく表示するには、Out-GridViewにパイプしてください。
Get-WmiObject Win32_PnPSignedDriver | select DeviceName, DriverVersion, DriverDate, InfName | Out-GridView
NVIDIA、AMD、Realtek などのサードパーティ製ドライバーの場合は、Get-WindowsDriverコマンドレットを使用できます。
Get-WindowsDriver –Online | select Driver, ClassName, ProviderName, Version, Date | Out-GridView
古いドライバーや重複したドライバーを特定したら、次の方法で手動で削除できますpnputil.exe。
pnputil.exe /remove-device oemXXX.inf
場合によっては、ドライバーがアンインストールを拒否すると強制的に切り替えが必要になります。
pnputil.exe /remove-device oemXXX.inf /force
補足:起動に不可欠なドライバーや必須のシステムコンポーネントを削除すると、非常に危険な状況になる可能性があるため、細心の注意を払ってください。削除する前に、ドライバー情報で必ずBootCritical=Trueになっていることを確認してください。
利便性のため、ドライバー情報をテキストファイルにエクスポートすると、古いドライバーを見つけやすくなります。以下のコマンドを実行してください。
dism /online /get-drivers /format:table > c:\drivers_list.txt
それをExcelで開き、デバイスでフィルタリングし、日付またはドライバー名で並べ替えます。古いバージョンをハイライト表示し、=CONCATENATE("pnputil.exe -d ", A2)アンインストールコマンドを生成するような簡単なコマンドを作成します。
その後、これらのコマンドをバッチファイルにコピーするか、コマンドプロンプトで直接実行できます。これにより、古いNVIDIAドライバーを中心に8GBほどのかなりの容量を節約できました。
スクリプトがお好きな場合は、RemoveOldDuplicateDrivers.ps1スクリプトがこのプロセス全体を自動化し、どのドライバーを安全に削除できるかをフラグ付けします。
ディスククリーンアップを使用してWindowsの古いドライバーを削除する
これは、一見すると分かりにくいのですが、Windows に組み込まれているディスク クリーンアップ(cleanmgr.exe) は、特に最近の Win10/11 ビルドでは、ドライバーのクリーンアップを処理できるようになりました。
試してみるには:
- Win+Rを押して、入力し
cleanmgr、Enter を押します。 - メインのシステムドライブ (通常は C:) を選択します。
- 「システム ファイルのクリーンアップ(管理者権限が必要になる場合があります)」をクリックします。
- リストをスクロールして、デバイス ドライバー パッケージを確認します。
- 「OK」をクリックして、そのまま放置します。
このプロセスにより、Windows Updateや手動でインストールした古いバージョンのドライバーが削除され、不要なファイルが大幅に整理されます。ただし、クリーンアップ後はデバイスマネージャーの「ロールバック」ボタンが無効になるため、古いドライバーに簡単に戻すことはできません。また、使用されていないドライバーや壊れたドライバーは削除されませんので、ご注意ください。これらのドライバーは手動で削除する必要があります。
NirSoft の DevManView を使用してドライバーを管理する
視覚的に操作するのが好きで、コマンドラインで操作するのが面倒な方には、DevManViewがおすすめです。接続されているかどうかに関係なく、すべてのドライバーがフラットなリストで表示されるので、古いものや不要なものを簡単に見つけることができます。
- ツールをダウンロードし、解凍して実行します。
- オプション メニューで、「プラグ アンド プレイ非対応ドライバーの表示」と「接続されたデバイスのマーク」を有効にして、全体像を把握できるようにします。
- 古くなったものを確認するには、接続ステータスまたはドライバーの日付でリストを並べ替えます。
- 不要になったドライバーを特定し、選択して「無効にする」をクリックします。PCを再起動します。
- 再起動後、戻って無効なドライバーを選択し、完全にアンインストールします。
注意:Windowsの機能の一部であるドライバーや起動に不可欠なドライバーを無効にすると、問題が発生する可能性があります。デバイスリストにあるドライバーのうち、もはや必須ではないドライバーにのみ、この設定を使用してください。
結局のところ、これらのツールの使い方に慣れれば、古いドライバーの削除はそれほど難しくありません。ただし、大きな変更を加える前に、特にコマンドラインツールやスクリプトを使用する場合は、バックアップを取ることをお勧めします。Windows によっては、最初の起動で空き容量が確保されなかったり、再起動を1~2回必要としたりすることがあります。少し奇妙に感じるかもしれませんが、よくあることです。
まとめ
- PowerShell を使用してドライバーを一覧表示し、pnputil を使用して古いドライバーを手動で削除します。
- 「デバイス ドライバー パッケージ」チェックボックスをオンにしてディスク クリーンアップを実行します。
- より視覚的な管理アプローチにはDevManViewをお試しください
- 必ず最初にバックアップを行ってください。ドライバーの削除はうまくいかないことがあります。
まとめ
古いバージョンのドライバーを削除すると、ディスク容量を解放し、システムを整理するのに役立ちます。もちろん、削除するドライバーは必ず二重チェックをしてください。ハードウェアや起動プロセスに不可欠なドライバーもあるかもしれません。ある環境では問題なく動作しましたが、別の環境ではドライバーのせいでシステムの起動がおかしくなったことがありましたので、慎重に行ってください。これらの方法は、慣れてしまえばかなり簡単です。この方法が、誰かのメモリ節約やドライバー管理の負担軽減に役立つことを願っています。