wiki:GrubCD

GRUB入り起動CDを作る

GRUBだけが入った起動CDを作ります。 講釈はいらないから、イメージだけくれって方は、このページの後半を見てください。 これさえあれば、GRUBのインストールに失敗して起動しなくなっても、なんとか起動させることができます。 ただし、サーバ用途だから、年に一度も使わないCDドライブなんて買うもんか!という漢な人は、起動USBメモリをどうぞ。

さて。

作り方は GRUBのマニュアルに書いてあるから見てください…、では不親切なので、日本語で解説します。

適当なLinuxマシンで作業します。このマシンにはGRUBがインストール済みとします。 CDのISOイメージを作るのにmkisofsコマンドを使うので、これをインストールしておきます。

# apt-get install mkisofs

以後、スーパーユーザである必要はありません。 適当な一時ディレクトリを作って、その中で作業します。ここでは「x」という名前にしました。

$ mkdir x
$ mkdir x/boot
$ mkdir x/boot/grub

GRUBのパッケージの一部として、「stage2_eltorito」ファイルがインストールされているはずなので、探してきてコピーします。 僕のマシンでは、「/usr/lib/grub/i386-pc/stage2_eltorito」にありました。

$ cp /usr/lib/grub/i386-pc/stage2_eltorito x/boot/grub

その他、GRUBの設定ファイル「menu.lst」とか、あるいはその他好きなファイルを一時ディレクトリに入れてもいいです。 なお、「menu.lst」の中で「savedefault」って書いてある行は全て削除してください。 当然ながら、実際の稼働時にCDは書き込み不能なので、エラーで止まってしまいます。

あとは、ISOイメージを生成して、一時ディレクトリを削除します。

$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \
-boot-load-size 4 -boot-info-table -o grub.iso x
$ rm -rf x

\」の部分で改行していますが、改行しなくてもいいです。 その場合には「\」も不要です。 できあがったのは、「grub.iso」というファイルです。 これをCDに書き込んでください。

作っておきました

上記の作業がめんどくさい方のために、ISOイメージを作っておきました。 このリンクからダウンロードしてください。

ウイルスとか悪い物は入っていないはずですが、責任は持てません。 できれば、上記の作業で作成してください。難しくないですから。

心配性な方に

GRUBをちょっと知っている人なら、少し心配になるかもしれません。

stage1はいらないの? stage1.5はいらないの? 

結論は「いりません」。stage2_eltoritoファイルは、CDからブートする(される)機能を持った特別なstage2です。 stage1.5って、各種ファイルシステムの種類ごとに存在しますが、stage2が上がったあとは使いません。 つまり、stage2のファイルを探して読み込むだけの機能しかありません。 menu.lstやOSのファイルなどを探して読み込むのは、stage2の役割であり、stage2はGRUBが対応する全てのファイルシステムの構造を知っているのです。

(2008/1/9 - sgk)