Windowsレジストリとは何ですか?どのように機能しますか?

Windowsレジストリ(Registry)は、Windowsアプリケーションの構成、値、およびプロパティのコレクションであり、単一のリポジトリに階層的に編成および保存されているWindowsオペレーティングシステムです。

新しいプログラムがWindows(Windows)システムにインストールされるたびに、サイズ、バージョン、ストレージ内の場所などの属性を使用してWindowsレジストリ(Windows Registry)にエントリが作成されます。

Windowsレジストリとは何ですか?それはどのように機能しますか

この情報はデータベースに保存されているため、オペレーティングシステムは使用されているリソースを認識しているだけでなく、特定のリソースまたはファイルが共同で使用された場合に発生する可能性のある競合を認識しているため、他のアプリケーションもこの情報の恩恵を受けることができます。存在。

Windowsレジストリ(Windows Registry)とは何ですか?どのよう(How)に機能しますか?

Windowsレジストリ(Windows Registry)は、実際にはWindowsの動作の中心です。これは、中央レジストリのこのアプローチを使用する唯一のオペレーティングシステムです。視覚化する場合、オペレーティングシステムのすべての部分が、起動シーケンスからファイル名の名前を変更するだけの簡単なものまで、 Windowsレジストリと対話する必要があります。(Windows Registry)

簡単(Simply)に言えば、それは図書館のカード目録のデータベースに似たデータベースであり、レジストリのエントリはカード目録に保存されているカードのスタックのようなものです。レジストリキーはカードであり、レジストリ値はそのカードに書き込まれる重要な情報です。Windowsオペレーティングシステムは、レジストリを使用して、システムとソフトウェアの制御と管理に使用される一連の情報を格納します。これは、PCのハードウェア情報から、ユーザー設定やファイルの種類まで、何でもかまいません。Windowsシステムに対して行うほとんど(Almost)すべての形式の構成には、レジストリの編集が含まれます。

Windowsレジストリの歴史

Windowsの初期バージョンでは、アプリケーション開発者は実行可能ファイルと一緒に別の.iniファイル拡張子を含める必要がありました。この.iniファイルには、特定の実行可能プログラムが正しく機能するために必要なすべての設定、プロパティ、および構成が含まれています。ただし、これは特定の情報の冗長性のために非常に非効率的であることが判明し、実行可能プログラムにセキュリティ上の脅威をもたらしました。その結果、標準化され、一元化された、安全なテクノロジーの新しい実装が明らかに必要でした。

Windows 3.1の登場により、この要求の最低限のバージョンは、Windowsレジストリ(Windows Registry)と呼ばれるすべてのアプリケーションとシステムに共通の中央データベースで満たされました。

ただし、アプリケーションは実行可能ファイルの特定の構成情報しか保存できないため、このツールは非常に制限されていました。何年にもわたって、Windows95とWindowsNTはこの基盤の上にさらに開発され、新しいバージョンのWindowsレジストリ(Windows Registry)のコア機能として集中化が導入されました。

とはいえ、 Windowsレジストリ(Windows Registry)に情報を保存することは、ソフトウェア開発者にとってのオプションです。したがって、ソフトウェアアプリケーション開発者がポータブルアプリケーションを作成する場合、レジストリに情報を追加する必要はありません。構成、プロパティ、および値を含むローカルストレージを作成して、正常に出荷できます。

他のオペレーティングシステムに対するWindowsレジストリ(Windows Registry)の関連性

Windowsは、中央レジストリのこのアプローチを使用する唯一のオペレーティングシステムです。視覚化する場合、オペレーティングシステムのすべての部分が、起動シーケンスからファイル名の名前変更まで、Windowsレジストリと直接対話する必要があります。(Windows Registry)

iOS、 Mac OS(Mac OS)AndroidLinuxなどの他のすべてのオペレーティングシステムは、オペレーティングシステムを構成し、オペレーティングシステムの動作を変更する方法として、引き続きテキストファイルを使用します。

