Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
こんにちは!SE ブログの相馬です。
今回はレジストリについて書いてみました。レジストリそのものについてまとめ的に調べた事が今までないので、ここでまとめてみました。
Windows のレジストリとは
まず、レジストリはデータベースです。(階層型データベースと呼ばれています。)
レジストリにはサービスやアプリケーションなど、Window に使われている全ての設定がこのデータベースに格納されています。
そして、このデータベースは主に Key と Value から構成されております。
以下の画像のように、Key は基本的にフォルダーのようなものになります。Value はファイルのようなもので、Value には実際にデータが格納されています。
エクスプローラーで言えば、フォルダの中にファイルが入っているようなイメージと思って良いでしょう。
初めてレジストリを見た時に、ツリー上に沢山のものがぶら下がっていて何が何だかよくわからないかと思います。私がそうでした。(笑)
レジストリは何の為に使われるのか
上の 「Windows のレジストリとは」 で書いてあるとおり、レジストリには Window 全ての設定が格納されています。
通常、Windows の設定を変更する場合は GUI で変更しますが、できない場合もあります。例えば Windows のシャットダウンの表示を消したりするような事です。
このようにシステム管理という点において、Windows・アプリケーションやサービスの設定を変更する為にレジストリは使われます。
レジストリを見る方法
レジストリにアクセスする為にはレジストリエディターを使います。
以下の画像のように、Windows のスタートメニューをクリックして、regedit と入力しエンターキーを押せばレジストリエディターが起動します。
それでは、レジストリの種類について見てゆきましょう。
レジストリのルートキーについて
レジストリには親となるルートキーとなるものがあります。この種類を理解すると、レジストリを設定するにあたり、どのルートキーに対して設定すれば良いかが把握できますので重要です。
是非とも覚えておきましょう。
HKEY_CLASSES_ROOT
ファイルの拡張子と関連付けについての情報が格納されています。長いので、よく HKCR と短縮されて使われます。
またこのキーは、HKLM\Software\Classes にリンクしています。
HKEY_CURRENT_USER
ログイン中のユーザーの設定が格納されています。長いので、よく HKCU と短縮されて使われます。
またこのキーは、HKEY_USERS\ログイン中の SID にリンクしています。
HKCU では、ユーザーが変更できるアプリケーションの設定が格納されています。ですのでこの HKCU 下のサブキーにある value は、ユーザー権限で変更したり追加する事ができます。
HKEY_USERS に格納されている中にある、Windows にログオンするユーザーに必要な情報があり、それが選択され HKCU にコピーされます。
HKEY_LOCAL_MACHINE
システムについて全ての設定が格納されています。つまりシステム全体の設定になります。長いので、よく HKLM と短縮して使われます。
HKLM\Software のサブキーで設定する value は、ユーザーのみではなく、PC 全体に設定されます。また設定した値はユーザー権限で変更する事ができません。
また、外付けのハードウェアについてのドライバについての情報も格納されています。
HKEY_USERS
ユーザー別とデフォルトの設定を含む設定が格納されております。つまり、全てのユーザーの HKCU がここに格納されています。ユーザー別の設定を確認したい時に便利だと思います。
サブキーはユーザーアカウントが SID で表示されています。例えば、ログオン中のユーザーの SID を確認したい場合は以下の画像のようにコマンドを実行して確認ができます。
このように、別のユーザーの SID が分かれば別のユーザーの HKCU を見る事ができます。
HKEY_CURRENT_CONFIG
使用中のプリンタとディスプレイの機器についての情報がここに格納されます。使う機会は余り無いかと思います。
またこのキーは、HKLM\SYSTEM\CurrentControlSet\Hardware Profiles\Current にリンクしています。
レジストリの作成方法
必ずバックアップを取得してから試しましょう。
以下の画像のように左のサブキー、または右ペインの余白のところを右クリックして、[新規] にマウスカーソルを当てると、キーまたは値を作成するか選びます。
値についての説明は、以下の項目で説明しておりますので、参考にしていただけると嬉しいです。
レジストリの値について
レジストリを作成する際に、どの値を作成するか以下の情報が参考になるかと思います。
レジストリのデータ種類 | 値の説明 |
---|---|
文字列
(REG_SZ) |
固定長の文字列になります。 |
バイナリ値
(REG_BINARY) |
未加工のバイナリデータになります。16 進数で入力します。基本的には殆ど追加・変更する事は無いかもしれません。 |
DWORD (32-bit) 値
(REG_DWORD) |
ドライバやアプリやサービスに使われます。2 進・10 進・16 進数で入力します。 |
QWORD (64-bit) 値
(REG_QWORD) |
DWORD の 64 ビット版になります。基本的には DWORD のほうをよく使われる場合が多いかと思います。 |
複数行文字列値
(REG_MULTI_SZ) |
複数行の文字列になります。 |
展開可能な文字列値
(REG_EXPAND_SZ) |
環境変数で使われる可変長の文字列になります。 |
まとめ
以上になります。いかがでしょうか。
デスクトップ PC の使用を GUI で設定できない部分を変更するには、どうしてもレジストリの設定は必要になってきます。
ですので、基礎知識としてこういった情報を理解しておくと、実際にどこのキーにどの値を設定すればよいのかが何となく把握できるのではないかと思われます。
また、レジストリのバックアップと復元についても記事を書きましたので、合わせてこちらも見ていただけますと嬉しいです。
では最後までお読みいただきありがとうございました!