レジストリに間違って不正なデータを書き込むと、システムに重大な影響が及ぶ場合がある。レジストリを変更するときには、念のため変更前の状態をバックアップしておくとよいが、レジストリ全体をバックアップするのは面倒である。restoreコマンドあるいはレジストリ・エディタのインポート/エクスポート機能を使えば、一部のレジストリ・キーの値だけをバックアップ/リストアできる。解説レジストリは、Windowsシステムに関するさまざまな情報を集中管理しているデータベースである。このため設定を間違えたり、重要なデータを誤って削除したりすると、システムに致命的な障害が発生する危険性がある。「regedit」と入力して起動する)を利用すれば、レジストリの現在の設定内容を確認し、必要なデータを修正したり、新たなデータを追加したりできるが、むやみに操作すべきではない。システム管理業務では、必要に迫られてレジストリの値を変更しなければならない場合がある。このような場合は、万一に備えて変更前のレジストリの内容をバックアップしておくと安心だ。レジストリのバックアップにはいくつもの方法がある。OSの復元ポイントを利用する方法、Windows標準のバックアップ・ソフトウェア(ntbackup.exe)を利用する方法などが代表的だろう。これらの方法では、レジストリ全体をバックアップするため、少々大ごとだ。restoreコマンドを利用するとよい。レジストリ・キーに格納されている値やデータ、サブ・キーの内容はもちろん、レジストリ・キーのACL(アクセス・コントロール・リスト:アクセス権情報)や最終更新日時なども、すべて丸ごとバックアップ/復元が可能だ。2008)だけである。2003付属のコマンドとはエラー・メッセージなどが異なっている)。2000向けリソースキット・ツールのregback/regrestがあるが、こちらは既存のレジストリ・ハイブ単位でしかバックアップ/復元ができない。コマンドラインではなくGUIでバックアップ/復元をしたいなら、レジストリ・エディタの「キーのエクスポート/インポート」機能が利用できる。restoreコマンドと同じく、レジストリ・キーの全情報をバックアップ/復元可能だ。2000でこの機能を利用するには、regedit.exeではなくregedt32.exeを用いる必要がある。操作方法レジストリ・キーのバックアップ/復元の概要を図示すると、次のようになる。restoreコマンドの例だが、レジストリ・エディタによるエクスポート/インポートでも基本は変わらない。restoreコマンドを使えば、レジストリ・キーのアクセス権情報なども含めてすべてのデータを保存できる。レジストリ・エディタによるエクスポート/インポートでも同じことが可能だ。saveコマンドで特定キー以下をバイナリ・ファイルに保存する。レジストリ・エディタの場合はエクスポート。restoreコマンドでファイルの情報をキーに読み込む。レジストリ・エディタの場合はインポート。saveコマンドまたはレジストリ・エディタのエクスポート機能を使う。saveコマンドの構文は以下のとおり。<出力先ファイル名>次の例では、「HKEY_LOCAL_MACHINE\Software\MyCo\MyApp」サブ・キーの値を「AppBkUp.hiv」というファイルに出力している。AppBkUp.hivこのように、トップレベル・キーの名称は、省略形式を利用できる(もちろん、正式名を指定しても問題はない)。TIPS)なお、レジストリ・キーの名称は間違えやすいので、別ウィンドウでレジストリ・エディタを開いておき、指定したいキーの名前をクリップボードにコピーし、コマンド・プロンプトへ貼り付けるのがよいだろう(関連記事参照)。出力先ファイル名にパスを指定しない場合には、現在のフォルダが使用される。コマンドを実行すると、AppBkUp.hivというバイナリ・ファイルが出力される。拡張子.hivはレジストリのハイブ(hive)を省略したものだ。.hiv以外の拡張子を使ってもよいが、マイクロソフトのドキュメントなどを見ると.hivを指定するのが一般的のようである。2000のregedt32.exeではキー選択後、[レジストリ]−[キーの保存]を実行)。saveの場合と同じく、バイナリ・ファイルにレジストリの内容がエクスポートされて保存される。2008も同様である。2000ではregedt32.exeを利用するため、以下の画面とは異なるので注意していただきたい。saveコマンドと同じく、MyAppサブ・キーのバックアップを保存する。保存対象のサブ・キーを右クリックする。これを実行するとエクスポートのダイアログ・ボックスが表示される。サブ・キーの内容をハイブ形式でファイルに保存するこのダイアログ・ボックスで、バックアップ先のファイル名とその種類を指定して保存する。保存するフォルダを選択する。保存するファイル名を入力する。拡張子はハイブを表す.hivでよい。ファイルの種類として、これを選ぶ。このラジオ・ボタンが選択されるとともに、バックアップ対象のサブ・キーのパス名が表示されるので、間違っていないか確認する。これをクリックするとバックアップ・ファイルが作成される。restoreコマンドまたはレジストリ・エディタのインポート機能を使う。restoreコマンドの構文は次のとおり。<入力元ファイル名>次の例では、いったん保存したサブ・キーの値を、当初とは異なる「MyAppNew」サブ・キー以下に復元している。restoreコマンドによる復元時には2つ注意点がある。value」)が発生すること。復元先のキーは自動的には作成されないので、存在しない場合にはあらかじめレジストリ・エディタで作成しておく必要がある。アクセスが拒否されました。2000サポート・ツールでは「Error:」のみが表示される。日本語を表示できないバグと思われる)。これを回避するには、レジストリ・エディタでまったく関係のないキーを表示しておくか、レジストリ・エディタをいったん終了する。SP1ではエラーは発生しなかった。OSによって症状が変わるようだ。■レジストリ・エディタのインポート機能の場合まずレジストリ・エディタの左ペインのツリーから復元先のサブ・キーを選択する。既存ではなく新たなサブ・キーへ復元するなら、この時点でそのサブ・キーを新たに作成して選択する必要がある。ここでサブ・キーの選択を誤ると、復元によって想定外のサブ・キーの内容が削除されてしまい、レジストリに深刻な障害を与えかねないので十分注意すること。2000のregedt32.exeでは[レジストリ]−[復元])を実行するとファイル・オープンのダイアログ・ボックスが表示される。2000のregedt32.exeでは「すべてのファイル」)を選択してからバックアップ・ファイルを開くと、警告メッセージが表示されるので、復元先のサブ・キーが間違っていないか再度確認してから[OK]ボタンをクリックする。レジストリ・エディタのインポート機能でキーを復元するこの例では新たに作成したMyAppNewキーに復元する。復元先のサブ・キーを選択する。間違えると想定外のサブ・キーの内容を削除することになるので要注意。復元するバックアップ・ファイルを指定するサブ・キーの内容をバックアップしたファイルAppBkUp.hivからキーの内容を復元する。最初にこれを選択する。バックアップしたファイル名を指定する。これをクリックすると、復元先キーに関する警告メッセージが表示される。復元先キーの内容が削除されることを警告するダイアログ・ボックスこの時点のMyAppNewキーに存在するデータは、復元の実行時に全て削除される。サブ・キーが間違っていないか十分確認したら、[はい]キーをクリックして復元を実行する。■なお、上記の方法によるレジストリ・キーの復元では、既存のキーの値に情報が「書き足される」のではなく、キーの内容そのものが復元されるので、バックアップ前に存在していなかったキーや値は復元後に削除されるので注意すること。unloadコマンドあるいはレジストリ・エディタのアンロード機能で展開を解除する)。これらのコマンドや機能の使い方については、TIPS「レジストリ・ハイブをロードしてオフラインでレジストリを閲覧・編集する」を参照していただきたい。より自動抽出したものです。【2008/12/26】レジストリ・エディタによるバックアップ/復元の手順を追記しました。(2017/7/21)キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。