ほとんどのLinuxバリアントでは、構成ファイルは.txt形式で保存されます。これは、すべての(.txt).txtファイルが重要なシステムファイルと見なされるため、テキストファイルを操作する必要がある場合に問題になります。したがって、これらのオペレーティングシステムでテキストファイルを開こうとすると、表示できなくなります。これらのオペレーティングシステムは、ネットワークカード、ファイアウォール、オペレーティングシステム、グラフィカルユーザーインターフェイス、ビデオカードインターフェイスなどのすべてのシステムファイルがASCII形式で保存されるため、セキュリティ対策として非表示にしようとします。(ASCII format.)

この問題を回避するために、macOSとiOSの両方で、.plist拡張子(.plist extension)を実装することにより、テキストファイル拡張子にまったく異なるアプローチを導入しました。ファイル拡張子の単純な変更よりも重要です。

Windowsレジストリ(Windows Registry)の利点は何ですか?

オペレーティングシステムのすべての部分が(Every)Windowsレジストリ(Windows Registry)と継続的に通信するため、非常に高速なストレージに保存する必要があります。したがって(Hence)、このデータベースは、非常に高速な読み取りと書き込み、および効率的なストレージ用に設計されています。

レジストリデータベースを開いてサイズを確認する場合、通常は15〜20メガバイトの間でホバリングするため、RAMランダムアクセスメモリ(Random Access Memory))に常にロードできるほど小さくなります。これは、偶然にも利用可能な最速のストレージです。オペレーティングシステム。

レジストリは常にメモリにロードする必要があるため、レジストリのサイズが大きいと、他のすべてのアプリケーションをスムーズに実行したり、まったく実行したりするのに十分なスペースが残りません。これはオペレーティングシステムのパフォーマンスに悪影響を与えるため、Windowsレジストリ(Windows Registry)は非常に効率的であるという主要な目的で設計されています。

同じデバイスを操作する複数のユーザーがいて、それらが使用するアプリケーションが多数ある場合、同じアプリケーションを2回または複数回再インストールすると、かなり高価なストレージが無駄になります。Windowsレジストリは、アプリケーション構成がさまざまなユーザー間で共有されるこれらのシナリオに優れています。

これにより、使用されるストレージの合計が減るだけでなく、ユーザーは1つのインタラクションポートからアプリケーションの構成を変更できるようになります。また、ユーザーがすべてのローカルストレージの.ini(.ini)ファイルに手動で移動する必要がないため、時間を節約できます。

マルチユーザー(Multi-User)シナリオは、エンタープライズセットアップでは非常に一般的です。ここでは、ユーザー特権アクセスが強く求められています。すべての情報またはリソースをすべての人と共有できるわけではないため、プライバシーベースのユーザーアクセスの必要性は、一元化されたWindowsレジストリを介して簡単に実装されました。ここで、ネットワーク管理者は、行われた作業に基づいて保留または許可する権利を留保します。これにより、ネットワーク内の複数のデバイスのすべてのレジストリへのリモートアクセスと同時に更新を実行できるため、単一のデータベースが多用途になり、堅牢になりました。

Windowsレジストリはどのように機能しますか?

手を汚す前に、 Windowsレジストリ(Windows Registry)の基本的な要素を調べてみましょう。

Windowsレジストリ(Windows Registry)は、コンテナオブジェクトであるレジストリキー(Registry Key)と呼ばれる2つの基本要素で構成されています。つまり、さまざまな種類のファイルが格納されているフォルダのようなものと、ファイルのような非コンテナオブジェクトであるレジストリ値(Registry Values)です。任意の形式にすることができます。

また、次のことも知っておく必要があり(You should also know:) ます。Windowsレジストリキーを完全に制御または所有する方法(How to Take Full Control or Ownership of Windows Registry Keys)

Windowsレジストリにアクセスする方法は?

レジストリエディタ(Registry Editor)ツールを使用してWindowsレジストリ(Windows Registry)にアクセスし、構成できます。Microsoftには、 (Microsoft)Windowsオペレーティングシステム(Windows Operating System)のすべてのバージョンに加えて、無料のレジストリ編集ユーティリティが含まれています。

