ソフトウェア情報の格納領域「レジストリ」について

レジストリ

パソコンにアプリケーションソフトなどをインストールすると、フォルダ(通常はCドライブのprogram Files)にファイルなどが作成されます。

これらインストールしたソフトは、アンインストールするときコントロールパネルの「プログラムと機能」からアンインストールしなくてはいけません。なぜこのようなことをするのでしょうか。

それは、インストールしたソフトはフォルダの中以外にも情報を記録するからです。フォルダを消去しただけではこれら情報は消去されず、パソコン内にゴミが残って不具合の原因になる可能性があるからです。

この「インストールされているソフトの情報」を記録している場所が「レジストリ」です。


レジストリにはソフトの情報が記録されている

レジストリとはソフトウェアの設定、ユーザーパスワード、ライセンス、Windowsシステム、ドライバなどWindowsに関する様々な情報が格納されている階層型データベースです。

レジストリが役に立ってると感じるときはソフトのアップデート時でしょう。

アップデートを始めようとするとアップデートするソフトの場所を指定しなくとも標準で探し出してくれアップデートしてくれます。このとき、数多くあるソフトの中から目的のソフトのインストール場所を特定するときにレジストリ領域に記録されているソフト情報を参照します。

もちろん、これだけではなくレジストリには様々な情報が記録されています。

以前は各ソフト情報がソフトごとの別ファイルとして保存されていました。そのため読み込みに時間がかかり、さらに別のソフトが情報を参照しにくくなっていました。
この問題の解決策としてレジストリという考えが生まれます。様々なソフトの情報を一カ所にまとめ保存することにより読み込み速度も向上、複数のソフトが同じ情報を共有する事も可能となったのです。

このレジストリはパソコン起動時に読み込まれメモリに保存されます。すると以降の読み込みが格段に早くなり、レジストリへのアクセスも高速に行えるようになっています。

レジストリ領域へのアクセスの仕方

このレジストリにアクセスする方法はいくつかありますが、一番簡単なのはWindowsが標準で搭載している「regedit.exe」を利用した「レジストリエディタ」でしょう。

「スタートメニュー」から「すべてのプログラム」を選択後、「アクセサリ」から「ファイル名を指定して実行」をクリックしてください。
ショートカットキーが設定されているので、面倒である場合は「Windowsキー」+「R」でも起動出来ます。

ファイル名を指定して実行

「ファイル名を指定して実行」ウィンドが表示されたら「regedit」と入力しEnterキーを押します。するとレジストリエディタが起動します。

ファイル名を指定して実行「regedit」

レジストリエディタ
▲レジストリエディタ

レジストリエディタでは各キーの変更や追加、消去などが行えます。

他にリモートレジストリサービスが作動していればネットーワークを利用して他のPCのレジストリを編集することも可能です。

レジストリエディタを使用する時の注意点

【注意】何も知らずに弄ると危険

レジストリには上で書いた通りWindowsに関する重要な情報を記録しています。これら情報を何も知らずにキーの変更をやってしまうとWindowsやソフトに重大な不具合を発生させてしまいます。最悪パソコンが起動不可に陥ってしまいます。

この場合の修正は容易ではありません。何せキーの数が多すぎるのでどれを弄ったのか、正しい値は何だったのかが分からなけばもうリカバリしかないという状態になります。分からず弄るのは言語道断ですが、分かってても注意してください。

キーのバックアップは必ずやる

レジストリにあるキーの数は膨大です。それに加えキーの情報も細かいものですから、もしキーを変更したり消去して不具合が出た場合、修復が容易ではなくなります。

不具合が起きても復元できるように弄る前は必ずレジストリキーのバックアップをとりましょう。

バックアップは、レジストリエディタのメニューバーにある「ファイル」の「エクスポート」から行えます。保存場所を指定してバックアップをとると、拡張子「.reg」で保存されます。バックアップファイルの適用はregファイルをダブルクリックして適用するか、レジストリエディタの「インポート」からregファイルを指定してやることで適用できます。

キー単体でバックアップを取りたい場合はキーを選択した後「エクスポート」を行います。

バックアップ

ネットで手に入る「.reg」ファイルについて

ネットでも拡張子「.reg」のファイルが手に入ることがあります。これはレジストリキーのバックアップではなく、キーの追加・変更・消去をダブルクリックのみで行うためのファイルです。

デスクトップの改造であるとか、システムの改造を行うとき安全に変更したい場合に使用します。ただし、これは信用のあるところから入手した場合であって、悪意のある場所から入手したものだとレジストリキーをめちゃめちゃにされてしまう可能性があります。

適用するまえに拡張子を「.txt」に変更して内容を確認するといいでしょう。

regファイルの確認

スポンサーリンク

Track Back

Track Back URL

Comments [6]

おはようございます。 Windows 8.1の64 bitを使っています。

レジストリとは直接関係は無いかもしれませんが一つ質問をさせてください。

先日誤ってAutorunsというツールを使って、以下のURLの画像で黄色くなっている
三つの項目を削除してしまいました。

https://goo.gl/images/PwUwd2

削除してしまった理由は以下の通りです。

1. 「File not found」となっていたから。
2. 以下のブログの記事を見て大丈夫だと思ったから。

・Windows10 では 「KnownDLLs」 レジストリのエントリは使用しない?
http://blog.goo.ne.jp/hiros-pc/e/afbc9e32cd7cc3cbb1a0ba7e871e3c09

