銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

レジストリについてざっくりまとめてみた (2)

前回の続きです。今回はレジストリの修復ツールについていくつか取り上げてみます。

修復の前に、そもそも壊れる要因としては次のものがあります。

  • ソフトウェア関連

前回の記事で書いたように、ソフトウェアの中にはインストール中あるいは実行中にレジストリを登録するものがあります。そのようなソフトウェアがインストールに失敗した場合であったり、そもそもアンインストールしても登録したレジストリを削除しない場合*1があったりします。残ったレジストリが壊れているというわけではありませんが、これが引き金となってOSに悪影響を及ぼすケースがあります。

  • ハードウェア・デバイスドライバ関連

ハードウェアやデバイス関連のドライバは、Windows Hardware Quality Labs(WHQL)という組織を通して検査され、合格したものにデジタル署名が与えられます。ですのでデジタル署名されていないドライバを使うと、レジストリの破損を含めOSの不調をもたらす可能性が高まります。

WHQL Release Signature - Windows 10 hardware dev

それでは修復に必要なツールを見てみましょう。といってもレジストリを直接操作するものではなく、上で見たようなレジストリが壊れるような要因を探して、修復していくツールになります*2

システムファイルチェッカー

レジストリも含まれているシステムファイルの破損をチェックするコマンドです。すべてのWindows OSに最初から入っているはずなので、管理者権限のコマンドプロンプトから実行できます。

https://support.microsoft.com/ja-jp/kb/929833

chkdsk

Chkdsk コマンドはHD上のエラーを検出し修復するコマンドなんですが、Windows 8 以降ではバックグラウンドで実行され、自動的に修復してくれるようになりました。なのであまり明示的に実行することはないかもしれません。

Redesigning chkdsk and the new NTFS health model | Building Windows 8

システムの復元(System Restore)

システムに大きな変更が加わるときに自動で、あるいは手動でシステムの復元ポイントを作成し、その復元ポイントに戻せる仕組みです。詳細な情報(というかシステムの復元のAPIを使うような場合向け)

System Restore (Windows)

また、システムの復元や次のスタートアップ修復はWindowsの起動オプションを表示して実行することもできます。詳細な手順はこちらに。

Windows Recovery Environment (Windows RE) Technical Reference

スタートアップ修復 (Automatic Start Repair)

Windowsが起動できないような障害を修復する仕組みです。Windows7 のころの情報ですが、日本語だとこちらに。

スタートアップ修復: よく寄せられる質問 - Windows ヘルプ

ドライバーの復元

不調の原因が特定のドライバーではないかとわかった場合、そのドライバーを以前のバージョンに戻す仕組みがあります。デバイスマネージャーからドライバーを選択して、実行できます。ちょうど、HPがWindows10向けの操作方法をYoutubeで公開していました。

www.youtube.com

だんだんさっくりした内容になってきましたが、この辺で。

*1:再インストールに備えてユーザーに消すか確認した結果消えていないケースもあります

*2:結局システム回復系のツールの紹介になってしまった