このレジストリエディタ(Registry Editor)にアクセスするには、コマンドプロンプトで「Regedit」と入力するか、 (Command Prompt)[スタート(Start)]メニューの検索ボックスまたは実行ボックスに「Regedit」と入力します。このエディターは、Windowsレジストリーにアクセスするためのポータルであり、レジストリーを調べて変更するのに役立ちます。レジストリは、Windowsインストールのディレクトリ内にあるさまざまなデータベースファイルによって使用される総称です。

レジストリエディタにアクセスする方法

コマンドプロンプトシフト+F10でregeditを実行します

レジストリエディタを編集しても安全ですか?(Is it Safe to edit Registry Editor?)

何をしているのかわからない場合は、レジストリ(Registry)構成をいじくり回すのは危険です。レジストリ(Registry)を編集するときは常に、正しい指示に従い、変更するように指示されたものだけを変更するようにしてください。

故意または誤ってWindowsレジストリ(Windows Registry)内の何かを削除すると、システムの構成が変更され、ブルースクリーン(Blue Screen)発生(Death)したり、Windowsが起動しなくなったりする可能性があります。

したがって、変更を加える前にWindowsレジストリをバックアップ(backup Windows Registry)することをお勧めします。レジストリ(Registry)設定を通常に戻す必要がある場合に使用できるシステムの復元ポイント((create a system restore point)レジストリ(Registry)を自動的にバックアップする)を作成することもできます。しかし、あなたが言われたことだけなら、それは問題ではないはずです。Windowsレジストリ(restore Windows Registry then this tutorial)を復元する方法を知る必要がある場合は、このチュートリアルで簡単に復元する方法を説明します。

Windowsレジストリ(Windows Registry)の構造を調べてみましょう

オペレーティングシステムのアクセス専用に存在するアクセスできないストレージの場所にユーザーがいます。

これらのキーは、システムの起動段階で(Keys)RAMにロードされ、特定の時間間隔内、または特定のシステムレベルのイベントが発生したときに常に通信されます。

これらのレジストリキーの特定の部分がハードディスクに保存されます。ハードディスクに保存されているこれらのキーは、ハイブと呼ばれます。レジストリのこのセクションには、レジストリキー、レジストリサブキー、およびレジストリ値が含まれています。ユーザーに付与されている特権のレベルに応じて、ユーザーはこれらのキーの特定の部分にアクセスすることになります。

HKEYで始まるレジストリの階層の最上位にあるキーは、ハイブと見なされます。

エディタ(Editor)では、すべてのキーを展開せずに表示すると、ハイブは画面の左側に配置されます。これらは、フォルダとして表示されるレジストリキーです。

Windowsレジストリキーとそのサブキーの構造を調べてみましょう。

キー名の例–「HKEY_LOCAL_MACHINESYSTEMInputBreakloc_0804」

ここで、「loc_0804」はサブキー「Break」はサブキー「Input」を指し、これはHKEY_LOCAL_MACHINEルートキーのサブキー「SYSTEM」を指します。

Windowsレジストリの共通ルートキー(Common Root Keys in Windows Registry)

次の各キーは独自のハイブであり、最上位のキー内により多くのキーで構成されています。

私。HKEY_CLASSES_ROOT

これは、ファイル拡張子の関連付け情報、プログラム識別子(programmatic identifier)ProgID)、インターフェイスID(Interface ID)IID)データ、およびクラスID(CLSID)で構成される(Class ID (CLSID))Windowsレジストリ(Windows Registry)のレジストリハイブです。

このレジストリハイブ  HKEY_CLASSES_ROOTは、 (HKEY_CLASSES_ROOT)Windowsオペレーティングシステムで実行されるアクションまたはイベントのゲートウェイです。Downloads(Suppose)フォルダーにあるいくつかのmp3(Downloads)ファイルにアクセスしたいとします。オペレーティングシステムはこれを介してクエリを実行し、必要なアクションを実行します。

HKEY_CLASSES_ROOTハイブにアクセスした瞬間、そのような膨大な拡張子ファイルのリストを見ると、本当に簡単に圧倒されます。ただし、これらはウィンドウを流動的に機能させるレジストリキーです。

以下は、 HKEY_CLASSES_ROOT(HKEY_CLASSES_ROOT)ハイブレジストリキーの例の一部です。

