Windows2000/XPの起動HDDを新しいハードウェア環境(マザーボード)に引っ越す

  Copyright(C) 2004,2010 まりも

 Winodows XP/2000を新環境に引っ越したい

  WindowsXP/2000を別のPC移したいということはよくあると思います。例えばマザーボードが壊れたとか、新しいPCに買い換えたけどもWindowsシステムは今までのものをそのまま使いたいといった場合です。

 しかし容易には異なるハードウェア環境に引っ越しできないようになっています。実際にやってみると、次のいずれかのようになります。

 (1)については、引っ越し先のM/BのBIOSの設定の誤りが原因のほとんどですが、引っ越し前の環境で複数台HDDを接続していたことが原因であったり、特定のストレージインターフェイスボードを使用していたことが原因であったりする場合もあります。個別に調べないとわかりません。

 (2)や(3)については、引っ越し後のマザーボードに必要なデバイスドライバがあらかじめインストールされていないために起こる現象です。これは適切な手順で引っ越しすることにより回避できますので、以下で解説します。

 なお、Windows2000と異なりXPでは、マザーボードを取り替えるとアクティベーションを要求されることがあります。正当なプロダクトIDを用意しアクティベーションを行うことになります。プリインストール版(OEM SLP 版)Windows XPで使用していたPCのハードディスクを一般のマザーボードに乗り換える場合も同様ですが、同じPCメーカのマザーボード間で乗り換えるならばアクティベーション要求の発生しない可能性が高いです(マザーボードのBIOS中にOEMを示すキーワード文字列が入っておりそれが同じである場合)。

1.引っ越し前の準備

 いきなりハードディスクを引っこ抜いて移設しようとしてはいけません。新しい環境で必要なデバイスドライバをインストールしたり、いくつか事前の準備をしておく必要があります。といってもデバイスドライバはデバイスが存在しないうちにインストールすることは、一般にできません。新環境への移行は、その環境がオンボードのものか取り外し可能なものかで、次のように場合分けされます。

 (1)の場合:マザーボードが異なると、デバイスドライバは同じとは限りませんから、事前にインストールしておかなければなりませんが、引っ越し先のドライバを事前にインストールはできません。多くの場合は、特定のデバイスに依らない「標準IDEドライバ」では動きますので、まず、デバイスマネージャから、現在のWindows起動ハードディスクのデバイスドライバを「標準IDEドライバ」に変更しておきます。このとき再起動がかかります。これで通常は準備完了で、新しい環境に移行して、そのまま起動できます。新しい環境のPCでもデバイスドライバはそのままでも構いませんが、より新しい(より適した)デバイスドライバが存在する可能性があります。新しい環境のPCの最新のチップセットドライバを、チップセットメーカ(intel, AMD, nVIDIA, SiSなど)からダウンロードしてインストールしておきます。

 (2)の場合:新しい環境のPCで使用するストレージカードを、旧環境のPCに接続して、デバイスドライバをインストールします。その後、このストレージカードとハードディスクを新しい環境のPCに接続すれば、起動できます。最初の起動時にデバイスドライバを要求される場合もありますが、通常は既にインストールしたものが自動で読み込まれるはずです。ドライバを要求されるようなものは、ドライバのinfファイルの書き方やドライバファイルの供給形態が一般的な形式でない場合に起こります。

 (3)の場合:IDE←→AHCIの相互の変更は厄介です。なぜなら、(1)のときの方法が適用できないからです。そこで、「(2)の手段を二度使う」という方法をとります。つまり、一度別のストレージカードに繋ぎ、ドライバを入れ、新しい環境のPCにそのまま持ち込み、新しいPCではIDE<-->AHCIを切り替えてドライバをインストールし、それが済んだら別立てのストレージカードを外してオンボードのIDEまたはAHCIに繋ぎなおす、という手順です。新旧環境のPCは同一マザーボードでも成り立つことですので、IDEとAHCIと移行にも使用できる手段です。そのためだけにストレージカードを用意しなければならない問題はありますが・・・

 なお、ハードディスク移設ではなく、別のハードディスクにコピーを取りたいという場合は別記事を参照してください。移設とコピーの両方を実行したい場合は、まず旧環境でコピーを取り、そのうち1台を本稿のようにして新環境に移設します。

 とにかく、なんらかの形で事前準備が必要ですので、古い環境からハードディスクだけを抜き取って新しい環境に持ってくるということはしないように。両方の環境が同時に使えるところで引っ越しする必要があります。失敗しても、古い環境のほうでやり直しがききます。

