Windows OS のレジストリとはハードウェアやソフトウェア、ユーザ情報などを一括して管理・保存しているデータベースです。
Windows はこのデータベースに頻繁にアクセスするためハードウェアの性能が低かった時代は少しでも高速化を図るため、レジストリの値を変更したり不要な情報を削除したりデフラグなど行ったものです。
しかし、2023年現在レジストリを掃除する必要はほとんどなくなりました。
なぜかというと 00年代後半からPCパーツ市場で様々な革新がおきたからです。
近年のハードウェアの飛躍的進化
大容量高速な DRAMメモリー、高速なドライブや多数のコアを搭載したCPUが登場したおかげでデータへのアクセスおよび処理が飛躍的に高速化しました。
その中でも SSD の普及が一番大きな影響を与えました。
ディスクを回転させて磁気ヘッドから読み取るハードドライブディスクが主流だった時代はシステムを高速化するには、ヘッドの移動距離を短くするためにデータを整列しなければなりませんでした。データがディスク上にバラバラに保存されていると読み取りに時間がかかりました。
ですが、 SSD の登場により物理的に動く部品がなくなり記憶装置内のデータの最適化をおこなう意味がほとんどなくなりました。データが半導体チップ内にバラバラに散らばっていてもほぼ関係なく高速で読み取れるからです。
同時にレジストリを掃除する意義も失われました。仮に掃除したとしてもパフォーマンスの違いは人間にはわからないほど微々たるものです。
さらにレジストリ・クリーナーを使うのはそれなりにリスクがあるため、やらない方が良いという言説が増えています。
なぜレジストリクリーナーは危険なのか?
レジストリ・クリーナーはなぜ危険なのかというとツールの開発者も何をやっているのかがよくわかっていないからです。
Windows OS は Linux などのオープンソース・オペレーティング・システムと違いコードが公開されていません。 Windows アプリ開発におけるドキュメントが公開されていますが OS の全容を理解しているツール開発者はおそらくいないでしよう。どうしてもヒューリスティックな方法での検出になってしまうため誤検知がおきてしまいます。
レジストリが壊れてしまうと異常なCPU使用率やOSの起動やシャットダウンが遅くなったり、アプリケーションのクラッシュなどにもつながります。
レジストリクリーナーが不正確な証拠
ほとんどのレジストリ・クリーナーは Windows をクリーンインストールした直後でも”不要なエントリ”を検出してしまいます。
下の画像は仮想マシンにインストールされたばかりの Windows 11 上で CCleaner のレジストリ スキャンを行った結果です。アプリケーションを一つもインストールしていません。それにもかかわらず 77件もエントリを検出しました。
おそらく大半は Windows が勝手に再生成するものなので削除しても問題ありませんが、ActiveXやCOM関連のエントリは削除するのはだいぶ危険な可能性があります。のちに何らかの問題が起きるかもしれません。
下の画像も同様の条件で Avast のレジストリ・クリーナーを実行した結果です。こちらはもっと多く、”壊れたレジストリ項目”を124件も検出しました。なかでも大量の .NET 関連のエントリを検出。
Windows は最初から壊れているとでも言いたいのでしょうか?
このようにまっさらな状態の Windows 上でも勝手に”不要な”エントリを検出してしまうわけですから、クリーナーがおかしいというなによりの証拠です。しかも比較的安全だと言われている CCleaner や Avast でこのありさまです。この誤検知はずっと放置されたままなので開発はもうロクに行われていないと思われます。
レジストリクリーナーは昔から危険なものだった
では昔はレジストリ・クリーナーは安全にレジストリを掃除してくれたか、というとそういうわけでもありませんでした。
筆者の知る限り Windows XP 時代でも正常なエントリやキーを不要なものとして削除しようとするレジストリクリーナーはたくさんありました。先ほど述べたように多くの場合は Windows OS やアプリを再起動したら項目を再生製することがあり、問題が起こりませんでしたが、尖った検出方法を使うレジストリ・クリーナーだとたまにメニューが正しく表示されなくなったり関連付けを破壊したりグラフィックが起動しなくなったりということがありました。
このためバックアップを取った上でレジストリ・クリーナーで不要と判定されたエントリを一つ一つ精査していたものです。
それでもレジストリクリーナーが使われていた理由は当時のハードウェアの性能が肥大化した OS に見合っていなかったためこういったメンテが必要だったこととお粗末なアプリケーションが大量の情報をレジストリに書き込むことがあったためです。
中でも厄介なものはプリインストールされたアプリケーションやゲームなどです。ファイナルファンタジーXIなどは200近いエントリを作り出しました。またレジストリを削除しないと再インストールできなくなってしまうアプリもありました。
マイクロソフト社がサポート外だと宣言
当たり前の話ですが、Windows OS を開発しているマイクロソフト社はレジストリ・クリーナーをサポート外だとしています。
抄訳すると、
- マイクロソフトはいかなるレジストリ・クリーナーもサポートしない。
- ツールでレジストリを破壊してしまったら再インストールしかないかもしれない。
- フリーで配布されているクリーナーはスパイウェアやマルウェアの可能性があるので注意
- ツールを使って問題が起きても知らん
というものです。
それでもどうしてもレジストリの掃除がしたいんだ
という方はまずはシステムのバックアップをとってからレジストリクリーナーの結果を参考程度に一つ一つのエントリを目で見て確認して削除することをおすすめします。Windows を使い慣れている人なら削除してまずいものはある程度直感でわかると思います。
よくわからないものは削除しないというルールを設けて挑みましよう。
おわり
コメント