ThinkpadのHDDからmSATAのSSDにクローン作製 その7

 「クローニングで発生した問題あれこれ」のその7です。これが最後の予定ですが、ここでは最初の目的に戻って、SSDにクローンを作って、そこを起動&メインに使って、元あったHDDをデータ用にするにはどうしたらよいかを考えます。 

  ただし、一部推測でこうなるだろう、というのが混ざっていますし、記憶が多少あいまいな点もありますので、間違っていたら皆さん自身での検証結果の方を優先してください。コメントでご指摘などいただければ、可能な限り対応します。

 なお、以下の記述は、私の検証した結果を踏まえたものなので、HDDがSATA#0、SSDSATA#2のチャンネルにそれぞれ接続されている前提です。また、HDDはMBRディスクであるケースのみを取り扱ってます。さらに、クローン元がHDD、クローン先がSSDという状況です。

【やり方1:クローンをやめてSSDWindowsを通常インストールする】

 まあ、目的とはずれてきますが、最も確実に問題無く行きたいなら、結局これがベストです。元々SSDにHDDのディスク署名を書き込まなければ、重複しようがないので、問題が起こるはずもありません。

 私が試した範囲では、これでいけば、BIOSのブート順を変更するだけで、起動するドライブをHDDとSSDで切り替えることも問題無くできました。もちろん、ちゃんとブートマネージャを設定すれば、そんな面倒なことをしなくてもいいのかもしれませんが。

【やり方2:SSDへクローン作製後、HDDを初期化する】

 HDDのパーティションを切り直して、データ専用にして、以後HDDから起動する可能性がないのなら、これが総合的に見て一番確実です。ただ、問題なのは「HDDの初期化」というのが具体的にどうしたらよいのかがわかりにくいことです。実際、Linuxパーティションを開放したりしても、うまくいきませんでした。

 ディスク署名を確実にクリアする、という観点で最もおすすめなのは、SSDを一旦取り外した後、Windowsの回復ドライブなどを使ってHDD以外から起動して、高度な回復手段のコマンドラインから、diskpartコマンドを使う方法です。これならWindowsだけで作業環境が作れて、かつ確実にディスク署名を含めて初期化できます。具体的な手順としては、

  1. コマンドラインから"diskpart"を起動する
  2. "list disk"で初期化するHDDを確認する。Thinkpadの内蔵HDDの場合は、通常DISK 0がそれなので、以下その前提で。
  3. "select disk 0"で初期化したいディスクを選択する
  4. ”clean"で初期化を実施する。確認など全くされないので、最大限事前確認を行うこと
  5. "exit"でdiskpartを終了する

これで、パーティションMBRを含め完全に初期化されて、ディスク署名も0の羅列になります。"clean"の部分は"clean all"でも良いが、かなり時間がかかるらしいし、無理にそこまでやる必要もありません。

 この状態でSSDを再度取り付けてそちらから起動し、Windowsのディスク管理からパーティションを切ってやれば、問題無く使えるはずです。私の場合は、完全にデータ用と言う事で、ブート可能な基本パーティションを作りたくなかったので、パーティションも含めてdiskpartで切り直しましたが、まあそこまでやる必要もないでしょう。

【やり方3:SSDクローン作製後、HDDのディスク署名のみ変更する】

 HDDはデータ領域とするけど、とりあえず以前のデータも見たいので、当面はHDDを初期化したくない、という場合は、たぶんHDDのディスク署名だけを書き換えればいいんじゃないかと思います。ただし、これは私は検証してませんので、うまくいかないかも。

 ディスク署名の変更方法はその5に書いてありますので、そちらを参照してください。ただ、その作業はSSDを外した状態で行わないとまずいので、やり方2と同様、Windowsの回復ドライブなどを使って立ち上げた環境で行ってください。

 署名を書き換えたHDDは、参照用としては問題ないと思いますが、そのままでは昔のようにHDDから起動することはできない…はずです。どうしてもそのHDDから再びWindowsを起動したい場合については、下記参照。

【おまけ:ディスク署名が書き換わってWindowsが立ち上がらない場合】

 この手の作業中に、SSDとHDDをつないでガチャガチャやってると、何かの拍子にSSDのディスク署名を書き換えてしまったなどの理由で、SSDからWindowsを起動できなくなる場合がままあります。また、上述の署名を書き換えたHDDの復旧処理も、原理上は同じ事になると思います。

 困ったことにこの場合、私の経験上ではほとんど、Windowsの回復ドライブのスタートアップ修復では復旧できません。

 このような場合の対応ですが、あくまで私の経験上ですが、半自動で行われるスタートアップ修復ではなく、コマンドラインから手動でコマンドを打って修復することで、起動できるようになる場合がかなりあります。その手順は以下の通り。

  1. いったんコマンドラインに下りる。これは、高度な修復だか何だかのメニューから行けます
  2. コマンドラインから、"bootrec /rebuildbcd"コマンドを打つ。すると、何やら探しているようなメッセージが出て、確認後、Windowsの起動を修復してくれます

私の作業の場合、大体これで修復できましたが、どんなケースでもできるかどうかは分かりませんので、あくまで自己責任でお願いします。