/home が残り少なくなってきた。1.8GB を使い切りかけている。これに対し、/ パーティションは 800MB の領域を 1割程度しか使っていない。
HDD を買い足す前にやることがあるでしょーということで、パーティションを動かすことにする。意外に梃摺った。
- その1: / を /dev/sda6 から /dev/sda10へ
- fdisk で /dev/sda10 の type を 83 に。
- mkfs.ext3 -m 1 /dev/sda10
- 内容のコピー cp -ax /dev/sda6 /dev/sda10
- /etc/fstab の書き換え / のデバイスを /dev/sda6 から /dev/sda10 へ
- grub の書き換え /etc/grub/menu.lst の該当部分を書き換え。
- hd(0,5) から hd(0,9)へ
- カーネルのオプションを root=/dev/sda6 から /dev/sda10 へ。
- はまり1: GRUB のインストール先
- root が /dev/sda10 になったからと言って、GRUB のインストール先まで /dev/sda10 にする必要はない。MBR に書き込むなら、/dev/sda を指定するのが正解。
grub-install --root-directory=(マウント先) /dev/sda
- はまり2: udev とデバイスファイル
- udev を導入すると、/dev/ は udev の管理するtmpfs になってしまうので、 cp -ax では /dev/ 以下のデバイスファイルがまったくコピーされないことになる。
- しかし、
- カーネルが init の起動前に /dev/console を、
- /etc/init.d/ 内のシェルスクリプトが、udev の起動よりも前に /dev/nullを
- 使うことが判明。これらは、/dev/ がマウントされた後は無駄になることを承知の上で / パーティションに作成しておく必要がある。
mknod (マウント先)/dev/null c 1 3 mknod (マウント先)/dev/console c 5 1
- その2: 空いた /dev/sda6 を使って RAID0 を構成
/dev/sdb8(別ドライブでシリンダ番号同じ)を作成して、組み合わせてRAID0にする。
- fdisk で /dev/sdb8 を作成。type を fdに。
- /dev/sda6 の type を fdisk で fd に。
- 使用中のドライブのパーティションテーブルを書き換えるので、リブートが必要。
- mdadm で /dev/md2 を作成する。md0 と md1 は既にあるので。
mknod /dev/md2 b 9 2chgrp disk /dev/md2chmod 660 /dev/md2mdadm --create /dev/md2 -l 0 -n 2 /dev/sda6 /dev/sdb8mkfs.ext3 -m 1 /dev/md2
- /etc/mdadm/mdadm.conf には ARRAY /dev/md2 の行は書いていないのだが、起動時に自動的に認識してくれる。DEVICE partitions が効いているのだろう。
これで wine の Cドライブを移動して、/home パーティションが少し空いた。
最近のコメント