玄箱HDDを2.5インチに交換する(システムコピー編)
現在の玄箱には320GBの3.5インチHDDが入っておりNASとして、Webサーバとして頑張っている。OSはDebian-Sarge君。まずはこれを新HDDにコピーしなければならない。まず用意したのはいらない2.5HDDとジャンクの変換アダプタ。![]()
変換アダプタはその辺の2.5インチHDD用ケースの中から拾った。便利。なぜか4枚ぐらい持っている。これをDebian@玄箱に接続。
これであっけなく/dev/sdaとしてHDD認識完了。
あとはどうコピーするかだ。方法は3つあると思っている。
- ddコマンドでパーティションをコピー
- dump/restoreコマンドでコピー
- 市販ツールでパーティションコピー
3番は面白くないので却下。
不安なのは玄箱の場合MBRの概念があるのかどうかが分からない。きっと確実なのはddなのだろうが、どうせいらないHDDなので1番と2番の両方を試すことにした。
1.ddコマンドでパーティションコピーする
ddコマンドでコピーするときに気をつけることはパーティションサイズを全く同じにする必要がある。まずは既存の3.5インチのパーティションを確認する。玄箱のパーティション切りはcfdiskコマンドを利用する。
cfdisk 2.12p
Disk Drive: /dev/hda
Size: 320072933376 bytes, 320.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 38913Name Flags Part Type FS Type [Label] Size (MB)
------------------------------------------------------------------------------
hda1 Boot Primary Linux ext3 2097.45
hda2 Primary Linux swap / Solaris 139.83
hda3 Primary Linux ext3 317833.05
これをみると/dev/hda1がシステムで2097.45MB利用しているのが分かる。よって追加したHDDにも同じ容量のパーティションを作成する。
sda1は2100MB、sda2は140MBと指定すればOK。sda3は残り容量いっぱいで。
cfdisk 2.12p
Disk Drive: /dev/sda
Size: 120034123776 bytes, 120.0 GB
Heads: 255 Sectors per Track: 63 Cylinders: 14593Name Flags Part Type FS Type [Label] Size (MB)
------------------------------------------------------------------------------
sda1 Boot Primary Linux 2097.45
sda2 Primary Linux swap / Solaris 139.83
sda3 Primary Linux 117794.24
/dev/sda1をext3でフォーマットする。
# mkfs -t ext3 /dev/sda1
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
256512 inodes, 512064 blocks
25603 blocks (5.00%) reserved for the super user
First data block=0
16 block groups
32768 blocks per group, 32768 fragments per group
16032 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
同様に/dev/sda3もext3でフォーマットしておく。
ここでddコマンドで/dev/hda1をまるごと/dev/sda1にコピーする。
# dd if=/dev/hda1 of=/dev/sda1
4096512+0 records in
4096512+0 records out
2097414144 bytes transferred in 870.259588 seconds (2410102 bytes/sec)
結構時間かかった。
でこのコピーHDDで起動できるかというと・・・・OK!
ddコマンドはOKです。
2.dump/restoreコマンドでコピーした場合
玄箱君にシングルモードで入るすべ(たとえばシリアルコンソール)を持っていないでdumpコピーが次の有力案。
ext3のパーティションを用意するまでは同じなので省略。ddと違ってパーティションサイズは厳密に同じである必要はない。
最後に実行するのがddではなくてdumpコマンドと言うことだけ。できあがった/dev/sda1を/mntにマウントしてコピーしまくる。
# mount /dev/sda1 /mnt
# cd /mnt
# dump 0uaf - / | restore xf -
んー、あっさり終了。ファイルをコピーしただけで大丈夫なんだろうか?
このコピーHDDでの起動もあっさり成功。玄箱にはMBRって概念はないのだろう。なんか拍子抜けだなぁ。
| 固定リンク

コメント
こんにちわ。HDD換装の参考にさせて頂いています。
ちょっと質問ですが、パーティション領域のフォーマットは不要なのでしょうか?
投稿: もみすけ | 2009年1月 5日 (月) 21時52分
申し訳ないです。訂正です。
×:パーティション領域
○:スワップ領域
投稿: もみすけ | 2009年1月 5日 (月) 22時01分
もみすけさん
スワップ領域は作る必要があります。いま見返ししたら入っていないですね。すみません。
ご存知だと思いますがHD換装後、最後でいいので
mkswap /dev/hda2(上の例だと)
を実施して再起動(もしくはswaponコマンドか/etc/init.d/mountall.shを使って)してください
投稿: けろろ(管理人) | 2009年1月 7日 (水) 21時26分
わざわざご丁寧にありがとうございます。
早速試してみたいと思います。
ありがとうございました。
投稿: もみすけ | 2009年1月 9日 (金) 00時24分