レジストリの内容ー 、新ソフトウェア報 ユーザによってインストールされる一般のアプリケーションやユーティリテイもレジ ストリにデータを保存します。これらのソフトウェアがレジストリに格納するデータは 大きく分けて 2 種類あり、 1 つはすべてのユーザに適用される全般的な情報、もう 1 つ は個々のユーザそれぞれに適用されるオプション設定や環境情報などです。これらの異 なる種類の情報はレジストリ内の保存領域が違っていますが、ほとんどのソフトウェア が両方のレジストリ領域にデータを格納して利用しています。 前者のすべてのユーザに適用される情報とは、ソフトウェアのインストールに関する 情報 ( 日時やユーザ名、シリアルナンバーなど ) およびインストールの際のオプション 設定、プログラムや付属するデータファイルなどをコピーしたフォルダの場所などを記 述した情報です。ソフトウェアのアンインストールに関する情報も同時に格納されます またソフトウェアが作成するデータファイルの拡張子に関連した情報もレジストリに 登録されます。いわゆるファイルタイプに関する情報と COM クラスに関する情報です。 これらの情報は Windows や他のソフトウェアが参照するものです ( ファイルタイプに インストールに関する情報 ユーサ個別のソフトウェア情報 関しては P52 、 COM クラスに関しては P91 を参照してください ) 。 46 情報はすべてレジストリ内のユーザ専用の領域に格納されます。 ものです。また前回の操作で作成したデータのファイル名なども異なります。こうした ソフトウェアのオプション設定や使用状況はそれぞれのユーザによって異なっている ユーザの環境情報はそれぞれ個別に格納されるようになっています。 P56 を参照してください ) 。レジストリの構造もこのようなシステムを前提としており、 ユーザフォルダが作成されるわけです ( これはユーザプロファイルフォルダといいます。 します。同じパソコンを 1 0 人が使用する場合には、その IO 人それぞれについて専用の Windows XP / 2000 ではユーザ個別のデータや情報をそれそれ別のフォルダに保存
3 」 ' 00 一 ーレジストリファイル バイナリ形式のレジストリファイル テキスト形式のレジストリファイル ■レジストリの内容 レジストリに格納される情報 レジストリには保存されない情報 ■レジストリの内容ーハードウェアの情報 ハードウェアのリソース・ デバイスドライパ・ ・レジストリの内容ーソフトウェアの情報 インストールに関する情報 ユーサ個別のソフトウェア情報 ・レジストリの内容ー Windows システム自身の情報 Windows の動作と機能に関する情報 セキュリティに関する情報 ■レジストリの内容ーユーサの環境情報 ユーザ領域に格納される情報の内容 ユーザ別環境には便利な面と不便な面がある ■ファイルタイプの登録情報 ほとんどのファイルは拡張子を持っている ファイルの処理は拡張子によって決まる ■工クスプローラの設定を変更する 工クスプローラのオプション変更 拡張子などの表示について ・ユーサプロファイルフォルダ ユーザ専用のプライベートフォルダ システムが作成したプロファイルフォルダ ・レジストリを扱うの注意と心得 レジストリの操作は自己責任で レジストリ操作の前に確認すること 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 第 2 章レジストリ操作の基礎知識 ■とにかくレジストリの中を確認してみる レジストリエデイタの起動 基本的な画面操作 6 6 6 9
Windows Wi 社 0 5 LLJLJIJ レジストリの内容 レジストリには Windows システムに関するほとんどすべての登録・設定情報が保存 されています。具体的にはマシンに搭載されているハードウェアの情報、インストール されたソフトウェアの情報、 Windows システム自身のセットアップに関する情報や動 作および機能を制御するための情報、そして過去にログオンしたことのあるすべてのユ ーザ個別の情報などです。これらの各項目について、具体的にどのような内容がレジス トリに格納されているかについては次節以降に説明していきます。 レジストリには Windows に関する多くの情報が格納されますが、もちろんすべての 情報やデータが格納されるわけではありません。たとえばインターネットのメール文書 はレジストリには保存されません。またハードウェアのデバイスドライバブログラムも レジストリに格納されるわけではありません。これらはレジストリとは別に、ファイル として存在しています。 しかし各ユーザのメール文書がどこに保存されているか、また特定のハードウェアた とえばビデオアダブタのドライバブログラムはどこにある何というファイルかの情報は レジストリに格納されています。したがってレジストリには Windows システムを正常 に動作させるすべての情報が格納される、という言い方は決して誇張ではないのです。 基本的にプログラムや各種のデータなど、独立したファイルとして保存できるものは レジストリには格納されません。もちろんこれらのファイルの内容をそっくりレジスト リに格納することも不可能ではありませんが、レジストリサイズが肥大化するだけでな く、利用する際にはプログラム処理上さまざま無駄や不都合が発生します。 したがってプログラムファイル (. EXE) 、ライブラリファイル (. DLL) 、システムな どが使用するデータファイル ( フォントや壁紙、サウンドファイルなど ) 、各種の定義 ファイル ( 」 (I) や情報ファイル (.INF) などはファイルとして保存されており、レジ ストリには格納されていません。 またユーザに関連したデータや設定情報にもファイルとして保存されるものがありま す。メールデータやアドレス帳、日本語辞書、インターネットのお気に入り履歴情報な どはファイルとして保存されています。ただしこれらのファイルが保存されている場所 などの情報は、やはりレジストリに格納されています。 レジストリに格納される情報 レジストリには保存されない情報 42
レジストリの内容ー 新 Wind0 s システム自身の情報 Windows XP / 2000 の機能は、少数の巨大なプログラムによってではなく、多くの 小さなプログラムによって提供されています。これらのプログラムの中にはユーザの目 に触れず影で動作しているものもあり、またユーザが直接操作できるものもあります。 これらのプログラムによって提供されるさまざまな機能や動作は非常に多くの項目にお いて詳細なオプション設定やカスタマイズが可能となっています。そのような柔軟性が あるからこそ、 Windows は仕様の異なったハードウェア上で、多様な使用目的に合わ せたセットアップが可能なのです。 Windows の機能や動作に関わるオプション設定やカスタマイズは Windows の各プ ログラムの中で、あるいはコントロールバネルのアプレットなどによってユーザが自由 に設定できるものもあります。しかし中にはシステムが自動的に設定して、ユーザには カスタマイズの手段を用意していないものもあります。このような大小さまざまのオプ ション項目はすべてレジストリに格納されています。 Windows は常にレジストリのデ ータを参照して動作や機能を制御しながらオペレーティングシステムとしての務めを果 たしているわけです。 ちなみに、 Windows 自身の情報の一部は他のソフトウェアと同じ場所に格納されて います。 Windows 自身に関する情報も一般のソフトウェア情報と同様に、マシンに共 通する全般的な情報と、各ユーサに適用する情報に分けて格納されています。 Windows の動作と機能に関する情報 Windows が格納する特殊な情報にセキュリティに関する情報があります。登録され ているユーザアカウントの情報やセキュリテイボリシーに関する情報などです。これら の項目もすべてレジストリに格納されています。しかし内容が内容だけにこれらのデー タが格納されているレジストリ領域は厳重に保護されており、プログラムやユーザが自 由にアクセスすることはできないようになっています。 セキュリティに関する情報 48
団 HKEY_LOCAL MACH INE 新 *HARDWARE レジストリデータのほとんどの部分はハイブとして保存されるため、コンピュータが 再起動してもその内容は保持されます。しかし中には保存されず、マシンがシャットダ ウンされる際にその内容がすべて失われてしまうレジストリ領域があります。それが [HKEY LOCAL MACHINE*HARDWARE] の領域です。 Windows XP / 2000 は起動時にマシンのハードウェア情報を調査してその結果を [HARDWARE] キーに格納します。この内容はシステムが動作している間は保持さ れていますが、シャットダウン時には捨てられてしまいます。そして次回の起動時には、 またハードウェアを検出して新たな検出結果が [HARDWARE] キーに格納されるの です。「ハイブ」とはファイルとして保存されるレジストリの固定領域のことであると 定義されているので、 [HARDWARE] キーをハイブとは呼ばないのです。 [HARDWARE] キーはハイブではない [HARDWARE] キーには [ ロ ESCRIPTION] [DEVICEMAP] [RESOURCEMAP] という 3 つのサブキーの作成されているほかに、 Windows xp では Windows 2000 に はなかった [ACPI] というサブキーも追加されています。 [ACPI] にはコンピュータのマザーボード ( に搭載されているチップセット ) に関する 情報が格納されています。 Windows XP においては電源コントロールが一段と強化さ れているため、 AC 曰へのより詳細な対応情報が必要となったのでしよう。 [DESCRIPTION] キーには CPU および数値演算プロセッサの情報およびバス ( や ISA など ) の構成に関する情報が格納されています。 [DEVICEMAP] キーには検出されたハードウェアデバイス ( キーボードやシリアル、 バラレルポート、ビデオなど ) について、それらの制御を可能にする Windows 側のサ ービスへのマップ情報 ( リンク情報 ) が格納されています。 [RESOURCEMAP] キーには、検出されたそれぞれのデバイスに割り当てるリソー ス (DMA 、割り込みコ O ポート、メモリなど ) の情報が格納されます。 これらの情報の一部は [ システムのプロバティ ] の [ デバイスマネージャ ] あるいは [ システム情報 ] で確認することができます。 CHARDWARE] キーに格納される情報 108
Windows Wi do 5 LLJLJLJ レジストリ入門 パソコンにセットアップされる以前の Windows XP や Windows 2000 は、それぞ れ同じ製品であるかきり CD - 日 OM の内容は基本的に同一です。製品バッケージによっ て CD - 日 OM の中身に違いはありません。しかしいったんパソコンにセットアップされ ると、それは世界に 2 っとないユニークな Windows XP や Windows 2000 となります。 それぞれのパソコンはハードウェアやソフトウェアの構成が異なっており、また異なる ユーサによってシステム設定や操作環境のカスタマイズが行われるからです。 Windows はセットアップやその後の運用過程で絶えすシステム情報を収集し蓄積し ています。パソコンの中の Windows システムはユーザが使えば使うほど生き物のよう に日々変化し、もはや CD - ROM の中に格納されていた Windows とは別物になっている のです。 構成の異なるパソコンにおいてもシステムが安定して動作するのは Windows システ ムがこのシステム情報を常に参照しているからに他なりません。もしシステム情報が存 在しなければ、 Windows はアプリケーションやユーザの設定情報を保持できないばか りか、正常に起動することすらできないでしよう。 世界に 2 っとない「システム情報」 レジストリとは、 Windows システムの内部に存在するこのシステム情報の保管庫の ことです。ハードウェアやソフトウェアのインストール情報や設定内容はもちろん、私 たちがふだん何気なく行う画面の解像度や壁紙の変更、またスタートメニューやサウン ド、そして工クスプローラなどソフトウェアの設定変更もすべてレジストリに書き込ま れます。 Windows はレジストリに記録されたこれらの設定情報を参照することでハードウェ アを制御し、アプリケーションの動作や機能をコントロールできるのです。いったんユ ーザが設定した独自の画面環境や操作環境が継続的に再現され、ボタンのクリックだけ でインターネットやメールが利用できるのもやはりシステム情報を参照しているからな のです。 なお「レジストリ」という用語はシステムに蓄積された各種の設定情報そのものを指 すと同時に、このようなシステム情報の管理・共有システムを指す場合もあります。 レジストリはシステム情報の保管庫 20
第 1 章レジストリ入門◆レジストリ入門 レジストリと Windows システムの関係 レジストリには Windows が動作するためのほとんどすべての情報が格納されており、 Windows システムやアプリケーションは常にレジストリの情報を参照しています レジストリ ハードウェアに関する情報 ソフトウェアに関する情報 Windows 自身の情報 ユーザーの情報 Windows は常にレジストリを Windows はあらゆる情報の設に : : コ 参照しながらさまざまな処理 定内容をレジストリの各プロコ を実行し、ユーザの要求に応 ックに格納している イ ス ト ウ れ ソ 装 フ ト 003 。 000 物 Windows を構成する システムプログラム群 ユーサ環境 ロ解 0 深 0 るロ礎ロ識 オペレーティングシステムとシステム情報 オペレーティングシステムはそれ自体が 1 つの巨大なコンピュータブログラムであ ることは言うまでもありません。しかし一般のアプリケーションなどと異なるの は、オペレーティングシステムはアプリケーションなど他のプログラムが動作す る環境を提供するための「プログラム」である点です。オペレーティングシステ ムがディスク装置やメモリ、ディスプレイ、サウンドなどのハードウェアを制御 し、秩序だった総合的なシステム環境を整えてはじめて一般のアプリケーション はパソコンの上で動作することが可能になります。したがって今日の Windows 製 品にかぎらず、オペレーティングシステムは程度の差こそあれ何らかのシステム 設定情報を必要とするものです。
Wi 0 5 W 0 5 LLJLJLJ レジストリは進化の産物 コンピュータにおいて何らかの機能を実現するのはプログラムです。しかしオペレー ティングシステムやほとんどのアプリケーションはプログラムだけで構成されているわ けではありません。もし Windows XP や各種のアプリケーションがプログラムだけの 集合体であれば、現在のシステム構成やユーザの環境情報、オプション設定を保持する ことができず、日本中の Windows XP はみな同じ画面を表示することになります。イ ンターネットやメールを利用するにも毎回初期設定をしなければなりません。 実際には、オペレーティングシステムもアプリケーションもプログラムだけで成り立 っているわけではなく、セットアップ時に各種の情報を保存し、またユーザが利用する たびにその使用環境を保存しています。そして記憶装置に保存された各種の設定情報を 参照しながら動作するものなのです。最低でもほとんどのアプリケーションがインスト ールされた日時やインストール先のフォルダ、ユーザ情報やオプション設定、前回の終 了時の状態などをどこかに保存しています。 どのようなソフトウェアにも設定情報が必要 しかし動作環境や設定情報の保持というこの基本的なシステムも当初からパソコンで 利用されていたわけではありません。古い時期のパソコン環境にはこのようなシステム が存在せず、ほとんどのプログラムが設定情報など保存しなかった時代もあります。今 日のレジストリのような情報管理システムが登場したのは比較的最近のことであり、い くつかのステップを歩んできた結果なのです。 少し過去を振り返って、システム内部の情報管理システムがどのように変遷してきた かを知ることは Windows のレジストリシステム理解をする上で大きな助けとなるでし よう。ここで簡単にまとめておきます。 レジストリは進化の結果生まれたもの 30
Wi 0 5 Wi 社 0 5 LLJLJLJ HKEY し 00A し MACHI NE レジストリのデータはどの領域をとってもすべて重要なものばかりですが、中でも [HKEY_LOCAL_MACHINE] は Windows の起動と動作を制御するためのすべての 情報が格納されているもっとも重要な領域と言ってよいでしよう。この領域の一部でも 破損すれば、ほほ確実に Windows の再セットアップが必要となります。 [HKEY_LOCAL_MACHINE] サブツリーにはすべてのユーザに適用されるシステム 全体の情報が格納されます。情報の内容としては、ハードウェア、ソフトウェア、セキ ュリティ、 Windows 自身の動作や機能の制御など Windows の動作に関わる全領域に 及びます。中には同じ情報項目が [HKEY_USERS] の方にも存在していますが、そ ちらのデータは個々のユーザに適用されるものです。こちらの [HKEY_LOCAL MACHINE] の方に格納されるデータはあくまでシステム全体に共通するものであるこ とに注意してください。 レジストリの中核をなすもっとも重要なサブツリー [HKEY_LOCAL_MACHINE] の直下に作成されている 5 個のキーについて簡単に説 明しておきます。 [HARDWARE] にはシステムが起動時に検出したハードウェアの情報が格納されま す ( ブートドライブの NTDETECT ℃ OM というプログラムが検出を行います ) 。少し触 れたように、このキーの内容はハイプには保存されずシャットダウン時に破棄されます。 [SAM] は [SECURITY*SAM] の工イリアスです。ローカルマシンのユーザやユ ーザグループに関する登録情報が格納されます。 [SECURITY] には上記の [SAM] のほかにローカルセキュリティポリシーなどのセ キュリティ情報が格納されます。このキーはローカルユーザに対してアクセス制限され ているため、通常はデータ内容を閲覧することができません。 [SOFTWARE] には Windows 自身の動作に関わる情報や一般のアプリケーションの 登録情報が保存されます。もっともデータ量の豊富な領域です。この中の [Classes] 情報は [HKEY CLASSES ROOT] のリンク元になります。 [SYSTEM] にはハードウェアおよびマシンの起動や基本機能に関する情報が格納さ れます。一般ユーザは手を出しにくい領域です。その内部には [HKEY_CURRENT CONFIG] のリンク元となっている領域があります。 [HKEY_LOCAL_MACHINE] には 5 個のサプキーがある 106
HKEY し OC 乢 MACHINE%SYSTEM 新 %CurrentCont r01Set [CurrentControISet] [Cont 「 olSetOO 1 ] [Cont 「 olSetOOx] には、それぞれ共 通して [ControI] [Enum] [Hardware ProfiIes] [Services] という 4 つのサ ブキーが作成されています。 [CurrentControlSet] は通常は [ControlSetOO 1 ] へ のリンクであり、 [CurrentControISet] における変更はそのまま [ControlSetOO 1 ] に反映されます。 この領域はハードウェアもしくはハードウェアと同等のはたらきをする仮想デバイス、 そしてシステムの起動時にバックグランドで実行されて、さまざまな処理を提供するサ ービスプログラムに関する情報が格納されています。 システムのもっとも基幹となる定義情報であるだけに、そのデータ内容は膨大であり、 また相互に連関する内容を含んでいて非常に複雑です。したがってここでは簡単に 4 つ のサブキーに格納されるデータの内容について説明しておきます。 各コントロールセットには 4 つのサブキーが存在する [ Cont 「 0 ロキーには、システムの起動とシャットダウンに適用されるさまざまな情報 が格納されています。レジストリのサイズに関する制限や、システムが管理するハイブ の定義情報もここに格納されています。 CEnum] にはマシンに搭載されているすべてのハードウェアおよび仮想デバイスに関 する情報、またこれらを制御するドライバに関する情報が格納されています。 [Services] キーには、いわゆるサービス ( マシンによって自動実行されるプログラム ) のほかに、デバイスも含めたすべてのサービス項目がサブキーとして作成され、それそ れの起動方法やセキュリティ情報が格納されています。 [Ha 「 dware ProfiIes] には [ Cont 「 0 ロや [Enum] から派生した情報が格納されます。 サブキーとして [OOOO] [OOO 1 ] [0002] という 3 個のセットの他に、通常は [OOO 1 ] へのリンクである [Cu 「 rent] が作成されており、実際に稼働しているのは [Cu 「 rent] だけです。そして、この [HKEY_LOCAL_MACHlNEYSYSTEM%Cur 「 entCont 「 olSet YHa 「 dware P 「 0files%Current] キーは [HKEY_CURRENT_CONFIG] サブツリーの リンク元になっています。 4 つのサプキーに格納される情報 124