この三つの項目を削除した事自体に問題は無いのでしょうか。
とりあえずPCは普通に動いている(ように感じる)のですが、
余計な事をしてしまったと不安に感じています。

お忙しいところ大変恐縮ですが、ご対応よろしくお願い致します。

コメントありがとうございます。

まずKnownDLLsについてですが、正直私もわからなかったので調べてみました。

どうやらシステムが必要とするDLLの検索をする際にまず最初に検索されるDLL群を登録してあるレジストリキーのようです。よく使うDLLは最初に探すようにして効率を上げている感じですね。原則「%SystemRoot%\system32」以下にあるDLLを探すようです。英語ですが詳しくは下記マイクソフトのサイトに書かれております。

●Dynamic-Link Library Search Order
http://msdn.microsoft.com/en-us/library/ms682586(VS.85).aspx

ということで、最初に読み込まれるDLLリストの中にはあるのに、実際存在しなかったDLLが「File not found」となってしまっているようです。これだけのことであれば、実物がないのですからキー自身を消しても問題はないといえるかもしれません。

ただ、「wow64.dll」「wow64cpu.dll」「wow64win.dll」は64bitOSで32bit向けプログラムを実行させるための機能「WOW64」に使用されるものですので、このファイル自身は64bit Windowsならば絶対必要で「system32」にこれらファイルがあるはずです。この機能を使うことで、32bit用プログラムも64bit Windowsで動作せることができるようになっています。「SysWOW64」というところに32bit用のシステムが入ってるので、そこへリダイレクトさせています。

●WOW64 実装の詳細
https://msdn.microsoft.com/ja-jp/library/aa384274(v=vs.85).aspx

当方でKnownDLLsを調べてみましたら、Windows8.1とWindows10で「wow64.dll」等の登録がありましたがいずれも「File not found」となっています。Windows7にはなかったです。


結論:多分大丈夫だと思います。

確かに「File not found」にはなっているのですが、実物は「system32」以下にありますし、実際「WinSxS」内ではこれらDLLを読み込んだ形跡が普通にあるので、KnownDLLsになくてもWOW64は必要なDLLを探してちゃんと使っているようです。KnownDLLsは効率的にDLLを探すためのリストですし、ここになかったらシステムは普通にDLL検索をかけますから、動作にそんな支障はないかと思われます。(ただ、Windows10でもKnownDLLsは参照しているみたいです。KnownDLLsをどうこうしている記事は今でも多くありました。)

それがなぜ登録されているのかまでは、KnownDLLsのことを知らない私ではわからないのですが、動作という点では多分大丈夫かと。私のところでもキーの名前にアンダーバーがあるもののみが読み込まれていないので、そこに意味があるのかも(セキュリティ的なもの?)

動作の確認という点では、この3つのDLLがないと32bit版プログラムが動かないのですぐわかると思います。そこで問題が起きなければ取りあえず安心してよいでしょう。ただ、このようにレジストリにはシステムに深く関連したキーが山ほどありますので、本来は無闇に消さない方がよいかと思います。必要にかられたときのみ、かつキーの意味をよく調べた上で削除をおすすめいたします。

以上、長くなりましたがお返事とさせていただきます。

ご対応ありがとうございます。

とりあえずは大丈夫だと認識して良いのですね。
一応、この作業をする前にTrue Imageでバックアップを取っています。
もし何かあれば復元出来るので、経過を観察していきたいと思います。

今回は調べてまで頂いてとても助かりました。ありがとうございました。

おはようございます。

このレジストリを削除してしまった事での動作への影響は特別感じられません。
ですが、出来るのであれば元の状態に戻したいと思うようになりました。

以下の方法でこのレジストリの復元が出来るのかどうか教えてください。

・レジストリを復元するまで

1. パソコン全体のクローンをHDD等に作成する。
2. パソコンを初期化し、該当のレジストリをバックアップする。
3. バックアップしたレジストリをUSBメモリ等に保存する。
4. 作成したクローンを使い、パソコンを元の状態に戻す。
5. 元の状態に戻ったパソコンに、該当のレジストリを取り込む。

お忙しいところ大変恐縮ですが、ご対応よろしくお願い致します。

コメントありがとうございます。

う~んそうですね、その方法でできなくはないと思いますが。
そこまでしてやるような重要なレジストリでもない気がしますし、OSを再インストールしてすぐの当該レジストリが今の環境のものと同一のものが復元されるかの保証もないですし(全然内容が違うかもしれません)、変に不整合が起きても面倒ですから今現状問題がないようでしたらそのまま利用されてみてはいかがでしょうか。

もし戻したい場合でも、クローンではなくて(現環境のバックアップは必要ですが)OSの再インストールまでやってすっきりさせるくらいの方法が確実かと思います。私は年に一度の頻度でOSを再インストールして、特に必要なソフトウェアだけをまたインストールさせることで環境を更新しています。(そのお陰か古い環境が残っていることによる不具合はかなり少ないです。)

ご参考になりましたら幸いです。

返信ありがとうございます。

そうですね、管理人さんの考えが一番無難な選択だと思います。
作業にかかる手間暇と、整合性が無かった場合のリスクを考えると、
現状で特に不都合は無いのですから、あえて戻す必要は無いですよね。

今回はありがとうございました。現在の環境で使い続けたいと思います。
もし今度何かあった際は、また相談させてください。よろしくお願いします。

コメントする

非公開。必須ではありません。

(いくつかのHTMLタグ(a, strong, ul, ol, liなど)が使えます)

このページの上部へ

サイト内検索

広告

最近のコメント

Powered by Movable Type 6.3.2