HKEY_CLASSES_ROOT\.otf
HKEY_CLASSES_ROOT\.htc
HKEY_CLASSES_ROOT\.img
HKEY_CLASSES_ROOT\.mhtml
HKEY_CLASSES_ROOT\.png
HKEY_CLASSES_ROOT\.dll

写真などのファイルをダブルクリックして開くと、システムはHKEY_CLASSES_ROOTを介してクエリを送信し、そのようなファイルが要求されたときに何をするかについての指示が明確に示されます。そのため、システムは、要求された画像を表示するフォトビューアを開くことになります。

上記の例では、レジストリはHKEY_CLASSES_ROOT\.jpgキーに保存されているキーを呼び出します。HKEY_CLASSES_ROOTハイブは、 (HKEY_CLASSES_ROOT)HKEY_LOCAL_MACHINEハイブ(HKEY_LOCAL_MACHINE\Software\Classes)と HKEY_CURRENT_USERハイブ(HKEY_CURRENT_USER\Software\Classes )の両方にある集合データです。したがって、レジストリキーが2つの場所に存在する場合、競合が発生します。したがって、HKEY_CURRENT_USER\Software\ClassesHKEY_CLASSES_ROOTで使用されます。画面左側のHKEY_CLASSESキーを開くとアクセスできます。

ii。HKEY_LOCAL_MACHINE

これは、ローカルコンピューターに固有のすべての設定を格納するいくつかのレジストリハイブの1つです。これは、保存されている情報をユーザーやプログラムが編集できないグローバルキーです。このサブキーのグローバルな性質により(Due)、このストレージに格納されるすべての情報は、RAM上で継続的に実行される仮想コンテナの形式になります。ソフトウェアユーザーの構成情報の大部分がインストールされており、Windowsオペレーティングシステム自体がHKEY_LOCAL_MACHINEで占有されています。現在検出されているすべてのハードウェアは、 HKEY_LOCAL_MACHINE(HKEY_LOCAL_MACHINE)ハイブに保存されます。

また、次の方法も知っています。(Also know how to:) レジストリを検索するときにRegedit.exeがクラッシュする問題を修正する(Fix Regedit.exe Crashes when searching through Registry)

このレジストリキーはさらに7つのサブキーに分けられます。(This registry key is further divided into 7 sub-keys:)

1. SAMセキュリティアカウントマネージャー(Security Accounts Manager))–ユーザーのパスワードをセキュリティで保護された形式(LMハッシュおよびNTLMハッシュ)で保存するレジストリキーファイルです。ハッシュ関数は、ユーザーのアカウント情報を保護するために使用される暗号化の形式です。

これは、システムのC:WINDOWSsystem32configにあるロックされたファイルであり、オペレーティングシステムの実行中に移動またはコピーすることはできません。

Windowsは、セキュリティアカウントマネージャーのレジストリキーファイルを使用して、ユーザーが(Security Accounts Manager)Windowsアカウントにログインしているときにユーザーを認証します。ユーザーがログインするたびに、Windowsは一連のハッシュアルゴリズムを使用して、入力されたパスワードのハッシュを計算します。入力したパスワードのハッシュがSAMレジストリファイル(SAM registry file)内のパスワードハッシュと等しい場合、ユーザーは自分のアカウントにアクセスできます。これは、ほとんどのハッカーが攻撃を実行しているときに標的とするファイルでもあります。

2.セキュリティ(2. Security)(管理者以外はアクセスできません)–このレジストリキーは、現在のシステムにログインしている管理者ユーザーのアカウントに対してローカルです。システムがいずれかの組織によって管理されている場合、ユーザーに管理アクセスが明示的に付与されていない限り、ユーザーはこのファイルにアクセスできません。管理者権限なしでこのファイルを開くと、空白になります。これで、システムが管理ネットワークに接続されている場合、このキーはデフォルトで、組織によって確立され、アクティブに管理されているローカルシステムのセキュリティプロファイルになります。このキーはSAMにリンクされているため、認証が成功すると、ユーザーの特権レベルに応じて、さまざまなローカルポリシーとグループポリシー(group policies)が適用されます。

