Puppy LinuxのGrub4Dosインストール時に「要素が欠けています。」のエラー
ネットブックLaVie Light BL300/TにPrecise Puppy 5.7.1日本語版をFrugalインストールした。
既存のOS領域にもインストール出来るらしいが、Gpartedで新たにパーティションを用意。
ファイルのコピーは順調に進んだが、Grub4Dosのインストールでつまづいてしまった。
「Grub4Dosブートローダーの設定」で「PBSも表示」をクリックし、Grub4Dosをインストールする場所をPuppy用のパーティションに指定。
追加オプションの「ブートレコードを書き換えない」をマウスオーバーすると、
すでにあるMBRを変更したくないときにのみチェックしてください。
現在grldrが起動できるようになっていることが前提です。 フロッピーでは無効
というツールチップが表示された。
MBRにはすでにMBM(Multiple Boot Manager)が入っているので、「ブートレコードを書き換えない」にチェック。
個人保存ファイルの設定を終え再起動したが、”Invalid boot record”とエラーになり、起動出来ない。
怪訝に思いながらも「ブートレコードを書き換えない」をチェックせずに、再度Grub4Dosをインストールし直した。
すると今度は
この機能を実行するにはいくつかの要素が欠けています。 :/usr/lib/grub4dos/chain.c32, extlinux/syslinux(version > = 4.0)
と警告。
構わずOKをクリックして進めると、
不明のエラーが生じました。
See /tmp/grub4dosconfig/grub4dosconfig.log
とエラー。
grub4dosconfig.logは下記だった。
/usr/sbin/grub4dosconfig PBS
version 1.9.1
2015年 2月 4日 水曜日 04:09:01 JST
Writing… /initrd/mnt/dev_save/menu.lst
Installing grldr …/usr/lib/grub4dos/grldr' ->
/initrd/mnt/dev_save/grldr’
“Error”とは特に書いていないので再起動してみたが、やはり起動出来ない。
Grub4Dosのエラーについて検索すると、下記のディスカッションが見つかった。
Puppy Linux Discussion Forum :: View topic - slacko 5.6, Grub4Dos doesn’t install
どうやらext4でフォーマットされたパーティションにGrub4Dosをインストールするには、chain.c32およびバージョン4.0以上のextlinuxが必要らしい。
Puppy Linux用のパーティションをext4でフォーマットしていたのが原因だったようだ。
パーティションをext3でフォーマットし直し、再度Puppyをインストール。
Grub4Dosの設定では「ブートレコードを書き換えない」のチェックを入れて試みたが駄目で、チェックを外してGrub4Dosを入れ直して、ようやくハードディスクからPuppy Linuxを起動出来た。
MBM→各PBSのブートレコード→各OSの起動、という形でマルチブートしているので、「ブートレコードを書き換えない」のツールチップの説明が少し分かりにくかった。
インストールに成功した際のgrub4dosconfig.logは下記。
/usr/sbin/grub4dosconfig PBS
version 1.8.9
2015年 2月 4日 水曜日 05:03:13 JST
Writing… /mnt/sda9/menu.lst
Installing grldr …/usr/lib/grub4dos/grldr' ->
/mnt/sda9/grldr’
Installing bootloader on /dev/sda9(PBS)…Filesystem type is EXT2.
Success.
(Grub4DosをPuppy Linux 5.5のUSBメモリーからインストールし直したので、versionは1.8.9。)
“Filesystem type is EXT2.”となっているが、MBMでもext3やext4をext2と認識しているようだし、問題無いのだろう。