SSD化と同時にシステムパーティションとブートパーティションが違うディスクにあるのを直す。

SSD化と同時にシステムパーティションとブートパーティションが違うディスクにあるのを直す。

自宅のサーバ代わりに使っているWindows7のPCですが、以前からOSが入っているHDDをSSD化したいと思っているものの、ずっと躊躇していました。
原因はこれです。

partition01

以前にOSの入れなおしを変則的にやったおかげで、システムパーティションとブートパーティションが別のドライブになっています。

”ディスク0”の網掛けになっている100MBの領域がシステムパーティションで、”ディスク1″のCドライブがOSが入っているブートパーティションです。
このままの状態では、Cドライブがある”ディスク1”のHDDを換装しても、システムパーティションがある”ディスク0”のHDDがクラッシュしたら起動できなくなるという状態になっています。
 ちなみに、Eドライブにはもう何のデータも入っておらず、このHDDはOS起動時にシステムパーティションを読み込むだけのために動いています。なんとまあもったいない・・・。

システムパーティションとブートパーティションについてはこの辺をご参考にどうぞ。

HDDをSSDに換装するのは高速化するだけでなく、老朽更新の意味もあるのですが、別のHDDにシステムパーティションがあることで、そちらのHDDが壊れたらOSが起動しなくなる、というのでは意味がないんですよね。

そう思いつつ、前回の検討から約1年。どちらのHDDも300GB前後の容量と、かなり前のHDDですし、本当にそろそろどうにかしないと突然動かなくなってしまいそうです。
そこで、思い切ってSSD換装と同時に、システムパーティションの引っ越しもやってみることにしました。

購入したのは以下のSSDです。

A-DATA ASP900S3-128GM-C-7MM 2.5″SSD 128GB

決め手はいつものとおり価格とそれなりの人気です。価格.comで評価が入っているものであれば安心かな、という理由ですね。

作業手順としては、

  1. Cドライブがある”ディスク1″の内容をまるごとSSDに複製したのち、HDDとSSDを交換する。
  2. システムパーティションをSSDの中に配置する。

という流れとなります。

まず、1.は前回の記事同様、EaseUS Todo Backup Freeを使います。SSDをUSBで接続したら、TodoBackupをPCにインストールしてHDDの複製を行います。容量にもよりますがうちでは1時間弱で複製が成功しました。
その後動作確認ということで、システムパーティションが含まれている”ディスク0″はそのままの状態で、”ディスク1″と認識されていたHDDをSSDに交換して、起動してみます。
これだけなら”ディスク0″のシステムパーティションから起動 → “ディスク1″のSSDからOS起動という流れのはずです・・・・。

・・・はずなのですが、カーソル点滅状態になり、なぜか起動しなくなりました(涙。
やばい早速OSこわしちゃった?と思ったのですが、まあ、SSDを外して元のHDDに入れ替えればきっと起動するだろうから大丈夫かな、と開き直って、このまま2.の作業に突入する羽目になりました(汗。2.の作業がうまくいけば、システムパーティションが含まれている”ディスク0”は丸ごと不要になりますし、とっとと作業を進めてしまいましょう!

さて、肝心のシステムパーティションの移動ですがこれはパーティション操作ソフト等で移動させるのではなく、OSのインストールディスクを使用します。

参考にしたのは、こちらのブログ記事。
参考1 http://tipstour.net/windows/1545
参考2 http://tipstour.net/windows/4410
この2つの記事に助けられました。

ほとんどこの流れの通りなのですが、うちの環境とは若干違うので、一応うちの環境に合わせた対応内容を説明しますと、

A.Windows7のインストールディスクで起動。
→該当のPCにインストールした時に使ったOSと同じバージョン、エディションのものを使用して下さい。また、32bit版がインストールされているなら32bit版のディスクが必要です。そうじゃないと修復が一切できません。

B.Windows7のインストール開始画面が表示されたら、[次へ]を押す。

C.「今すぐインストール」という画面になったら、画面左下にある「コンピュータを修復する」を押す。

D.次の選択画面では「スタートアップ修復」を押す。

E.「修復できましたので再起動してください」、というような表示になるので再起動をします。しかしここではOS起動せず失敗(汗。
→でも、この自動的にやらせている修復作業が後で必要になってくると思います。

F. A→C まで再度行い、Dの画面になったら今度は「コマンドプロンプト」を押す。ここからは少しだけコマンド操作です。

G. >diskpart と入力した後で、 >list disk と入力。
OSが入っている方のディスクを選択するので、今回はディスク1を選択するため以下のコマンドを入力します。
>select disk 1

H. >list part と入力すると、パーティションが表示されますが、このディスク(SSD)にはパーティションが1つしか無いので、Partition1を選択します。
>select part 1

I. パーティションをアクティブにするため >active と入力。

J. 終了するため、>exit と入力。

K. ブート領域の修復コマンドを2つ入力します。
>bootrec /fixboot
>bootrec /fixmbr
問題なければ、どちらも「操作は正常に終了しました」と表示されるはずです。

L. この後再起動です。しかし「NTLDR is missing」と表示され、まだ起動しません(汗。
でも大丈夫です。この作業も無駄ではないと思います。

M. この後、再度 A→D までやると、前回のEと同じように、「修復できました」と表示されるのですが、先ほどと違い、今度はちゃんと起動します!

以上、手順を書くとかなり面倒そうですが、実際にはOSのインストールディスクで起動してくるのが一番時間かかるぐらいで、全体でも15分ぐらいで終了できる作業だと思います。また、起動に使用するファイルを手動で編集したりする必要もないので、簡単でした。

参考にさせていただいたブログ記事ですと、1台のHDDにシステムパーティションとブートパーティションがあるという一般的な環境で、
そのシステムパーティションが壊れた場合、という修復方法だったのですが、自分の環境のように、そもそもシステムパーティションが存在しないHDDでも修復(というか作成?)ができるのがありがたいですね。

起動できるようになった状態がこちらです。

partition02

ちなみにディスク番号が変化していますが、これはOS上で新しいHDDを認識し直す度に増える?ようですね。
元のHDDと同じSATAコネクタにつないだのですが、数字が変わっていました。

これで起動は相当早くなりましたし、2台の古いHDDを取り外すことができたことで筐体内の温度も下がり、いいコトづくしですね。

※参考にさせていただきました記事は http://tipstour.net/ 様のものです。
ありがとうございました。

EaseUS EaseUS Todo Backup (公式ページ)

※2014.7 一部修正しました。

サーバ・PC・ネットワークカテゴリの最新記事