grubのセットアップ

たいていの linux distribution では grub が標準でインストールされています。
grub を MBR にインストールする前にマニュアルに目を通しておくことをおすすめします。

# info grub

info の使い方がわからない場合は h をタイプするとチュートリアルが起動します。
こんなん見ても全然わからん(^_^;) という人は q をタイプするとたちどころに終了する
ことができます。

まず /usr/share/grub/i386-****/ 以下のファイルを /boot/grub/ 以下にコピーします。

# grub-install /dev/hda

linux では最も簡単な方法だと思います。
詳細は (* GRUB manual -> (* Installation::) -> (* Installing GRUB using grub-install::) にあります。
以下のようにもできます。

# grub-install '(hd0)'

hd0 は BIOS から見たドライブ番号です。
また次のようにもできます。

コマンドプロンプトから grub とタイプして grub シェルを起動させます。

grub> root (hd0,6)
 Filesystem type is ext2fs, partition type 0x83

hd0 はBIOSから見て一番目のハードディスクドライブで次の 6 はBIOSから見た七番目の
パーティションです。例えば df -h とタイプして /boot/grub のパーティションが
/dev/hda7 となっていれば BIOS は0から数えるので 6 になります。

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  22 sectors are embedded.
succeeded
 Running "install /grub/stage1 d (hd0) (hd0)1+22 p (hd0,6)/grub/stage2 /grub/grub.conf"... succeeded
Done.

さてあなたは毎回 OS を起動させるためにコマンドを打ち込むのは面倒だと思うでしょう
そこで grub ではメニューを表示させるために menu.lst (注意: l は数字の 1 ではなく L )
と言うファイルが用意されています。これを /boot/grub/ 以下に置きます。ただし redhat など
では grub.conf というファイルへのシンボリックファイルなっているのでこれを編集します。
(* Configuration::)を参考してください。 (例: menu.lst)

ところで redhat 等の一部のディストリビューションではメニューの背景に画像を 張り付ける事ができます。ただしこれは grub にはこの機能はなく redhat が誰かが 作ったパッチを当てた物です。
http://ruslug.rutgers.edu/~mcgrof/grub-images/ <!- broken ->

# grep splashimage /boot/grub/grub.conf
splashimage=(hd0,6)/grub/splash.xpm.gz

この絵は14色の 640x480 xpm で gzip したものです。

$ convert -geometry 640x480 -colors 14 myfile.jpg myfile.xpm
$ gzip myfile.xpm

convert は ImageMagick というソフトウエアに含まれている物のひとつです。
http://www.melt.kyutech.ac.jp/~ueno/HowTo/imagemagick.html <!- broken ->

実際に画像を作ってやってみましたがメニューからOSを選択して起動する事は できますがメニューから c をタイプしてコマンドモード にした場合正常に動作しないなどの不具合がありました。元からある splash.xpm.gz では コマンドモードでも正常に動作します。