次の方法で共有


上級ユーザー向けの Windows レジストリ情報

この記事では、Windows レジストリについて説明し、それを編集およびバックアップする方法について説明します。

元の KB 番号: 256986

レジストリの説明

Microsoft Computer Dictionary5 番目のエディションでは、レジストリは次のように定義されます。

1 つ以上のユーザー、アプリケーション、およびハードウェア デバイスのシステムを構成するために必要な情報を格納するために使用される、Windows 98、Windows CE、Windows NT、および Windows 2000 で使用される中央階層データベース。

レジストリには、各ユーザーのプロファイル、コンピューターにインストールされているアプリケーション、作成できるドキュメントの種類、フォルダーとアプリケーション アイコンのプロパティ シートの設定、システムに存在するハードウェア、使用されているポートなど、Windows が操作中に継続的に参照する情報が含まれています。

レジストリは、Windows 3.x および MS-DOS 構成ファイルで使用されるテキスト ベースの.ini ファイル (Autoexec.batやConfig.sysなど) の大部分を置き換えます。 レジストリは、いくつかの Windows オペレーティング システムに共通していますが、それらの間にいくつかの違いがあります。 レジストリ ハイブは、データのバックアップを含む一連のサポート ファイルを含む、レジストリ内のキー、サブキー、および値のグループです。 HKEY_CURRENT_USERを除くすべてのハイブのサポート ファイルは、Windows NT 4.0、Windows 2000、Windows XP、Windows Server 2003、Windows Vista の %SystemRoot%\System32\Config フォルダーにあります。 HKEY_CURRENT_USERのサポート ファイルは、 %SystemRoot%\Profiles\Username フォルダーにあります。 これらのフォルダー内のファイルのファイル名拡張子は、ファイルに含まれるデータの種類を示します。 また、拡張機能がない場合は、含まれるデータの種類を示すことがあります。

レジストリ ハイブ サポート ファイル
HKEY_LOCAL_MACHINE\SAM Sam、Sam.log、Sam.sav
HKEY_LOCAL_MACHINE\Security セキュリティ、Security.log、Security.sav
HKEY_LOCAL_MACHINE\Software ソフトウェア、Software.log、Software.sav
HKEY_LOCAL_MACHINE\System System、System.alt、System.log、System.sav
HKEY_CURRENT_CONFIG System、System.alt、System.log、System.sav、Ntuser.dat、Ntuser.dat.log
HKEY_USERS\DEFAULT 既定値、Default.log、Default.sav

Windows 98 では、レジストリ ファイルの名前は User.dat と System.dat です。 Windows Millennium Edition では、レジストリ ファイルの名前は Classes.dat、User.dat、およびSystem.datです。

Note

Windows のセキュリティ機能を使用すると、管理者はレジストリ キーへのアクセスを制御できます。

次の表に、システムで使用される定義済みキーの一覧を示します。 キー名の最大サイズは 255 文字です。