2.接続編

 当たり前のことですが、まず新しく使うマザーボードのBIOS設定は、目的のハードディスクが正しく起動できるようにしておいてください。いずれの場合も、きちんと準備がしてあれば、新しい環境に引っ越しして普通に起動できます。

 (1)の場合:新しいチップセットドライバをインストールします。自動で見つけ出されることもあるかもしれません。

 不幸にして、新しい環境のPCで起動しない場合もあります。これは多くの場合、新旧のPCでハードウェアアブストラクションレイヤ(HAL)が異なることが原因です。例えば2003年くらいより前のPCから最近のPCに移行しようとすると、HALが異なります。古いPCでは、ACPIや拡張割り込みがサポートされていないこともあります。とくに、マルチ(ユニ)プロセッササポートの拡張割り込みを持つPCから、それらを持たないPC(新機種から旧機種)への移行では、絶対に起動しません。ですから事前にHALをACPIにしておく必要があります。

 (2)の場合:ストレージボードごと移植したのであれば起動できるはずです。起動したら、マザーボード側のチップセットドライバをインストールします。これが済んだら、今度はマザーボード側にハードディスクを付け替えます。そこで起動できるようになっているはずです。

 起動しない場合は、前述のHALの不一致の問題がないか確認してください。また特殊なOEMドライバの場合、特定のPCI/PCIeスロットに当該ストレージカード存在していないと、以前にインストールしたドライバが読み込まれないことがあります。そのようなドライバの使用は避け、チップメーカが供給するドライバに変更してみてください。

 よくわからない場合:面倒ですが最終手段として、上書きで修復のセットアップ「in-place upgrade」をすると、起動できない問題は全て解決します。ただし通常はそれができるのは製品版のXP,2000であり、プレインストール版ではそのような媒体が一般に付属していませんし、OEM版でも上書きで修復のセットアップできないようになっています。OEM版でも上書き修復セットアップできるようにしたいのであれば、OEM版をもとにしたWindows XPのブータブルCD-ROM/DVD-ROMを作っておく必要があります。

 上書き修復セットアップ可能なブータブルCD-ROM/DVD-ROMには最終のサービスパックも組み込んでおく必要があります(下の諸注意参照)。そうしない場合、既にサービスパックが当てられていたものを修復したとき、サービスパックのバージョンがダウンしてしまうことになります。もちろんまたサービスパックを当てれば問題有りませんが。

3.諸注意

 Windows2000はあらかじめサービスパック4(SP4)にしておく必要があります。SP3以前では、(1)の場合に対応ディスクドライバがないため、起動途中でブルースクリーンエラーになることがあります。

 WindowsXPはあらかじめサービスパック3(SP3)にしておく必要があります。SP2以前では、(1)の場合に対応ディスクドライバがないため、起動途中でブルースクリーンエラーになることがあります。とくにPCIexpressバスアーキテクチャの機種ではSP2以降が必須です。

 (2)の方法で使用するストレージカードでは、SiliconImage社製チップが載った物は避けてください。DISK BIOSレベルのヘッドセクタ数が通常のストレージインターフェイスと異なっているので、繋ぎ変えてもWindowsXP/2000の起動ができません。システム起動時、MBRを呼んですぐに" NT loader missing"というエラーで止まります。PCIexpressバス用ストレージカードであれば、jMicron 36xチップの載ったものをお勧めします(ただしデバイスドライバは最新のものを用意すること)。