Windows TIPS
[System Environment]
  windows tips topへ
windows tips全リストへ
内容別分類一覧へ

NT 4.0のアプリケーション設定情報をWindows 2000に移行させる方法

槙邑 恭介
1999/12/29

 Windows 2000のアップグレード インストールを利用すれば、現在使用しているWindows NT 4.0やWindows 9x環境を引き継ぎながら、Windows 2000に移行することが可能である。しかしこのアップグレード インストールを行うと、従来のOSが使っていた不要なフォルダ(Windows 2000にとっては不要なフォルダ)やファイルが残ってしまう可能性がある(しかもこういったファイルは、Windows 2000のインストール後に削除してよいものかどうか判断がつかないケースが多い)。それならばと、従来の環境をいったん破棄して(ディスクをフォーマットするなどして)、Windows 2000を新規にインストールすれば、このような問題を回避できる代わりに、アプリケーションの再インストールやカスタマイズ、環境設定などを初めから行う必要がある。こうしたカスタマイズなどは、必要に応じてその場その場で実行していることが多く、改めてまとめて行おうとしても、個々の操作を思い出せないことが少なくない。そこで、なるべくなら、現在の環境(NTやWindows 9x)にインストールされているアプリケーションの設定内容を引き継ぎつつ、新規にWindows 2000をインストールしたいと思うだろう。

 100%完全とは言えないものの、おおよそこれを可能にしてくれる方法がある。Windows 2000を新規インストールする前に、アプリケーションに関連する既存のレジストリ情報を保存しておくのである。そしてWindows 2000のインストールが完了したら。今まで使用していたアプリケーションを再インストールした後、あらかじめ保存しておいたレジストリ情報を再登録する。できればアプリケーションの再インストールも避けたいところだが、システムに関連する設定(オートメーションやアプリケーションで使用する拡張子情報の登録)などが必要なため、アプリケーションの再インストールは回避できないと考えておくほうがよいだろう(小規模なアプリケーションなら、単純なファイルのコピーで移行できる場合もあるが)。

 今述べたレジストリ情報の保存と復元によって、アプリケーションの設定を旧システムから移行させる方法を以下にまとめよう。

手順1:レジストリ情報を保存する

 Windows 2000の新規インストールを開始する前に、既存のレジストリ情報を保存しておく。具体的には、既存の環境でレジストリエディタ(regedit32.exe)を実行し、表示されるツリーから保存したい項目を選択し、ファイルに保存する。アプリケーションの設定に関連する現在のユーザーの情報は、「HKEY_CURRENT_USER\Software」というレジストリ キーの下に保存されているので、画面左側のツリー表示部分で「HKEY_CURRENT_USER\Software」をクリックし、[レジストリ]メニューから[レジストリ ファイルの書き出し]を選択する(この設定は、各ユーザーごとに個別に存在するので、必要なら、他のユーザー名でもログインして、同様の操作を行う)。

レジストリ エディタを使用してレジストリ情報を保存する
アプリケーションのカスタイマイズ情報などは、基本的にレジストリの「HKEY_CURRENT_USER\Software」キー以下に保存されている。そこでレジストリ エディタを起動し、ツリーから当該キーを選択して、情報をファイルに保存する。
  「HKEY_CURRENT_USER\Software」キー。このキー以下に各種アプリケーションごとのキーが作成され、その内部にアプリケーションのカスタマイズ情報などが保存されている。

 ファイルの出力先としては、任意のドライブを指定すればよい。ただしシステムがインストールされているドライブに保存すると、Windows 2000をインストールする際にうっかりフォーマットしてしまう可能性もあるので、なるべくならシステムとは別のドライブを指定するのがよいだろう。こうして作成されたレジストリ ファイルは、「reg」という拡張子を持っているが、次のように内部はテキスト形式になっている。

保存されたレジストリの内容(一部)
レジストリ エディタから書き出されたレジストリ ファイルは、「reg」という拡張子が付けられるが、内部はテキスト形式なので、メモ帳などで内容を確認することができる。
  Windows NT/9xでレジストリ情報を保存すると,このようにregファイルの先頭に「REGEDIT4」という文字列が書き込まれる。

 今回は「HKEY_CURRENT_USER\Software」キー以下を丸ごと保存したが、設定を復元したいアプリケーションが決まっており、「Software」キーの下にあるアプリケーションごとのキーの名称が分かっている場合は、アプリケーションごとにファイルを分けて保存してもよい。実際には、このレジストリキー以外にも、アプリケーションごとに共通な設定は、「HKEY_LOCAL_MACHINE\Software」に保存されるのだが、この部分はアプリケーションを新規にインストールする際に作成されるので、保存しておく必要はないだろう。また、Windows NTを複数のユーザーで利用している場合は、ユーザーごとに前述した手順でレジストリの内容を保存しておく。

