LINUX,grub2起動ディスク(失敗),USBgrubメモリ
何気にubuntu10.04LTSを使っていたのだが、11.04を新規にinstallしたところ、grubはgrub2
になって高機能化しているという情報が目に入ってきた。すでに9.10あたりからdefoultは
grub2になっていたらしい。そこで、この際起動ディスクをgrub2にしようと(このPCは起動
ディスク(FD.CD.memory-card)によってのみlinuxが立ち上がるようにしていた)super_grub_disk_
hybrid-1.98s1.isoというgrub4dosのgrub2版を見つけて、FDにRAWwriteし、CDにはiso焼きで
起動ディスクを作成し順調に起動することを確認して、windowsの回復コンソールからfixmbr
を実行した。
memory-cardをいろいろ弄ってみたが、問題は、super_grub_disk_hybrid-1.98s1.isoでは
ア)ldlinux.sys,memdisk,syslinux.cfg,hoge.imgによるimg-bootができない、
イ)Unetbootinを使ってmemory-cardにinstallしたものはメニューから先に進まない。
(memory-cardの中にはsyslinuxのkernelの実行ファイルがない!)
ウ)ubuntuフォーラムの記事にしたがい直接grub2をinstallしたが、no-errorと出るのに
devicemapが表示されず、memory-cardを刺して起動させるとwindowsが立ち上がる。
super_grub_disk_hybrid-1.98s1.isoはレスキューディスクということにして、memory-cardで起動
させるのはgrub2ではなく今までとおりgrub(-legacy)を使うことにした。ところが、現行システム
はgrub2なので、menu.lstを持っていない。memory-card内にmenu.lstを置いてみたが、認識しない。
grub2のgrub.cfgを認識させる方法をググってみたが、見つけられなかった。色々考えてみたが、
grub2のgrubファイルの中にmenu.lstを置けばよいと気がついた。
grubのバージョンアップ時は、手動で更新が必要になるが、大した手間ではない。結果として、メ
モリースティック8MBにgrldr、メモリースティック16MBにgrubを入れ、FDで起動するよりずっと早く
立ち上がるようになった。
このmemory-cardを入れなければ、windowsが立ち上がるので、家人がパソコン
を使うときには、linuxは存在しないのと同様である。
以下に手順を示す(\hoge1にsyslinux-3.54のフォルダがあり、リムーバブルディスク-Lにinstallする場合)
(grub4dos-0.4.4のgrub.exeを使うのが、以前に書いた方法よりずっと簡単でお勧めです)
1. GParted等でmemory-cardの領域削除、(デバイスパーティションテーブルの作成、8〜16MBでは不可?)
2. FATでフォーマット(必要ならパーティション作成)ブート可能としておく。
3. windowsでsyslinux-3.54インストール
3.1 winのコマンドプロンプトから cd /d D:\hoge1\syslinux-3.54\win32 Enter
3.2 syslinux L: Enter
4. grub4dos-0.4.4のgrub.exeまたはgrldrをLにコピペ(grldrはimg-bootになるのでsyslinux-3.54にある
memdiskフォルダのmemdiskファイルとgrub4dos-0.4.3or0.4.2のmenu.lstもコピペ)
4.1 grubの場合は、ldlinux.sys,syslinux.cfg,grub.exeの3つのファイルとなり、
4.2 grldrの場合は、ldlinux.sys,syslinux.cfg,memdisk,grldr,menu.lstの5つのファイルとなる。
5. syslinux.cfgの作成
以下の文を書いたtxtをsyslinux.cfgの名前で保存する。
5.1 grubの場合
default grub.exe
5.2 grldrの場合
label linux
kernel memdisk
append initrd=grldr
6. grldrはmemory-cardをhd0と認識するようで、最初のmenuでlinuxを選択して表示されたgrubのmenu.lst
からbootさせるlinuxkernelを選択し、eと入力してroot (hd0,○)と表示されたらさらにeと入力し root (hd1,○)
と変更してhd番号を1大きくしてからbと入力しなければならないので、あまりメリットはない。以前はこのhd番号を
変更せずともlinuxのmenu.lstを探してくれて、まともに立ち上がったので、installしてみたが、今回はまあ
起動するのを確かめた程度になってしまった。