Linux で HDD の引越しをする

[戻る]

はじめに

我が家のサーバですが, 以前 の物が使えなくなりました. そこで, D945GSEJT を使って新しいサーバを組み立てることにしました. 電源は秋月の 12V60W の AC アダプタを使いました. 3.5inch SATA 1T の HDD を付けて消費電力はワットチェッカ読みで 16W です. すばらしい (ちなみに hdparam で HDD を止めると 10W まで下がります).

さて, この PC に何を入れるかです. 流行の ubuntu とか 定番の debian とかも 考えましたが, 今更新しいのを覚えるのも面倒なので, 昔から使っている Plamo の 4.03 を使うことにしました. 問題は Plamo 4.03 が出た当時は SATA が一般的でなかったため, インストール CD 経由で SATA の HDD にインストールしようとしても 途中で止まります. 原因はインストール CD 内のカーネルが SATA に対応してないためです. また仮に無事入ったとしても, これとか, これ, これなどの設定や emacstgif などの主要ツールのインストールと設定, 一人前に仕立て上げようとすると結構面倒です.

幸い今回は 以前 の物に入っていた IDE の HDD が生きており, かつ RAMDISK を作るためカーネルコンパイルを行った際, こうなることを予想して SATA が動くカーネルにしていました. という訳で運がよければ, HDD を丸ごとコピーして, LILO を書き込み, 適当に微調整すれば引越し完了するかもしれません.

結論を言うとその通りだったのですが, その際得た Tips を記しておきます.

HDD のコピー

用意する/したもの

  1. Linux が起動する環境 (例えば Knoppix とか)
  2. 1. で新旧二台の HDD を同時に繋げる手段 (私は SATA はPC 本体に繋ぎ, IDE は USB 経由でつなげました).

手順 (新ディスクは /dev/sdb, 旧ディスクは /dev/sdc に繋がっているとします).

  1. 新ディスクを旧ディスクと同じ構成でパーティションを切る (fdisk /dev/sdb). ちなみに私は昔から, こんな感じで切ってます (容量はディスクに応じてですが).
    1p110G/
    2p21Gswap
    3p320G/var
    4p4
    5120G/usr
    6800G/home
  2. フォーマットする
    # mkfs.ext3 /dev/sdb1
    # mkfs.ext3 /dev/sdb3
    # mkfs.ext3 /dev/sdb5
    # mkfs.ext3 /dev/sdb6
    # mkswap /dev/sdc3
  3. コピーの前準備
    # mkdir /mnt/new /mnt/old
  4. コピー (以下のフレーズで sdb1/sdc1 とかかれた部分を 2,3,5,6 でも行う)
    # mount /dev/sdb1 /mnt/new
    # mount /dev/sdc1 /mnt/old
    # cd /mnt/old
    # tar cvfp - `ls -A` | (cd /mnt/new; tar xfp -)
    # cd /
    # umount /mnt/new /mnt/old
  5. lilo.cross の作成
    # mount /dev/sdb1 /mnt/new
    # cd /mnt/new/etc
    # cp lilo.conf lilo.cross
    # vi lilo.cross
    以下の二点を書き換える (ここ参照).
  6. 以下のコマンドを実行
    # lilo -r /mnt/new -C /etc/lilo.cross
  7. fstab の編集 (hda を sda にする)
    # vi /mnt/new/etc/fstab
  8. rc.d 配下の諸ファイル等を微調整
といった感じでしょうか.

後は繋ぎ変えて動けばラッキーです. 動いたなら

  1. カーネルを再調整する
  2. 作ったカーネルが動くように lilo.conf を書き換え lilo をする
  3. 上記 8. の微調整が不十分だったら調整しなおす
といったことをすればいいと思います.

その他

D945GSEJT のオンボード LAN を動かすためには Realtekから RT8168用の ドライバをダウンロードしてインストールする必要がありました.


2009.9