3.システム(3. System)(クリティカルブートプロセスおよびその他のカーネル機能)–このサブキーには、コンピューター名、現在マウントされているハードウェアデバイス、ファイルシステム、特定のイベントで実行できる自動アクションの種類など、システム全体に関連する重要な情報が含まれます。CPUの過熱による死のブルースクリーンです(Blue screen of death)。コンピュータがそのようなイベントの取り込みを自動的に開始する論理的な手順があります。このファイルには、十分な管理者権限を持つユーザーのみがアクセスできます。システムが起動すると、これはすべてのログが動的に保存されて読み取られる場所です。コントロールセットと呼ばれる代替構成などのさまざまなシステムパラメータ。

4.ソフトウェア(4. Software )プラグアンドプレイドライバーなどのすべてのサードパーティソフトウェア構成がここに保存されます。(Third-party)このサブキーには、さまざまなアプリケーションやシステムインストーラーによって変更できる既存のハードウェアプロファイルにリンクされたソフトウェアとWindowsの設定が含まれています。(Windows)ソフトウェア(Software)開発者は、ソフトウェアの使用時にユーザーがアクセスする情報を制限または許可することができます。これは、使用されるシステム証明書を含むアプリケーションおよびシステムサービスに一般的な使用ポリシーを適用する「ポリシー」サブキーを使用して設定できます。特定のシステムまたはサービスを認証、承認、または禁止するため。

5.(5. Hardware)システムの起動中に動的に作成されるサブキーであるハードウェア

6.コンポーネント(6. Components )システム全体のデバイス固有のコンポーネント構成情報は、ここにあります。

7. BCD.dat(システムパーティションのootフォルダー内)。これは、システムが読み取り、システムの起動シーケンス中にレジストリをRAMにロードすることによって実行を開始する重要なファイルです。

iii。HKEY_CURRENT_CONFIG

このサブキーが存在する主な理由は、ビデオとネットワーク設定を保存することです。これは、解像度、リフレッシュレート、アスペクト比などのビデオカードとネットワークに関連するすべての情報である可能性があります。

また、 Windowsレジストリ(Windows Registry)の一部であり、現在使用されているハードウェアプロファイルに関する情報を格納するレジストリハイブでもあります。HKEY_CURRENT_CONFIGは、実際にはHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfiles\CurrentregistryHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\HardwareProfilesキーの下にリストされている現在アクティブなハードウェアプロファイルへのポインターです。

したがって、HKEY_ CURRENT_CONFIGは、現在のユーザーのハードウェアプロファイルの構成を表示および変更するのに役立ちます。これらはすべて同じであるため、上記の3つの場所のいずれかで管理者として実行できます。

iv。HKEY_CURRENT_USER

現在ログインしているユーザーに固有のWindowsおよびソフトウェアのストア設定と構成情報を含むレジストリハイブの一部。たとえば、レジ​​ストリキーのさまざまなレジストリ値は、HKEY_CURRENT_USERハイブコントロールのユーザーレベルの設定(キーボードレイアウト、インストールされているプリンタ、デスクトップの壁紙、ディスプレイ設定、マップされたネットワークドライブなど)にあります。

コントロールパネル(Control Panel)のさまざまなアプレット内で構成する設定の多くは、 HKEY_CURRENT_USERレジストリハイブに保存され ます。HKEY_CURRENT_USERハイブはユーザー固有であるため、同じコンピューター上で、そこに含まれるキーと値はユーザーごとに異なります。これは、グローバルな他のほとんどのレジストリハイブとは異なります。つまり、 Windows(Windows)のすべてのユーザーで同じ情報を保持します。

レジストリエディタの画面の左側をクリックすると、HKEY_CURRENT_USERにアクセスできます。セキュリティ対策として、HKEY_CURRENT_USERに保存されている情報は、セキュリティ識別子として(HKEY_CURRENT_USER)HKEY_USERSハイブの下に配置されているキーへのポインタにすぎません。いずれかの領域に加えられた変更は、すぐに有効になります。

v。HKEY_USERS

