レジストリクリーナーが危険かつ現代では不要な理由

Windows
この記事は約5分で読めます。

※当サイトは広告収入で運営されているため、広告が表示される場合があります。

Windows OS のレジストリとはハードウェアやソフトウェア、ユーザ情報などを一括して管理・保存しているデータベースです。

Windows はこのデータベースに頻繁にアクセスするためハードウェアの性能が低かった時代は少しでも高速化を図るため、レジストリの値を変更したり不要な情報を削除したりデフラグなど行ったものです。

しかし、2023年現在これをやる必要はほとんどなくなりました。

近年のハードウェアの飛躍的進化

なぜかというとPCパーツ市場で様々な革新がおきたからです。大容量高速な DRAM、SSD(ソリッドステートドライブ)や多数のコアを搭載したCPUなどのおかげでデータへのアクセスおよび処理が飛躍的に高速化しました。

その中でも SSD の登場が一番大きな影響を与えました。

ディスクを回転させて磁気ヘッドから読み取るハードドライブディスクなどのデバイスが主流だった時代はシステムを高速化するには、ヘッドの移動距離を短くするためにデータを整列させたりしなければなりませんでした。データがディスク上にバラバラに保存されていると読み取りに時間がかかりました。

ですが、 SSD の登場により物理的に動く部品がなくなり記憶装置内のデータの最適化をおこなう意味がほとんどなくなりました。データが半導体チップ内にバラバラに散らばっていても関係なく高速で読み取れるからです。

これと同時にレジストリを掃除する意義も失われました。仮に掃除したとしてもパフォーマンスの違いは人間にはわからないほど微々たるものです。

なぜレジストリクリーナーは危険なのか?

なぜレジストリ・クリーナーは危険かというとツールの開発者も何をやっているのかがよくわかっていないからです。

Windows OS は Linux などのオープンソース・オペレーティング・システムと違いコードが公開されていません。 Windows アプリ開発におけるドキュメントが公開されていますが OS の全容を理解しているツール開発者はおそらくいないでしよう。どうしてもヒューリスティックな方法での検出になってしまうため誤検知がおきてしまいます。

レジストリが壊れてしまうと異常なCPU使用率やOSの起動やシャットダウンが遅くなったり、アプリケーションのクラッシュなどにもつながります。

レジストリクリーナーが不正確な証拠

ほとんどのレジストリ・クリーナーは Windows をクリーンインストールした直後でも”不要なエントリ”を検出してしまいます。

下の画像は仮想マシンにインストールされたばかりの Windows 11 で CCleaner でレジストリ スキャンを行ったものです。壁紙とテーマを変えただけでサードパーティ製のアプリを一つもインストール、アンインストールしていません。それにもかかわらず、77件もエントリを検出しました。

CCleaner Free v6.11

まあおそらく大半は Windows が勝手に再生成するものなので削除しても問題ありませんが、ActiveXやCOM関連のエントリは削除するのはだいぶ危険でしょう。のちに何らかの問題が起きる可能性があります。

下の画像も同様の条件で Avast のレジストリ・クリーナーを使ったものです。こちらはもっと多く、”壊れたレジストリ項目”を124件も検出しました。Windows は最初から壊れているとでも言いたいのでしようか?

このようにまっさらな状態の Windows 上でも勝手に”不要な”エントリを検出してしまうわけですから、クリーナー側がおかしいというなによりの証拠です。しかも比較的安全だと言われている CCleaner や Avast でこのありさまです。この誤検知はずっと放置されたままなので現在は開発もろくに行われていないと思われます。

レジストリクリーナーは昔から危険なものだった

では昔はレジストリ・クリーナーは安全にレジストリを掃除してくれたか、というとそういうわけでもありませんでした。

筆者の知る限り Windows XP 時代でも正常なエントリやキーを不要なものとして削除しようとするレジストリクリーナーはたくさんありました。先ほど述べたように多くの場合は Windows OS やアプリを再起動したら項目を再生製することがあり、問題が起こりませんでしたが、尖った検出方法を使うレジストリ・クリーナーだとたまにメニューが正しく表示されなくなったり関連付けを破壊したりグラフィックが起動しなくなったりということがありました。

このためバックアップを取った上でレジストリ・クリーナーで不要と判定されたエントリを一つ一つ精査していたものです。

それでもレジストリクリーナーが使われていた理由は当時のハードウェアの性能が肥大化した OS に見合っていなかったためこういったメンテが必要だったこととお粗末なアプリケーションが大量の情報をレジストリに書き込むことがあったためです。

中でも厄介なものはプリインストールされたアプリケーションやゲームなどです。Final Fantasy 11 などは200近いエントリを作ったりしていました。またレジストリを削除しないと再インストールできなくなってしまうアプリもありました。

マイクロソフト社がサポート外だと宣言

当たり前の話ですが、Windows OS を開発しているマイクロソフト社がサポート外だとしています。

抄訳すると、

  • マイクロソフトはいかなるレジストリ・クリーナーもサポートしない。
  • ツールでレジストリを破壊してしまったら再インストールしかないかもしれない。
  • フリーで配布されているクリーナーはスパイウェアやマルウェアの可能性があるので注意
  • ツールを使って問題が起きても知らん

というものです。

Microsoft support policy for the use of registry cleaning utilities - Microsoft Support
Microsoft support policy for customers who use registry cleaning utilities.

それでもどうしてもレジストリの掃除がしたいんだ

という方はまずはレジストリのバックアップをとってからレジストリクリーナーは参考程度に一つ一つのエントリを目で見て確認して削除することをおすすめします。Windows を使い慣れている人ならば削除してまずいものはある程度直感でわかると思います。

よくわからないものは削除しないというルールを設けて挑みましよう。

おわり

コメント

タイトルとURLをコピーしました