フォルダー/定義済みキー 説明
HKEY_CURRENT_USER 現在ログオンしているユーザーの構成情報のルートが含まれます。 ユーザーのフォルダー、画面の色、コントロール パネルの設定がここに保存されます。 この情報は、ユーザーのプロファイルに関連付けられます。 このキーは、 HKCU と省略されることがあります。
HKEY_USERS アクティブに読み込まれたコンピューター上のすべてのユーザー プロファイルが含まれます。 HKEY_CURRENT_USERは、HKEY_USERSのサブキーです。 HKEY_USERSは、 HKU と省略される場合があります。
HKEY_LOCAL_MACHINE (任意のユーザーの) コンピューターに特定の構成情報が含まれています。 このキーは、 HKLM と省略されることがあります。
HKEY_CLASSES_ROOT HKEY_LOCAL_MACHINE\Softwareのサブキーです。 ここに格納されている情報により、エクスプローラーを使用してファイルを開いたときに正しいプログラムが開きます。 このキーは、 HKCR と省略されることがあります。 Windows 2000 以降では、この情報はHKEY_LOCAL_MACHINEキーとHKEY_CURRENT_USER キーの両方に格納されます。 HKEY_LOCAL_MACHINE\Software\Classes キーには、ローカル コンピューター上のすべてのユーザーに適用できる既定の設定が含まれています。 HKEY_CURRENT_USER\Software\Classes キーには、既定の設定をオーバーライドし、対話型ユーザーにのみ適用する設定が含まれています。 HKEY_CLASSES_ROOT キーは、これら 2 つのソースからの情報をマージするレジストリのビューを提供します。 HKEY_CLASSES_ROOTでは、以前のバージョンの Windows 用に設計されたプログラムに対しても、このマージされたビューが提供されます。 対話型ユーザーの設定を変更するには、HKEY_CLASSES_ROOTではなく、 HKEY_CURRENT_USER\Software\Classes で変更を行う必要があります。 既定の設定を変更するには、 HKEY_LOCAL_MACHINE\Software\Classesで変更を行う必要があります。 HKEY_CLASSES_ROOTのキーにキーを書き込む場合、 HKEY_LOCAL_MACHINE\Software\Classesに情報が格納されます。 HKEY_CLASSES_ROOTの下のキーに値を書き込み、そのキーが既に HKEY_CURRENT_USER\Software\Classesの下に存在する場合、システムは HKEY_LOCAL_MACHINE\Software\Classesの下ではなく、そこに情報を格納します。
HKEY_CURRENT_CONFIG システムの起動時にローカル コンピューターによって使用されるハードウェア プロファイルに関する情報が含まれます。

Note

64 ビット バージョンの Windows XP、Windows Server 2003、および Windows Vista のレジストリは、32 ビットキーと 64 ビット キーに分かれています。 32 ビット キーの多くは、対応する 64 ビットキーと同じ名前を持ち、その逆も同様です。 64 ビット バージョンの Windows XP、Windows Server 2003、および Windows Vista に含まれるレジストリ エディターの既定の 64 ビット バージョンでは、ノード HKEY_LOCAL_MACHINE\Software\WOW6432Nodeの下に 32 ビット キーが表示されます。 64 ビット バージョンの Windows でレジストリを表示する方法の詳細については、「 64 ビット バージョンの Windows を使用してシステム レジストリを表示する方法を参照してください。

次の表に、現在定義され、Windows で使用されているデータ型の一覧を示します。 値名の最大サイズは次のとおりです。

  • Windows Server 2003、Windows XP、Windows Vista: 16,383 文字
  • Windows 2000: 260 ANSI 文字または 16,383 Unicode 文字
  • Windows Millennium Edition/Windows 98/Windows 95: 255 文字

長い値 (2,048 バイトを超える) は、レジストリに格納されているファイル名を持つファイルとして格納する必要があります。 これは、レジストリの効率的な実行に役立ちます。 値の最大サイズは次のとおりです。

  • Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003/Windows Vista: 使用可能なメモリ
  • Windows Millennium Edition/Windows 98/Windows 95: 16,300 バイト

Note

キーのすべての値の合計サイズには 64K の制限があります。

