2004年09月13日

GRUBのBOOT CDを作ろう

Linuxをインストールしていたのですが、インストーラーがBIOSからブートデバイスとして認識してくれないディスクにGRUBを入れちゃって起動出来無い状態に(笑)

入れ直すのは面倒なのでKnoppixで起動させようと思ったら、構成の問題かペンギンが出てきた段階でフリーズ(苦笑)

OS自体はちゃんと入って居るはずなので「GRUBだけあれば良い」ということでGRUB CDを作ることにしました。
(なお、フロッピーがあれば簡単なんですが、FDDを付けてないのと生メディアを切らしていたダブルパンチの為、ここでは一切フロッピーを使わない方法で行きます)

で、こういうものは大抵ISOの状態でネットにあるものだからと検索をかけたところ、見つからない_| ̄|○

昔はMomongaのサイトにあったらしいのですが少なくても今は無くなってしまっている為、しょうがなく自作することとしました。

で、作り方のレシピをネットで探したところ、どうも汎用的に自動で作れるのが無いので

を参考に手順を作ってみました。

それで、手順ですが、まず最新版のGRUBを本家FTPサイト(ftp://alpha.gnu.org/gnu/grub/)から落としてコンパイル→インストールします。
(以下、grub-0.95をrootでインストールする場合の例)

lftpget ftp://alpha.gnu.org/gnu/grub/grub-0.95.tar.gz
tar zxvf grub-0.95.tar.gz
cd grub-0.95
./configure
./make
./make install
(他のサイトでは/boot/grub/以下のファイルを使ってますが、RedHat9とかでこれを使うとstage2の中身にいろいろと余計な情報が入っているため、他のマシンで使うと動かないことが多いのでわざわざ純粋なものを入れています)

次に下のコマンド一式を実行してください。

mkdir -p /tmp/mkgrub/iso
cd /tmp/mkgrub/
dd if=/dev/zero of=1440 bs=1k count=1440
cat /usr/local/share/grub/i386-pc/stage1 /usr/local/share/grub/i386-pc/stage2 > grubimg
cat grubimg 1440 > joinimg
dd if=joinimg of=iso/boot.img bs=1k count=1440
mkisofs -b boot.img -o /tmp/grub.iso iso/
cd /tmp
rm -r mkgrub
最後の削除が完了すると/tmpの下に「grub.iso」と言うisoファイルが出来るので、後はWindowsにCD-Rライターがついている人なら辺りを使ってCDに焼き付けてください( ̄▽ ̄)ノ

このページ見に来る人の中には作るのが面倒だとか、そもそも自由に出来るLinux環境が無い人もいるかもしれないので、今回作成したISOをついでにアップロードしておきます。

grub-0.95.iso.bz2
SHA-1: grub-0.95.iso.bz2 A738B6F6499636EC2FB91AA647CE734BD0C7F3B8 58,267

※うまく動かなくても、使って環境壊しても使った方の自己責任と言うことでお願いします(^^;

Posted by Takuchan at 2004年09月13日 00:12 | トラックバック(0)

うまく動きました。ありがとうございました。

Posted by: dave at 2004年10月15日 23:42

カーネル再構築したら起動しなくなって、FDDがないので、どうやって起動しようか困ってましたが、助かりました。感謝!

Posted by: K.I at 2004年11月16日 21:16

頂きました!

Posted by: guest at 2008年02月05日 16:22

頂きました,ありがとうございます.便利ですね.

Posted by: at 2008年04月30日 12:09

おお、これはありがたや。

Posted by: ディチスット at 2008年10月14日 09:37

命拾いしました。

Posted by: at 2009年05月24日 13:40

FDDが無いのでどうしようかと思っていました。
使わせていただきます。

Posted by: nota at 2009年10月15日 19:55