道端の鳩

突然の鳩のフン

Windows Server2012R2のOS起動ディスクを、ddrescueを使ってHDDからSSDへ移行した

 何度か試行錯誤したんだけど、結論から言うと、

 

Ubuntu14.04をUSBブートする

ddrescueをインストールする(まあすでに入れてるんだが)

移行元HDDのOSパーティションを移行先SSDの容量より小さくしておく(fdiskで調整してもいいだろうけど僕はGPartedを用いた)

(移行元HDDを/dev/sdc、移行先SSDを/dev/sdaとする。間違えると死ぬ)

ddrescue -f /dev/sdc /dev/sda

HDDのほうが容量が大きかったので、SSDへの書き込みがオーバーした時点でddrescueは終了する

sudo fdisk /dev/sda でSSDを対話モードで操作する

パーティションテーブルに無駄なパーティション情報があったので削除する

 

 一度シャットダウンし、ブート時にBIOSのブートメニューから移行先SSDを指定する。うちの場合だとF12でブートメニューに入れたがこれはマザーに依るだろう。これでうちは正常に起動したので、OSパーティションの後ろの余った部分を「ディスクの管理」から調整して終了、という感じだった。

 なぜ試行錯誤していたかというと、ddrescueでパーティションを指定すべきかディスクまるごとを指定すべきか、それを移行元と移行先でそれぞれ考えて失敗していたので。

 結論としてはHDDの頭にあるMBRSSDに移さないと(多分)いけなかったので、いずれもパーティションのみでのコピーでは起動しなかった。なので、ddrescueは上記のようなコマンドになるわけである。

 HDDが2.5TBSSD128GBだからまあ初めはそのままディスク指定してコピーってのはためらうわけである。だってどう考えてもオーバーフローするからね。まあ結果的にはオーバーフローしようがddrescue君がなんとかしてくれたので良かったが。予めSSDの境界になるだろうところに空き領域をつくっていたのも良かったのかもしれない。

 

HDD(2.5TB) /dev/sdc

[ |---OS(sdc1)---|-------空---------|-------その他パーティション-----| ]

 

 ↓  ddrescue -f /dev/sdc /dev/sda

 

SSD(128GB) /dev/sda

[ |---------移行先---------| ]

 

概略図だとこう。

 もっとスマートな手順(ベアメタル回復)とかあったとは思うんだけど、セットアップディスクがどっかいっちゃってて探すのめんどくさかったのでね;; とりあえず動いているのでよしとしよう。やはりSSDは早い。ちなみにPCのその他の構成は基本的にSandy世代だ。i5 2500KにRAM16GBなのだがまだまだいけそうである。だけど偶然にも友人たちからH87のマザーと650Wの電源をもらってしまった僕は…(次回に続く?