Name データの種類 説明
バイナリ値 REG_BINARY 生バイナリ データ。 ほとんどのハードウェア コンポーネント情報はバイナリ データとして格納され、レジストリ エディターに 16 進形式で表示されます。
DWORD 値 REG_DWORD 長さが 4 バイトの数値 (32 ビット整数) で表されるデータ。 デバイス ドライバーとサービスの多くのパラメーターは、この種類であり、バイナリ、16 進数、または 10 進形式でレジストリ エディターに表示されます。 関連する値はDWORD_LITTLE_ENDIAN (最下位バイトは最下位アドレス)、REG_DWORD_BIG_ENDIAN (最下位バイトは最も大きいアドレス)。
展開可能な文字列値 REG_EXPAND_SZ 可変長データ文字列。 このデータ型には、プログラムまたはサービスがデータを使用するときに解決される変数が含まれます。
複数行文字列値 REG_MULTI_SZ 複数の文字列。 ユーザーが読み取ることができるフォームのリストまたは複数の値を含む値は、通常、この型です。 エントリは、スペース、コンマ、またはその他のマークで区切られます。
[Key] REG_SZ 固定長のテキスト文字列。
バイナリ値 REG_RESOURCE_LIST ハードウェア デバイス ドライバーまたはそれが制御する物理デバイスの 1 つによって使用されるリソースリストを格納するように設計された一連の入れ子になった配列。 このデータはシステムによって \ResourceMap ツリーで検出および書き込まれ、レジストリ エディターにバイナリ値として 16 進形式で表示されます。
バイナリ値 REG_RESOURCE_REQUIREMENTS_LIST 一連の入れ子になった配列。ドライバーまたはドライバーが制御する物理デバイスが使用できるハードウェア リソースのデバイス ドライバーの一覧を格納するように設計されています。 システムは、このリストのサブセットを \ResourceMap ツリーに書き込みます。 このデータはシステムによって検出され、レジストリ エディターにバイナリ値として 16 進形式で表示されます。
バイナリ値 REG_FULL_RESOURCE_DESCRIPTOR 物理ハードウェア デバイスで使用されるリソース リストを格納するように設計された一連の入れ子になった配列。 このデータはシステムによって \HardwareDescription ツリーで検出され、書き込まれ、レジストリ エディターにバイナリ値として 16 進形式で表示されます。
なし REG_NONE 特定の型を持たないデータ。 このデータは、システムまたはアプリケーションによってレジストリに書き込まれ、バイナリ値として 16 進形式でレジストリ エディターに表示されます
リンク REG_LINK シンボリック リンクに名前を付ける Unicode 文字列。
QWORD 値 REG_QWORD 64 ビット整数の数値で表されるデータ。 このデータは、レジストリ エディターにバイナリ値として表示され、Windows 2000 で導入されました。

レジストリをバックアップする

レジストリを編集する前に、編集するレジストリ内のキーをエクスポートするか、レジストリ全体をバックアップします。 問題が発生した場合は、「 レジストリを復元する 」セクションの手順に従って、レジストリを以前の状態に復元できます。 レジストリ全体をバックアップするには、Backup ユーティリティを使用してシステムの状態をバックアップします。 システム状態には、レジストリ、COM+ クラス登録データベース、およびブート ファイルが含まれます。 Backup ユーティリティを使用してシステム状態をバックアップする方法の詳細については、次の記事を参照してください。

レジストリを編集する

レジストリ データを変更するには、 Registry Functions で定義されているレジストリ関数を使用する必要があります。

管理者は、レジストリ エディター (Regedit.exeまたはRegedt32.exe)、グループ ポリシー、システム ポリシー、レジストリ (.reg) ファイルを使用するか、VisualBasic スクリプト ファイルなどのスクリプトを実行してレジストリを変更できます。

Windows ユーザー インターフェイスを使用する

レジストリを手動で編集するのではなく、Windows ユーザー インターフェイスを使用してシステム設定を変更することをお勧めします。 ただし、製品の問題を解決するには、レジストリの編集が最適な方法である場合があります。 問題が Microsoft サポート技術情報に記載されている場合は、その問題のレジストリを編集するための詳細な手順が記載された記事が提供されます。 これらの手順に正確に従うことをお勧めします。

レジストリ エディターを使用する

警告

レジストリ エディタや他の方法を使用してレジストリを変更する際、適切に変更しないと重大な問題を引き起こす可能性があります。 場合によっては、オペレーティング システムの再インストールが必要になります。 Microsoft では、このような問題の解決に関しては保証できません。 レジストリはユーザー自身の責任において変更してください。

レジストリ エディターを使用して、次の操作を実行できます。

  • サブツリー、キー、サブキー、または値を見つける
  • サブキーまたは値を追加する
  • 値を変更する
  • サブキーまたは値を削除する
  • サブキーまたは値の名前を変更する

レジストリ エディターのナビゲーション領域にフォルダーが表示されます。 各フォルダーは、ローカル コンピューター上の定義済みのキーを表します。 リモート コンピューターのレジストリにアクセスすると、HKEY_USERSとHKEY_LOCAL_MACHINEの 2 つの定義済みキーのみが表示されます。

グループ ポリシーを使用する

