2013.04.07

PC : Win 7 システムドライブを別のHDDに移行しようとして苦労した話

はじめに断っておきますが、俺が苦労したのはちょっと特殊な状態になってたためで、普通はここまでは苦労しないかと。よって、多くの人にはあまり参考にならない内容だと思います。あと、内容の正確性は保証できません。つーか書いてる俺自身にもよくわかってない部分もあるのだよ。ですので、もし参考にする際は自己責任でお願いします。

さて、ある日突然、使用中の PC が固まって。再起動掛けたらブルースクリーンで起動せず。もう一度再起動かけたらなんとか普通に起動はしたけど、カッチャン、カッチャンと断続的な異音。ツールで調べたら不良クラスタ出てる。どうやらシステムドライブが死にかけ。しばらくしたら異音はやんだけど、長くは持たないかもしれない。一刻も早くシステムドライブを別の HDD に移行せねば。信頼の日立製で、たった 1 年と少ししか使ってない HDD なんだけども、こんなこともあるんですな...。

便利な HDD クローン・ソフト

新しい HDD へのシステムドライブ移行というと、新しい HDD に OS をクリーンインストールして地味に環境再構築...するのは大変なんですが、今では EaseUS Todo Backup Free なる便利なフリーソフトがあって、これでシステム HDD の内容を丸々別の HDD にクローニング (コピー) してから古いHDDを取り外すことにより、システム HDD の移行ができるようです。使い方はこのページを参考にしました。これは HDD → SSD への移行についての解説ですが、HDD → HDD の場合も基本的に同じ:

ディスク丸ごとクローニングして新 HDD から起動...できないよ!?

旧システム HDD から新 HDD へのディスク丸ごとのクローニングを完了し、新 HDD のシステムパーティションをアクティブに設定した上で、旧 HDD を外し、新 HDD から起動...できない。"BOOTMGR is missing" なるエラーが。

でもまあ、クローニング完了しただけでは起動できないことがある、というのは上記の解説ページにも触れられていた通りなので慌てない。あらかじめ作成しておいた システム修復ディスク を DVD ドライブに入れてシステム修復ツールを起動し、システム修復をかけてみる。

おやまあ、システム修復ツールが新 HDD 内の Win を認識できず、システム修復ができない。これは困った。

そこで、新 HDD を外して旧 HDD を戻す。普通に起動成功。ブート構成のチェックツールを走らせてみたところ、どうやら変な状態になってるっぽい? このPCには複数の HDD が繋がってるわけだが、「ブートマネージャ」が入ってる物理ドライブと「ブートローダ」が入ってる物理ドライブが別々になっていて、両方の物理ドライブが無いと起動できないという謎状態。Win Vista だけが入っていた状態から、Win Vista + Win 7 なマルチブート構成にした際にこうなったのだろうか。

で、Win 7 が入っているシステム HDD には、ブートローダはあるもののブートマネージャが無かった。なので、これをクローニングした新 HDD から起動しようとしたところ、前述のエラーに繋がったわけですな。

仕方が無い、クリーンインストール

そこで、やむなく Win 7 を新しい HDD にクリーンインストールした。変な構成にならないように、インストール対象の HDD 以外はすべて外した上で。これは特に問題なく完了し、普通に起動できるようになった。

システム・パーティションのみをクローニング

その後、今度は旧システム HDD から Win 7 クリーンインストール済みの新しい HDD へ、OS がインストールされているパーティションのみをクローニングしてみた。この場合、ディスク丸ごとのクローニングとは違い、MBR (マスターブートレコード) と呼ばれる領域はクローニングされず、MBR だけは Win 7 クリーンインストール後の状態が維持される。

そして、旧システム HDD を外して新しい HDD から Win 7 を起動してみたところ、またも "BOOTMGR is missing" なるエラーが。

しかし、最初に試したときとは MBR の状態が違うはずなので、まだ望みがある。再度、システム修復ディスクの出番だ。

システム修復ディスク再び

システム修復ディスクからシステム修復ツールを起動したところ、「システム構成がおかしい」 (うろ覚え) 的なエラーが表示された。これは最初に試した際は出なかったエラーだ。これが自動修復されて再起動...しても、再度 "BOOTMGR is missing" なるエラー。

だがしかし、システム修復ツールは複数回の実行が必要な場合があるらしいので、もう一度システム修復ディスクを。

今度は、修復ツール実行後にログを確認すると、「ブートマネージャが無かったので修復しました」だそうだ。よしキタ!!

起動成功!!

その後再起動をかけると無事に新 HDD から Win 7 が起動。仕上げとして CHKDSK でエラーチェックを 済ます。以後、全く問題なく動いている。なんとかうまく行ってよかった。

ここまで辿り着くのに丸一日かかったよ。記事では割愛してるけど、複数回やり直してるんだ...orz

別のソリューション?

多分、俺が試した手順は、唯一のソリューションでは無いと思う。むしろ変な力業なので、あまりスマートとは言えないかと。

先述の通り、旧システム HDD には、ブートローダは入っててもブートマネージャは別の物理ドライブにあった。

そこで、ブートマネージャが入っている物理ドライブをいったん外した上で、旧システム HDD に対してシステム修復ツールを実行すると、ブートローダもブートマネージャも含む普通の状態が実現できたのかもしれない。で、その後、普通にクローニングかければ良い、と。

あるいは、ブート構成周りの修復用のツールなんかもあるのかもね。

とはいえ、冒頭にも述べたとおり、これはマルチブート構成が妙な状態になってたゆえのレアケースだと思う。なので、普通はここまで苦労はしないはず。

Categories: PC

Category: PC

Trackbacks

Trackback URL: