HDDを繋ぎかえたとき
うちの学校はPCが少ないので、生徒たちはPCを共有しています。
HDDはグループごとにあたえられ、それを授業のたびに抜いたりさしたりしています。
ということは、毎回毎回ルートファイルシステムの位置が変わるってことです。(/dev/hda1だったのが/dev/hdc1になったり。
で、毎回毎回「起動しないよ〜」ということになります。
解決策は、GRUBで直接ルートファイルシステムの位置を指定して起動、でしょうか。
イワタニエレクトロニクスさんの「GRUBをインタラクティブに使う」を見ると、rootコマンドの補完機能を使えば、どこにルートファイルシステム(カーネルイメージがあるパーティション)があるのか予測できるようです。
シェルからGRUBを使ってみると、
grub> root (hd0,
Possible partitions are:
Partition num: 0, Filesystem type unknown, partition type 0x82
Partition num: 1, Filesystem type is ext2fs, partition type 0x83
Partition num: 2, Filesystem type is ext2fs, partition type 0x83
1行目はswap。1か2ですね。
で、カーネルイメージを探します。
grub> root (hd0,1)
Filesystem type is ext2fs, partition type 0x83grub> kernel /
Possible files are: lost+found sayo el3c
1にはないようです。(/home用のパーティションです
2を試してみます。
grub> root (hd0,2)
Filesystem type is ext2fs, partition type 0x83grub> kernel /
Possible files are: lost+found var home etc media cdrom bin boot dev initrd lib mnt opt proc root sbin srv sys tmp usr initrd.img vmlinuz initrd.img.old vmlinuz.old qemu-0.8.2-i386.tar.gz
今度はありました。「vmlinuz」です。
ということで、カーネルイメージはhd0の2にあります。
hd0ってどこよ?というのは、/boot/grub/device.mapにあります。
$ cat /boot/grub/device.map
(hd0) /dev/hda
ブートできなきゃこれも読めないわけですが、普通はhd0=hda、hd1=hdb...となるようです。
以上から、hd0=hda、2=3番目のパーティション(0から数えるので)ということで、/dev/hda3がルートファイルシステムです。
起動するには
を実行します。
このエントリがお役に立ちましたらクリックお願いします!→[人気blogランキング]