Windows のレジストリとはハードウェアやソフトウェア、ユーザ情報などを一括して保存しているデータベースです。マイクロソフトの「設定ファイルをまとめて一つにしてしまう」という考え方はリスク管理という点で危うい上、ユーザのことを全く考えていない仕様であり、色々と思うところがありますがここでは割愛します。
Windowsはこのデータベースに頻繁にアクセスするため、ハードウェアが性能が低かった時代は少しでも高速化を図るためにレジストリの値を変更したり不要な情報を削除したり、デフラグなど行ったものです。
しかし、2023年現在これをやる必要はほとんどなくなりました。
ハードウェアの飛躍的に進化
なぜかというと、高速大容量なDRAM、SSD と多数のコアを搭載したCPUなど、PCパーツ市場で様々な革新が起きたからです。
その中でも(ソリッド・ステート・ドライブ SSD)の登場が一番大きな影響を与えました。
ディスクを回転させて磁気ヘッドから読み取るハードドライブディスクなどのデバイスが主流だった時代はシステムを高速化するには、ヘッドの移動距離を短くするためにデータを整列させたりしなければなりませんでした。データがディスク上にバラバラに保存されていると読み取りに時間がかかりました。
ですが、 SSD の登場により物理的に動く部品がなくなり、記憶装置内のデータの最適化をおこなう意味がほとんどなくなりました。データが半導体チップ内にバラバラに散らばっていても関係なく高速で読み取れるからです。
これと同時にレジストリを掃除する意義も失われました。仮に掃除したとしてもパフォーマンスの違いは人間にはわからないほど微々たるものです。
なぜレジストリクリーナーは危険なのか?
なぜレジストリ・クリーナーは危険かというと、ツールの開発者も何をやっているのかがよくわかっていないからです。
Windows OS は Linux などのオープンソース・オペレーティング・システムと違い、コードが公開されていません。 Windows アプリ開発におけるドキュメントが公開されていますが、OS の全容を理解しているツール開発者はおそらくいないでしよう。どうしてもヒューリスティックな方法での検出になってしまうため、誤検知がおきてしまいます。
レジストリを壊すと、異常なCPU使用率やOSの起動やシャットダウンが遅くなったり、アプリケーションのクラッシュなどにもつながります。
レジストリクリーナーが不正確な証拠
ほとんどのレジストリ・クリーナーは Windows をクリーンインストールした直後でも、不要なエントリを検出してしまいます。
下の画像は仮想マシンにインストールされた Windows 11 で CCleaner でレジストリ スキャンを行ったものです。壁紙とテーマを変えただけでサードパーティ製のアプリを一つもインストール、アンインストールしていません。それにもかかわらず、77件もエントリを検出しました。

まあおそらく大半は再生成されるものなので削除しても問題ありませんが、ActiveXやCOM関連のエントリは削除するのはだいぶ危険でしょう。のちに何らかの問題が起きる可能性があります。
下の画像も同様の条件で Avast のレジストリ・クリーナーを使ったものです。こちらはもっと多く、”壊れたレジストリ項目”を124件も検出しました。Windows は最初から壊れているとでも言いたいのでしようか?

このようにまっさらな状態の Windows 上でも勝手に”不要な”エントリを検出してしまうわけですから、クリーナー側がおかしいというなによりの証拠です。しかも比較的安全だと言われている CCleaner や Avast でこのありさまです。この誤検知はずっと放置されたままなので現在は開発もろくに行われていないと思われます。
レジストリクリーナーは昔から危険なものだった
では昔はレジストリ・クリーナーは安全にレジストリを掃除してくれたか、というとそういうわけでもありませんでした。
筆者の知る限り XP 時代から正常なエントリやキーを不要なものとして削除しようとするレジストリクリーナーはたくさんありました。多くの場合は Windows OS やアプリを再起動したら項目を再生製することがあり、問題が起こりませんでしたが、尖った検出方法を使うレジストリ・クリーナーだとたまにメニューが正しく表示されなくなったり、関連付けを破壊したりグラフィックが起動しなくなったりということがありました。
このため、バックアップを取った上でレジストリ・クリーナーで不要と判定されたエントリを一つ一つ精査していたものです。
それでもレジストリクリーナーが使われていたわけは前述したように当時のハードウェアの性能が巨大化した OS に見合っていなかったため、こういったメンテが必要だったこととお粗末なアプリケーションが大量の情報をレジストリに書き込むことがあったためです。
なかでも厄介なものはプリインストールされたアプリケーションやゲームなどです。Final Fantasy 11 などは200近いエントリを作ったりしていました。またレジストリを削除しないと再インストールできなくなってしまうアプリもありました。
マイクロソフト社がサポート外だと宣言
当たり前の話ですが、Windows OS を開発しているマイクロソフト社がサポート外だとしています。
抄訳すると、
- マイクロソフトはいかなるレジストリ・クリーナーもサポートしない。
- ツールでレジストリを破壊してしまったら再インストールしかないかもしれない。
- フリーで配布されているクリーナーはスパイウェアやマルウェアの可能性があるので注意
- ツールを使って問題が起きても知らん
というものです。
それでもどうしてもレジストリの掃除がしたいんだ
という方はまずはレジストリのバックアップをとってから、レジストリクリーナーは参考程度に一つ一つのエントリを目で見て確認して削除することをおすすめします。Windows を使い慣れている人ならば削除してまずいものはある程度直感でわかってくると思います。
よくわからないものは削除しないというルールを設けて挑みましよう。
おわり
コメント