大坪といいます。ハードディスクを交換しましたので、その手順を報告致します。
間違っている点、より好ましい方法等を御指摘下さい。また種々の質問もあります。
宣しくお願いいたします。
vine 2.6r1 の入った HD (以下 old HD) がいっぱいになりましたので、若干
大き目のHD (以下 new HD) に移し換えました。old HD の partition 構成は、
/dev/hda1 /boot
/dev/hda2 /
/dev/hda3 swap
です。
1) new HD をIDE の primary secondary に接続して、new HD を
old HD と同じ partition 構成にする。
# fdisk /dev/hdb
2) /dev/hdb1 にdestructiveな read-write testを行い、ext3 の
ファイルシステムを作り、/boot のラベルを付す。
# mke2fs -cc -L /boot -j /dev/hdb2
(/etc/fstab が Label=/ 、 Label=/boot 等となっているのは、partition
自身に付された label により、file system の位置を見出すということの
ようです。これにより、old HD と異なる number の partition にコピーした
場合は、/etc/fstab を変えることなく、ラベル引数の指定のみでよい
ようです。なお、e2label のコマンドでも同様の作業ができるようです。)
3) /dev/hdb2 にdestructiveな read-write testを行い、ext3 の
ファイルシステムを作り、/ のラベルを付す。
# mke2fs -cc -L / -j /dev/hdb2
4) /dev/hdb3 に Linux swap area のセットアップ
# mkswap /dev/hdb3
5) 一旦 shutdown して,single mode で入る。
boot: linux single
6) directory 作成
mkdir /mnt/hdb1 /mnt/hdb2
7) mount する
mount -t ext3 /dev/hdb1 /mnt/hdb1
mount -t ext3 /dev/hdb2 /mnt/hdb2
8) currentry directory の変更
cd /mnt/hdb1
9) /dev/hdb1 へデータのコピー
dump 0f - /boot | ( cd /mnt/hdb1 && restore rf - )
(8で currentry directory の変更をしているので、ここで再び
cd /mnt/hdb1 とする必要はないと思いますが、single mode
では、currentry directory が prompt に表示されませんので、
安全をとってここでも cd /mnt/hdb1 とするということでしょうか?)
10) currentry directory の変更
cd /mnt/hdb2
11) /dev/hdb2 へデータのコピー
dump 0f - / | ( cd /mnt/hdb2 && restore rf - )
12) lilo.conf のコピー
cp /mnt/hdb2/ext/lilo.conf /mnt/hdb2/ext/lilo.conf.hdchange
13) lilo.conf.hdchange の書換え
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear
image=/boot/vmlinuz-2.4.19-0vl11
label=linux
read-only
root=/dev/hda2
image=/boot/vmlinuz-2.2.20-0vl10
label=linux-2.2-up
read-only
root=/dev/hda2
を
disk=/dev/hdb bios=0x80
prompt
timeout=50
default=linux
boot=/dev/hdb
map=/mnt/hdb1/map
install=/mnt/hdb1/boot.b
message=/mnt/hdb1/message
linear
image=/mnt/hdb1/vmlinuz-2.4.19-0vl11
label=linux
read-only
root=/dev/hda2
image=/mnt/hdb1/vmlinuz-2.2.20-0vl10
label=linux-2.2-up
read-only
root=/dev/hda2
へ
(new HD の boot directory (/mnt/hdb1) を用いないといけないようです? /mnt/hdb1
内のファイルの在処をアドレス等として MBR 内に記録するのでしょうか?)
(最初、disk=/dev/hdb bios=0x80 なしで、行いましたが、起動時に L の表示のまま
止まってしまいました。disk=/dev/hdb bios=0x80 はどういう意味があるのでしょう?)
14) ファイルを指定してlilo
lilo -C /mnt/hdb2/etc/lilo.conf.cdchange
15) new HD を primary master に繋換えて、起動。
(他の質問) 今回は同じマシンにて HD を交換しましたが、MB が壊れる等により、
old HD 又は これをコピーしたnew HD を新しいマシンに入れる場合もあると
思います。この場合に、どのようになるのでしょうか? 自動的に kudzu により
新しい hard ware を検知してそのドライバを入れて行き、新らしいマシンで
問題なくこのHDは動くのでしょうか ?