手順2:Windows 2000をインストールする

 新規インストールなので、あまり注意すべきことはないが、保存したレジストリ情報を後から復元させても、レジストリが矛盾を起こさないようにするため、Windows 2000は既存環境と同じドライブにインストールしたほうがよい(幸い、Windows 2000でも、デフォルトのWindowsフォルダは「winnt」のままになっている)。

手順3:アプリケーションをインストールする

 Windows 2000のインストールが完了したら、次はこれまで使っていたアプリケーションをもう一度インストールし直す。単純なアプリケーションなら、再インストールしなくても、従来の実行ファイルを起動するだけで利用可能な場合もあるが、拡張子との関連付けや、COMの設定、アプリケーションのアン インストールなどを考えると、やはり新規にインストールしたほうが気持ちがすっきりするだろう(簡単なアプリケーションほど、インストールも素早く終わる)。アプリケーションをインストールする場合は、必ず以前と同じフォルダにインストールしなければならない。さもないと、せっかく保存してあるレジストリ情報と矛盾を起こしてしまい、アプリケーションが正しく動作しなくなる可能性があるからだ。インストールが終わったら、デフォルトの設定でアプリケーションが動作することを確認しておく。

手順4:保存したレジストリ情報をUnicode形式に変換する

 いよいよ、手順1で保存しておいたレジストリ情報を復元する。Windows 2000では、レジストリ エディタが処理するファイル情報が一部変更されている。これまでのレジストリ エディタで保存されたレジストリ情報は、ファイルの先頭に「REGEDIT4」と記述されていたが、Windows 2000のレジストリエディタでは、これが「Windows Registry Editor Version 5.00」となっている。

Windows 2000で保存したレジストリ情報
Windows 2000でレジストリ情報を保存すると、ファイルの先頭は「Windows Registry Editor Version 5.00」という文字列になる。また文字コードはすべてUnicodeである。
  Windows 2000のレジストリ エディタで情報を保存すると、ファイルの先頭にこのように書き出される。ただし「REGEDIT4」と記述された従来の情報ファイルをWindows 2000で読み込むことは可能。

 要するに、レジストリ エディタのバージョンが上がっているのだが、各レジストリ エントリの形式は変わっておらず、これまでの「REGEDIT4」と記述されたファイルでも、Windows 2000でそのまま読み込まれる。

 これはたいした違いではないが、Windows 2000では、レジストリ エディタから生成されるレジストリ情報がすべてUnicode形式に変更された点には注意が必要だ。Windows 2000のレジストリ エディタは、従来のASCII形式のレジストリ情報も取り込めるようになっているが、筆者が試したところでは、バイナリデータが記述されたエントリを含む、比較的大きなサイズのレジストリ ファイルの場合は読み込めない場合があった。したがって確実な処理を望むなら、先に保存したレジストリ ファイル(ASCII形式)をUnicode形式に変換するようにする。このコード変換には、Windows 2000に標準で付属するメモ帳を利用すればよい。コード変換の具体的な方法については、別稿の「Windows TIPS:Windows 2000のレジストリ ファイルはUnicode形式」を参照されたい。

手順5:レジストリの登録  

 後は、Unicode形式で保存したレジストリ ファイルをエクスプローラからダブル クリックすると、ファイルの内容がレジストリに登録される。実際にアプリケーションを起動して、オプション設定などが以前の状態に変更されているかを確認する。

 なお最後になったが、ここで紹介した操作によって、すべてのアプリケーションの設定情報が100%正しく復元できるわけではないことをご了承いただきたい。アプリケーションによっては、レジストリ以外の場所に設定情報を保存するものもあるからだ。また、各ユーザー個別ではなく、すべてのユーザーに影響するオプション設定などは反映されない可能性が高い。これらの点に注意して操作を行ってほしい。またレジストリエディタの不用意な操作によってシステムが不安定になる場合もあるので、操作は慎重に行う必要がある。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間