こんにちは、阿久津です。私事ですがレーザープリンタを新たに購入しました。筆者の仕事サイクルとして原稿執筆後に一度印刷し、誤字脱字のチェックや文脈に違和感がないか推敲を重ねて納品しています。一見するとPDFに出力して推敲した方が手軽に見えますが、実際に試してみると見落とす場面が多く、いまだ前述の手順を踏んでいます。フォントや出力形式の問題かとオプション調整を試してみても結果は一緒。結局、紙から離れられないのかもしれません。

冒頭の買い換えた理由ですが、これが実に情けない話。年賀状を送るために家人が購入したインクジェットプリンタ用はがきを印刷してしまい、故障してしまったからです。プリンタに詳しい方はご存じのとおり、インクジェットプリンタ用はがきには専用のコーティング加工がされており、レーザープリンタでは紙詰まりや定着不良を引き起こす原因になりかねません。

数年前のインクジェットプリンタ用はがきは、表面(文書や写真を描く面)のみ加工されており、裏面(相手の宛先などを記載する面)は加工されていなかったように記憶しています。もちろん印刷したからすぐにおかしくなるというものではなく、半年ほど経つと紙詰まりが発生し、しばらくすると印刷のズレも発生するようになりました。レーザープリンタ用クリーニングシートでローダーの掃除を行い、マニュアル片手に各所を掃除してみましたが結果は一緒。

メーカー修理も考えましたが、元々は安価で購入したレーザープリンタに購入額以上のメンテナンスフィーを支払うのも馬鹿らしいと思い、新しいレーザープリンタを注文した次第です。問題は残された買い置きのトナーと不要になったレーザープリンタ本体。前者はオークションなどで転売すれば済む話ですが、後者は廃棄物処理法上一般廃棄物に該当するらしく、回収・処理責任はメーカーではなく自治体が受け付けるとのこと(筆者が使用していたプリンターの場合。メーカーによって異なるようです)。

しかし、筆者が住む自治体のWebページには、詳細情報が記載されいないため、Web上から不要品回収を展開している法人業者に頼むことになりそうです。リサイクル云々に関しては何とも言えませんが、最近のコンピュータ機材は"買うは易し、捨てる難し"です。

さて、レーザープリンタのリプレースが終わった筆者の環境では、古いデバイスドライバを削除し、新しいデバイスドライバの導入などを行いましたが、ここで問題になるのが古い情報です。Windows 7(正しくはWindows Vista以降)では、表面的に削除したデバイスドライバを再利用するために、デバイスストアという仕組みを用意するようになりました。

同ロジックはWindows OSが新しいデバイスを検出しますと、プラグアンドプレイサービスがデバイスの識別子を紹介し、マッチする場合にデバイスストアからデバイスドライバを取り出し、OSに導入するという仕組み。この参照先が「%WinDir% \ System32 \ DriverStore」フォルダであり、実際のパッケージファイルは「%WinDir% \ System32 \ DriverStore \ FileRepository」フォルダに格納されています(図01~02)。

図01: 「%WinDir% \ System32 \ DriverStore」フォルダの内容。言語ごとにフォルダが切り分けられています

図02: こちらは「%WinDir% \ System32 \ DriverStore \ FileRepository」フォルダ。2年ほど使い続けたマシンで6,000ファイルほど格納されていました

なお、従来の仕組みも残されており、前述のデバイスストア内でマッチするデバイスドライバを検出されなかった場合、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersionキーの展開可能な文字列値「DevicePath」で指定されているINFファイルの格納先となる「%SystemRoot% \ inf」フォルダも参照しています。

ここでポイントとなるのが、アンインストーラーの実行やプリンタ削除時にうながされるデバイスドライバーの削除でも残ってしまうケース。今回は、残されたデバイスドライバーをドライバストアから削除するチューニングをお届けします。

1.管理者権限でコマンドプロンプトを起動します。
2.「pnputil -e」と実行してINFファイルを確認します。
3.ステップ02で確認したINFファイルの内容を確認します。
4.削除対象として確認できたら、「pnputil -d {INFファイル名}」と実行します。

これでチューニングが終了しました(図03~09)。

図03: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「cmd」と入力して<OK>ボタンをクリックします

図04: コマンドプロンプトに「pnputil -e」と入力して[Enter]キーを押します

図05: これでドライブストアの内容が表示されました。今回削除するデバイスドライバーは「oem79.inf」として割り当てられたプリンターです

図06: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「%windir%\inf」と入力して<OK>ボタンをクリックします

図07: 図05で確認したファイルをダブルクリックします

図08: INFファイルがメモ帳などで開きます。内容に間違いがないか確認してください

図09: コマンドプロンプトに「pnputil -d oem79.inf」と入力して[Enter]キーを押します。これでドライバーパッケージが削除されました

早速結果を確認しましょう。そのままコマンドプロンプトから、サードパーティパッケージを列挙させる「pnputil -e」を実行してください。すると先ほどまであったパッケージ情報が削除されています。また、「%SystemRoot% \ inf」フォルダーからも割り当てられたINFファイルおよび関連ファイルが削除されました(図10~11)。

図10: コマンドプロンプトに「pnputil -e」と入力して[Enter]キーを押せば、削除されたことを確認できます

図11: 図06の操作で「%windir% \ inf」フォルダを開きますと、同じようにINFファイルの削除を確認できます

ドライブストアは、再度同じデバイスを使用する際にデバイスドライバの導入手順を簡略するためのロジックです。そのため、大容量ストレージが一般的に使用される現在では、数ファイルを削除するメリットは大きくありません。しかし、筆者のように該当するデバイスを破棄し、再利用する可能性が皆無に等しい場合、本チューニングは有効な手順になるはずです。

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)