いずれにせよ menu.lst は 考慮されていません。そこで それを認識させる 方法で 対応しないと いけないようです。順番に見てゆきます。
個猫は linux で 処理するので まず フロッピディスクを フォーマットし ファイル システムを 作成します。
フォーマット
# fdformat /dev/fd0u1440 Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB. Formatting ... 53 Formatting ... done Verifying ... 22 Verifying ... done
ファイル システム を作成します。
# mke2fs /dev/fd0 -L "/dev/hda7 boot" mke2fs 1.34 (25-Jul-2003) Filesystem label=/dev/hda7 boot OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 184 inodes, 1440 blocks 72 blocks (5.00%) reserved for the super user First data block=1 1 block group 8192 blocks per group, 8192 fragments per group 184 inodes per group Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
ここまでは 問題は 無いでしょう
フロッピー に ディレクトリを 作成 stage1 stage2 menu.lst を コピー
これも 問題とは ならないと 思うのですが
# mount /dev/fd0 /mnt/ # rmdir /mnt/lost+found/ # mkdir /mnt/lost+found/ # mkdir -p /mnt/boot/grub # cp /boot/grub/stage* /mnt/boot/grub/ # mv menu.lst /mnt/boot/grub/ # ls -l /mnt/boot/grub/ | sed 1d ; df | sed 2,3d -rwxr-xr-x 1 root root 1625 Jun 24 21:02 menu.lst* -rw-r--r-- 1 root root 512 Jun 24 21:00 stage1 -rw-r--r-- 1 root root 111584 Jun 24 21:00 stage2 Filesystem 1k-blocks Used Available Use% Mounted on /dev/fd0 1412 117 1223 9% /mnt
さて 問題の menu.lst を 認識させないと いけません。探しましょう
# grub Probing devices to guess BIOS drives. This may take a long time. GRUB version 0.93 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename.] grub> find /boot/grub/menu.lst /* 何処に menu.lst は有るのでしょう? */ (fd0) (hd0,9) (hd0,10) grub> find /etc/grub.conf /* ついで といえば 語弊が 有るのですが */ (hd0,6) (hd0,9) (hd0,10) (hd0,11) grub> quit
menu.lst は フロッピー ディスクに 存在しています また /dev/hda10 と /dev/hda11 にも 存在しているようです。
# mkdir directory # mount /dev/hda10 directory/ # cat directory/boot/grub/menu.lst | sed -e '/^#/d' default=0 timeout=10 splashimage=(hd0,9)/boot/grub/splash.xpm.gz title Red Hat Linux (2.4.20-6) root (hd0,9) kernel /boot/vmlinuz-2.4.20-6 ro root=LABEL=/123 initrd /boot/initrd-2.4.20-6.img title DOS rootnoverify (hd0,1) chainloader +1 # umount directory/ # mount /dev/hda11 directory/ # cat directory/boot/grub/menu.lst | sed -e '/^#/d' default=0 timeout=5 title Vine Linux (Current kernel) root (hd0,10) kernel /boot/vmlinuz ro root=LABEL=/1 resume2=swap:/dev/sda2 vga=0x314 initrd /boot/initrd.img title Vine Linux (Previous kernel) root (hd0,10) kernel /boot/vmlinuz.old ro root=LABEL=/1 resume2=swap:/dev/sda2 vga=0x314 initrd /boot/initrd.old.img title Other rootnoverify (hd0,0) chainloader +1 # umount directory/ # rmdir directory/
なんだ なんだ??? といわれると 不味いので 個猫の ディスクは このよ うに なっているので 上記の結果が 出てくるのです。
# fdisk -l Disk /dev/hda: 255 heads, 63 sectors, 10011 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 123 987966 6 FAT16 /dev/hda2 124 370 1984027+ 83 Linux /dev/hda3 371 8524 65497005 5 Extended /dev/hda4 8525 10011 11944327+ 83 Linux /dev/hda5 371 857 3911796 83 Linux /dev/hda6 858 1227 2971993+ 82 Linux swap /dev/hda7 1228 2444 9775521 83 Linux /dev/hda8 2445 3660 9767488+ 83 Linux /dev/hda9 3661 4876 9767488+ 83 Linux /dev/hda10 4877 6092 9767488+ 83 Linux /dev/hda11 6093 7308 9767488+ 83 Linux /dev/hda12 7309 8524 9767488+ 83 Linux
いま 現状は これで フロッピディスクを マウント した状態ですが フロッ ピーディスクを マウントしていない状態で 探しても フロッピ ディスクを 探 しにゆきます。 つまり 接続された ハードディスク は 当然 自分の動作して いる所 と マウントしている パーテション は 考慮 すべきでしょうが マウン トされていない パーテションの ファイルも 読みにゆくという 凄いもののよう です。(少々誤解を招く 表現です そういう場合も 有るよ ということです。)
ファイル menu.lst は grub は探す事は 可能なようです。少し長くなるので 次に 譲ります。
にゃんたろう 拝!
2009年 6月23日 (火) 21:05:19 JST 作成