2006/08/18(金)Windowsのお引っ越し

PC::Tips

HDD2基で運用(20GB+46GB)していましたが、46GBの方のHDDがやかましいため、120GBのHDDにシステムを入れ替え、HDD1基で運用することにします。
#最近システムが不安定な原因が電源不足であることを疑っているため、消費電力を減らす目的もあります

その際に問題になるのが現在の環境を維持したまま新しいHDDにどのように環境を移すかという点です。
Windowsを新規にインストールし、その新しいWindowsに古いドライブの全てのファイルを上書きコピーするという方法が一般的にとられているようですが、今回は過去に検討した方法であるddによるコピーをまず試してみることにしました。

HDDのミラーリング

旧ドライブの内容全てを新ドライブに移すことが目的です。

手順

  1. 旧HDD:Primary/Master, 新ドライブ:Primary:Slaveとして接続
  2. KNOPPIXで起動
  3. コンソールを立ち上げ以下のように入力
    knoppix@~#su -
    root@~$dd if=/dev/hda of=/dev/hdb bs=10M*1
    
  4. ゲームでもしながら数時間待つ
  5. 作業が終了したら旧HDDを外し、新HDDをPrimary/Masterとする

これでHDDの中身がWindowsごと新HDDに引っ越すことができました。

*1 : ここでhda:旧ドライブ、hdb:新ドライブです。これを間違えると切ないこと(ローレベルフォーマットされたHDDが2つできる)になります

最後に

ddによるHDDのミラーリングを行った場合、心配なのがHDDの容量、型番などが異なる場合、シリンダ数なども異なる為、MBRに記録されているパーティション情報が狂ってしまうのではないかという懸念がありましたが、問題なく利用できるようです。
この方法を用いるメリットとして

  • FAT32フォーマットだろうがNTFSフォーマットだろうが、ext3フォーマットだろうが、全てのHDDのパーティション情報、データを全て新しいHDDに移動することができます
  • KNOPPIXなどの多くのLinuxディストリビューションにはddを持っており、高価なドライブツールを購入する必要がない

が挙げられます。一方、デメリットとしては

  • Linuxに関してのそれなりの知識が必要*2
  • パーティションを拡張したりすることができない
    NTFSはできませんが、partedで拡張できます

が挙げられます。

今回の方法ではddなどの危険なコマンドを使用しますので、ddの使用方法を良く理解した上で利用するようにして下さい。
また、この記事によりデータを飛ばしてしまった場合でも責任は取れません。自己責任でお願いします。

*2 : 特にddコマンドでifとofで指定するデバイスファイルを間違えてしまうとそれだけで大惨事になります