Microsoft 管理コンソール (MMC) は、ネットワーク、コンピューター、サービス、およびその他のシステム コンポーネントの管理に使用できる管理ツールをホストします。 グループ ポリシー MMC スナップインを使用すると、管理者はコンピューターまたはユーザーに適用されるポリシー設定を定義できます。 ローカル のグループ ポリシー MMC スナップイン Gpedit.msc を使用して、ローカル コンピューターにグループ ポリシーを実装できます。 グループ ポリシーは、Active Directory ユーザーとコンピューター MMC スナップインを使用して Active Directory に実装できます。 グループ ポリシーの使用方法の詳細については、適切なグループ ポリシー MMC スナップインのヘルプ トピックを参照してください。

登録エントリ (.reg) ファイルを使用する

レジストリの変更を含む登録エントリ (.reg) ファイルを作成し、変更するコンピューターで.reg ファイルを実行します。 .reg ファイルは、手動で実行することも、ログオン スクリプトを使用して実行することもできます。 詳細については、「 登録エントリ (.reg) ファイルを使用してレジストリ サブキーと値を追加、変更、または削除する方法を参照してください。

Windows スクリプト ホストを使用する

Windows スクリプト ホストを使用すると、オペレーティング システムで VBScript および JScript スクリプトを直接実行できます。 Windows スクリプト ホスト メソッドを使用して、レジストリ キーと値の削除、読み取り、書き込みを行う VBScript ファイルと JScript ファイルを作成できます。 これらの方法の詳細については、次の Microsoft Web サイトを参照してください。

Windows Management Instrumentation を使用する

Windows Management Instrumentation (WMI) は、Microsoft Windows オペレーティング システムのコンポーネントであり、Web ベースのエンタープライズ管理 (WBEM) の Microsoft 実装です。 WBEMは、企業環境で管理情報にアクセスするための標準的な技術を開発するための業界イニシアチブです。 WMI を使用して、エンタープライズ環境での管理タスク (レジストリの編集など) を自動化できます。 Windows 上にエンジンがあり、Microsoft ActiveX オブジェクトを処理するスクリプト言語では WMI を使用できます。 WMI コマンド ライン ユーティリティ (Wmic.exe) を使用して Windows レジストリを変更することもできます。

WMI の詳細については、「Windows Management Instrumentation」を参照してください。

WMI コマンド ライン ユーティリティの詳細については、「 A description of the Windows Management Instrumentation (WMI) command-line utility (Wmic.exe)を参照してください。

Windows 用コンソール レジストリ ツールを使用する

Windows 用コンソール レジストリ ツール (Reg.exe) を使用してレジストリを編集できます。 Reg.exe ツールのヘルプについては、コマンド プロンプトで「 reg /? 」と入力し、[ OK] をクリック

レジストリを復元する

レジストリを復元するには、適切な方法を使用します。

方法 1: レジストリ キーを復元する

エクスポートしたレジストリ サブキーを復元するには、[レジストリ サブキーのエクスポート] セクションに保存した登録エントリ (.reg) ファイルをダブルクリックします。 または、バックアップからレジストリ全体を復元することもできます。 レジストリ全体を復元する方法の詳細については、この記事で後述する「 Method 2: レジストリ全体を復元する 」セクションを参照してください。

方法 2: レジストリ全体を復元する

レジストリ全体を復元するには、バックアップからシステムの状態を復元します。 バックアップからシステム状態を復元する方法の詳細については、「 バックアップを使用してデータを保護し、Windows XP と Windows Vista でコンピューター上のファイルとフォルダーを復元する方法を参照してください。

Note

システム状態をバックアップすると、レジストリ ファイルの更新されたコピーも %SystemRoot%\Repair フォルダーに作成されます。

関連情報

詳細については、次の Web サイトを参照してください。

テスト対象製品の Windows Server カタログ は、Windows Server の互換性がテストされた製品のリファレンスです。

Data Protection Manager (DPM) は、Microsoft System Center ファミリの管理製品の主要メンバーであり、IT プロフェッショナルが Windows 環境を管理できるように設計されています。 DPM は Windows のバックアップと回復の新しい標準であり、シームレスに統合されたディスクとテープ メディアを使用する Microsoft アプリケーションおよびファイル サーバーに継続的なデータ保護を提供します。 レジストリをバックアップおよび復元する方法の詳細については、「 Windows XP と Windows Vista でレジストリをバックアップおよび復元する方法を参照してください。