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

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

適用対象: Windows 10 - すべてのエディション、Windows Server 2012 R2
元の KB 番号: 256986

レジストリの説明

Microsoft Computer Dictionary (第 5 版) は、レジストリを次のように定義します。

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

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

レジストリは、Autoexec.bat や Config.sys などの Windows3.x および MS-DOS 構成ファイルで使用されるほとんどのテキストベースの .ini ファイルを置き換えます。 レジストリは、いくつかの 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、Security.log、Security.sav
HKEY_LOCAL_MACHINE\Software 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、Default.log、Default.sav

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

注:

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 システムの起動時にローカル コンピューターによって使用されるハードウェア プロファイルに関する情報が含まれます。

注:

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 バイト

注:

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

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

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

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

レジストリを編集する

レジストリ データを変更するために、プログラムには「レジストリ関数」で定義されているレジストリ関数を使用する必要があります。

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

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

レジストリを手動で編集するのではなく、Windows ユーザー インターフェイスを使用してシステム設定を変更することをお勧めします。 ただし、製品の問題を解決するには、レジストリの編集が最適な方法である場合があります。 この問題が 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 オペレーティング システムのコンポーネントであり、Microsoft の Web-Based Enterprise Management (WBEM) の実装です。 WBEM は、エンタープライズ環境で管理情報にアクセスするための標準テクノロジを開発するための業界イニシアティブです。 WMI を使用して、エンタープライズ環境で管理タスク (レジストリの編集など) を自動化できます。 WMI は、Windows にエンジンがあり、Microsoft ActiveX オブジェクトを処理するスクリプト言語で使用できます。 WMI コマンド ライン ユーティリティ (Wmic.exe) を使用して、Windows レジストリを変更することもできます。

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

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

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

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

レジストリを復元する

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

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

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

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

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

注:

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

関連情報

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

テスト済み製品の Windows Server Catalog は、Windows Server の互換性についてテストされた製品のリファレンスです。

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