Windowsを操作していて必ずでてくるのが「レジストリとは何だ?」ということです。
レジストリとはWindowsの中核部分でいわば人間でいう「DNA」みたいなものです。
このレジストリにはいろんな情報が格納されておりますが、実際には隅々まで把握するのは非常に難しいのが現状です。
実際、システム開発のエンジニアであってもこのレジストリに関しては、分からないことが多いわけです。
1.レジストリの概念
レジストリは、Windowsの情報そのもののかたまりであり、このレジストリの情報のもとにファイルを開いたり、アプリケーションを実行したり、印刷したり、通信したりしているわけです。

レジストリの大きな機能は
1.システムのデバイス情報を保存する。
2.新しい周辺機器の情報を保存する。
3.アプリケーションの情報を保存する(関連つけ・ファイルがどこにあるかという情報等)
4.コンピュータの動作の情報を保存する。(いわゆるコントロールパネル等)
5.コンピュータを立ち上げたときにファイルを自動実行する。
などです。
そのため、レジストリは見ただけでは分かりません。
実際レジストリをみるには、
スタートからファイル名を指定して実行を選択し、regeditと入力すれば見ることができ、編集も可能です。
ただし、レジストリの編集に関しては人間のDNAをさわることと同じですので、一歩間違えると立ち上がらなくなったり、重大な問題が発生しますので、最新の注意を払ってください。普通の人は触らないほうがいいでしょう。
2.レジストリの構造について
レジストリはいくつかの構造でまとめられています。
HKEY_CLASSES_ROOT
アプリケーションの関連付けを行う場所です。
HKEY_CURRENT_USER
HKEY_USERSの中の設定の中で、現在使用しているWindowsににログオンしているユーザーの情報を格納します。直下のサブキーは次の通りです。
| キー名 | 説明 | |
|---|---|---|
| [AppEvents] | Windowsの警告音・起動終了等のサウンドに関する情報が格納されています。 | |
| Console] | コマンドプロンプトのカスタマイズ設定が格納されています。 | |
| [Environment] | ユーザーごとに使用されている環境変数の設定情報が格納されています。 | |
| [Identities] | 複数のユーザーを識別する特定のソフトウェアの情報(OutlookExpressのメール設定等)の情報が格納されています。 | |
| [KeyboardLayout] | キーボードの地域と言語の設定が格納されています。 | |
| [Printer] | ユーザーが使用できるローカルまたはリモートプリンターの情報が格納されています。 | |
| [EUDC] | ユーザーの定義文字に関する情報が格納されています | |
| [Control Panel] | ユーザーがカスタマイズを行った独自の画面や操作環境の設定が格納されます。 | |
| [Accessibility] | 障害を持つユーザーのための設定情報が格納されています。 | |
| [Appearance] | 画面のプロパティ][デザイン]タブ画面で行う画面環境の設定内容が格納されます。 | |
| [New Schemes] | WindowsXPで追加されたキーです。 | |
| [Colors] | さまざまなアプリケーションで使用する色の定義情報が格納されます。 | |
| [Desktop] | 非常に多くの情報が保存されており、デスクトップに関するさまざまな設定情報が格納されています。多くは[画面のプロパティ]などで設定できる項目ですが、中には設定ツールのない項目もあります。 壁紙に関する情報もこのキーに格納されます。スクリーンセーバーに関する設定もここに格納されます。 |
|
| [don't load] | [コントロールパネル]に表示しないアプレットを指定できます。 | |
| [Input Method] | ホットキーに関する情報が格納されます。 | |
| [International] | 地域と言語のオプション]で設定できるデータの表示形式の情報が格納されます。 | |
| [Software] | ユーザー独自のオプション設定や環境情報が保存されており、登録データの内容は他のユーザーとは異なります。 | |
| [Microsoft] | 多くのサブキーが作成されています。 [プログラムの追加と削除]でWindowsコンポーネントを追加すると、さらに多くのサブキーが作成されます。 |
|
HKEY_LOCAL_MACHINE
ハードウェア機器の設定 (I/OポートやDMAのリソース情報等) やソフトウェア情報、Windows自体の設定を格納しています。
このディレクトリ内の情報は、Windowsの起動と動作を制御するためのすべての情報が格納されているもっとも重要な領域です。この領域の一部でも破損すれば、ほぼ確実にWindowsの再セットアップが必要となります。
[HKEY_LOCAL_MACHINE]のサブツリーには、ハードウェア、ソフトウェア、セキュリティ、Windows自身の動作や機能の制御などがあり、システム全体に共通するものです。
[HKEY_USERS]の方にも同様のサブツリーが存在しますが、そちらは個々のユーザに適用されるものです。
[HKEY_LOCAL_MACHINE]の直下に作成されている重要な5個サブキーは次の通りです。
| キー名 | 説明 | |||
|---|---|---|---|---|
| [HARDWARE] | システムが起動時に検出したハードウェアの情報が格納されます。これは起動時NTDETECT.COMというプログラムが検出を行い、シャットダウン時に破棄されます。
この中にはさらに3つ(XPは4つ)のサブキーが存在します これらの情報の一部は[デバイスマネージャー]あるいは[システム情報]で確認することができます。 |
|||
| [ACPI] | コンピュータのマザーボード(チップセット含む)に関する情報が格納されています(XPのみ) | |||
| [DESCRIPTION] | CPUおよび数値演算プロセッサの情報・PCIバスやISAバス等のスロットルの構成に関する情報が格納されています。 | |||
| [DEVICEMAP] | 検出されたハードウェアデバイスの制御を可能にするWindows側のサービスへのマップ情報(リンク情報)が格納されています。 | |||
| [RESOURCEMAP] | 検出されたデバイスに割り当てるリソース(DMA、割り込み、IOポート、メモリなど)の情報が格納されます | |||
| [SAM] | [SECURITY\SAM]のエイリアスで、ユーザやユーザグループに関する登録情報が格納されます。 この[SAM]キーの下にもう1つの[SAM]キーがあり、次の2つのキーがあります。 |
|||
| [Account] | 管理者ユーザーによって登録されたユーザーアカウントやユーザーグループに関する情報が格納されています。 下位には[Aliases][Groups][Users]という3つのキーがあります |
|||
| [Builtin] | システムによって登録された既定のユーザー(AdministratorやGuestなど)およびユーザーグループ(Administrators、PowerUsers、Users、BackupOperatorsなど)に関する定義情報が格納されています。 下位には[Aliases][Groups][Users]という3つのキーがあります |
|||
| [SECURITY] | ローカルセキュリティポリシーなどのセキュリティ情報が格納されます。ここはローカルユーザに対してアクセス制限されているため、通常はデータ内容を閲覧することができません。
このキーの下には2つのサブキーがあります。 |
|||
| [SAM] | [HKEY_LOCAL_MACHINE\SAM]のリンク元になります。 | |||
| [Policy] | このキーの下には多くのサブキーが作成されており、一番上に見える[Accounts]キーにはマシンに登録されているすべてのユーザーのセキュリティIDやユーザー権限の定義が格納されます。 | |||
| それ以外 | セキュリティポリシーに関連した設定内容だと思われます。 | |||
| [SOFTWARE] | Windowsの動作に関わる情報やアプリケーションの登録情報が保存されます。もっともデータ量の豊富な領域です。この中の[Classes]情報は[HKEY_CLASSES_ROOT]のリンク元になります。 セットアップに関連する情報(ユーザーに関する情報やセットアップの日時、セットアップCDが挿入されたドライブ・パスなど)を格納します。 またすべてのユーザーに適用されるソフトウェアの基本設定の情報も格納されます。 基本的には[会社名]\[製品名]\[バージョン名]の形でサブキーが作成されますが、例外もあります。 [SOFTWARE]キーはこの「HKEY_LOCAL_MACHINE」サブツリーだけでなく、「HKEY_CURRENT_USER」サブツリーにも存在します。 「HKEY_LOCAL_MACHINE」の[SOFTWARE]キーにはマシン全体についての情報が格納され、「HKEY_CURRENT_USER」の[SOFTWARE]キーには、各ユーザーのオプション設定や前回終了時の環境情報などが保存されます。 |
|||
| [Classes] | ファイルタイプに関する定義情報が格納されており、「HKEY_CLASSES_ROOT」サブツリーのリンク元です。 | |||
| [Clients] | InternetExplorerに関連付けられたプログラムに関する情報が格納されています。 | |||
| [ODBC] | インストール済みのODBCドライバーのリストやユーザーが作成したマシンで共有するデータソースの設定が格納されます。 | |||
| [Microsoft] | Windowsを構成するプログラムや機能の定義情報および制御情報が格納されています。 Microsoft製品をインストールした場合もやはりこの[Microsoft]キーの下位にそれらのサブキーが作成されます その下位のキーは次の通りです |
|||
| [IE4] | このキーの存在自体に意味があるのだと思われます。 | |||
| [InternetExplorer] | [InternetExplorer]InternetExplorerの設定情報です。 | |||
| [Windows\Current Version] | [Windows\Current Version]Windowsのセットアップに関わる情報やシステムの初期設定などが格納されます。ユーザーに関係なくシステム全体に共通する内容です サブディレクトリは次の通りです。 |
|||
| [App Paths] | プログラム名のサブキーが作成され、実際のファイルパスが格納されています。そのためプログラム名だけを入力した場合でもWindowsは正確なファイルの所在を知ることができるのです。 | |||
| [Control Panel] | 操作環境を中心とした情報が格納されています。 | |||
| [Explorer] | 操作環境を中心とした情報が格納されています。 | |||
| [Run] | システムの起動時に自動的に実行させるプログラムを記述します。 | |||
| [Run Once] | プログラムが実行された後でそのエントリーが自動的に削除されます。 | |||
| [Uninstall] | Windowsコンポーネントや登録済みアプリケーションのアンインストール情報が格納されます。このキーのを削除した場合、アプリケーションを正しく削除することができなくなります。 | |||
| [Windows NT\Current Version] | [AeDebug] | システムの障害発生時の処理方法が格納されております。 | ||
| [Compatibility] [Compatibility32] |
Windows2000/XP上で動作するソフトウェアの互換性に関する情報が格納されています。 | |||
| [MCI・・・・・] | サウンドカードに関連づけられるMCI(Media Control Interface)ドライバー、CDオーディオ、WAVE(音声データ)、MIDI(MIDIデータ)、AVI(動画)を処理するための情報が格納されています。 |
|||
| [ProfileList] | セキュリティに関連する非常に重要なサブキーです。ここではかつてログオンしたことのあるすべてのユーザーのSIDとプロファイルフォルダとの対応情報が格納されています。 | |||
| [Winlogon] | ログオン手続きに関連するエントリーが格納されており、ログオン画面に表示されるユーザー名やドメイン名、メッセージ、シャットダウンなどもここで設定することができます。 | |||
| [SYSTEM] | ハードウェアおよびパソコンの起動や基本機能に関する情報が格納されます。特にシステムファイルと直結している所です。この内部には[HKEY_CURRENT_CONFIG]のリンク元となっている領域があります。
また、コントロールセット以外のサブキーもいくつか作成されています。 |
|||
| [LastKnown GoodRecovery] | 障害回復時に利用されるものと思われます。Win2Kには存在しません。 | |||
| [Mounted Devices] | ローカルマシンにおいて利用可能な記憶装置(フロッピー、ハードディスク、CD-ROM等)に関するマウント情報が格納されています。 | |||
| [Select] | 起動に使用したコントロールセットの情報が格納されます。 | |||
| [Current ControlSet] [Contro lSet001] [Contro lSet00x] |
それぞれ共通して[Control][Enum][Hardware Profiles][Services]という4つのサブキーが作成されています。 [CurrentControlSet]は[ControlSet001]へのリンクであり、[CurrentControlSet]における変更部分はそのまま[ControlSet001]に反映されます。 この領域はハードウェアもしくは仮想デバイス、そしてシステムの起動時にバックグランドで実行され、さまざまな処理を提供するサービスプログラムに関する情報が格納されています。 |
|||
| [Enum] | パソコンに搭載されているハードウェアおよび仮想デバイスに関する情報、また制御するドライバに関する情報が格納されています。 | |||
| [Services] | 自動実行されるサービスプログラムのほかに、デバイスも含めたすべてのサービス項目がサブキーとして作成され、それぞれの起動方法やセキュリティ情報が格納されています。 | |||
| [Hardware Profiles] | [Control]や[Enum]からの情報が格納されます。 サブキーとして[0000][0001][0002]という3個のセットの他に、通常は[0001]へのリンクである[Current]が作成されており、実際に稼働しているのは[Current]だけです。[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current]キーは[HKEY_CURRENT_CONFIG]サブツリーのリンク元になっています。 | |||
HKEY_USERS
ユーザごとのデスクトップの背景色、レイアウト、スクリーンセーバー、壁紙などの情報を格納しています。
[HKEY_USERS]サブツリーにはユーザーハイブから読み込まれたデータがユーザーごとに格納されます。既定では、ユーザーがログオンしていないときにシステムが使用する[.DEFAULT]キーと現在ログオンしているユーザーのサブキーが作成されています。
この下のサブキーには[Control Panel]があり、そのサブキーは次の通りです。
| キー名 | 説明 | |
|---|---|---|
| [Control Panel] | [Accessibility] | 障害を持つユーザーのための設定情報が格納されています。 |
| [Appearance] | [画面のプロパティ][デザイン]タブ画面で行う画面環境の設定内容が格納されます。 | |
| [New Schemes] | WindowsXPで追加されたキーです。 | |
| [Colors] | さまざまなアプリケーションで使用する色の定義情報が格納されます。 | |
| [Desktop] | 非常に多くの情報が保存されており、デスクトップに関するさまざまな設定情報が格納されています。多くは[画面のプロパティ]などで設定できる項目ですが、中には設定ツールのない項目もあります。 壁紙に関する情報もこのキーに格納されます。スクリーンセーバーに関する設定もここに格納されます。 |
|
| [Input Method] | ホットキーに関する情報が格納されます。 | |
| [International] | 地域と言語のオプション]で設定できるデータの表示形式の情報が格納されます。 | |
HKEY_CURRENT_CONFIG
ハードウェアの情報(プロファイル)を格納します。
HKEY_DYN_DATA
動的な場所で仮想デバイスやプラグアンドプレイ等に使われます。
そのため常に内容は変化します。