これには、各ユーザープロファイルのHKEY_CURRENT_USERキーに対応するサブキーが含まれています。これは、Windowsレジストリ(Windows Registry)にある多くのレジストリハイブの1つでもあります。

すべてのユーザー固有の構成データがここに記録されます。デバイスをアクティブに使用しているすべてのユーザーについて、その種類の情報はHKEY_USERSの下に保存されます。特定のユーザーに対応するシステムに保存されているすべてのユーザー固有の情報はHKEY_USERSハイブの下に保存され、ユーザーが行ったすべての構成変更をログに記録するセキュリティ識別子またはSIDを使用してユーザーを一意に識別できます。(security identifier or the SID)

システム管理者によって付与された特権に応じてHKEY_USERS(HKEY_USERS)ハイブにアカウントが存在するこれらのアクティブユーザーはすべて、プリンター、ローカルネットワーク、ローカルストレージドライブ、デスクトップの背景などの共有リソースにアクセスできます。アカウントには特定のレジストリがあります。現在のユーザーのSIDの下に保存されているキーと対応するレジストリ値。

フォレンジック情報に関しては、各SIDは、すべてのイベントとアクションのログをユーザーのアカウントで実行するため、すべてのユーザーに関する膨大な量のデータを保存します。これには、ユーザーの名前(Name)、ユーザーがコンピューターにログオンした回数、最後のログインの日時、最後のパスワードが変更された日時、失敗したログインの数などが含まれます。さらに、 Windows(Windows)がログインプロンプトに読み込まれて表示されるときのレジストリ情報も含まれています。

推奨:(Recommended:) 修正レジストリエディタが機能しなくなった(Fix The Registry editor has stopped working)

デフォルトユーザーのレジストリキーは、プロファイル内のファイルntuser.datに保存されます。これは、デフォルトユーザーの設定を追加するために、regeditを使用してハイブとしてロードする必要があります。

Windowsレジストリで見つかると予想されるデータの種類(Types of data we can expect to find in the Windows Registry)

上記のすべてのキーとサブキーには、構成、値、およびプロパティが次のデータ型のいずれかに保存されます。通常、Windowsレジストリ全体を構成するのは次のデータ型の組み合わせです。

  • 世界のほとんどの書記体系で表現されたテキストの一貫したエンコーディング、表現、および処理のためのコンピューティング業界標準であるUnicode(Unicode ​which)などの文字列値。
  • バイナリデータ
  • 符号なし整数
  • シンボリックリンク
  • 複数の文字列の値
  • リソース(Resource)リスト(プラグ(Plug)アンドプレイ(Play)ハードウェア)
  • リソース(Resource)記述子(プラグ(Plug)アンドプレイ(Play)ハードウェア)
  • 64ビット整数

結論(Conclusion)

Windowsレジストリ(Windows Registry)は革命に他なりません。これは、システムとアプリケーションの構成を保存するためのファイル拡張子としてテキストファイルを使用することによって生じるセキュリティリスクを最小限に抑えるだけでなく、アプリケーション開発者が構成または.iniファイルの数を減らすことにもなります。ソフトウェア製品と一緒に出荷する必要がありました。システムとシステム上で実行されるソフトウェアの両方によって頻繁にアクセスされるデータを格納するための集中型リポジトリを持つことの利点は非常に明白です。

使いやすさだけでなく、さまざまなカスタマイズや設定に1か所でアクセスできるため、さまざまなソフトウェア開発者がWindowsをデスクトップアプリケーションに適したプラットフォームにしています。これは、Windowsで利用可能なデスクトップソフトウェアアプリケーションの膨大な量をAppleのmacOSと比較すると非常に明白です。要約すると、Windowsレジストリ(Windows Registry)の動作とそのファイル構造、さまざまなレジストリキー構成の重要性、およびレジストリエディタを使用して完全な効果を得る方法について説明しました。



About the author

私はユタ大学でコンピュータ エンジニアリングを卒業し、ソフトウェア開発と Windows 開発で 10 年以上の経験があります。PDF や Office ドキュメントを扱った経験があり、iOS や Android プラットフォームを使用してガジェットを作成した経験もあります。



Related posts