酒井です。 私がよく使っている方法は、ライブCDのシステムを使って作業する方法です。 Inside Security Rescue Toolkit(以下Inside)を使います。最新バージョンは、 1.3.9bです。 まず、古いHDDをPrimaryMaster(hda)とします。新しいHDDは、何でも良いのです が、私の場合はUSB2<=>ATAブリッジを使うことが多いので、sdaとします。 Insideを立ち上げメニューから、スーパーユーザーモードのターミナルを上げま す。 1.fdiskコマンドを使って古いHDDのパーティションテーブルを確認 このとき表示単位は、シリンダ単位ではなくセクタ単位で表示させる #fdisk -u -l /dev/hda このとき、それぞれのパーティションに割り振られているセクタ数を 計算しておく。単純に、[終了セクタ番号]−[開始セクタ番号] hdaのパーティション構成 63 1000 2000 5000 (セクタ番号) |hda1| hda2 | hda3 | hda1:1000-63=937セクタ hda2:2000-1000=1000セクタ hda3:5000-2000=3000セクタ 2.新しいディスクにfdiskで、1で調べたセクタ数のパーティションを作成 する。もし、パーティションを拡張したい場合は、各パーティションの間 に後で拡張できるように拡張したいパーティションの後ろのパーティショ ンの開始セクタ番号をずらしておく。 sdaのパーティション構成 63 1000 2000 3000 6000 9000 15000(セクタ番号) |sda1|ギャップ| sda2 |ギャップ| sda3 |未使用領域| 3.2で作成したパーティションのブートフラグやパーティションタイプを1 で調べた状態にします 4.ddコマンドを使って、古いHDDから新しいHDDへデータをコピーします。 #dd if=/dev/hda1 of=/dev/sda1 bs=1M 第1パーティションのコピー #dd if=/dev/hda2 of=/dev/sda2 bs=1M 第2パーティションのコピー #dd if=/dev/hda3 of=/dev/sda3 bs=1M 第3パーティションのコピー #dd if=/dev/hda of=/dev/hda bs=446 count=1 MBRのコピー 正常にコピーができたかどうか心配であれば、 #md5sum /dev/hda1 /dev/sda1 などとして比較すればOK 5.新旧ディスクを交換し、正常に起動するかどうかを確認 単にHDDを交換するならば、ここまででOK パーティションサイズを変更するならば、 6.もう一度Insideを起動する 7.メニューからgpartedを起動し、hdaを選択する。拡張したいパーティショ ンを選択し、Resizeで拡張する。 以上で、ディスクの引越しは完了です。 ちなみに、パーティションのサイズ変更を伴わないディスク障害の予防的なディ スク交換であれば、OSは問わないのでWindowsであろうが、FreeBSDであろうがOK Windowsの場合は、gpartedがリサイズにも対応しているので、それなりに使えま す。 Inside Security Rescue Toolkit http://www.inside-security.de/insert_en.html -- 酒井久伸 <glc@xxxxxxxxxxxxxxxxxxxxx>