int15デバイス以外にgrubをインストールする

Linuxのブートローダといえば昔は LILOだったが今は grubである。私は遅くまで LILOで頑張っていた方なのだが、64bitアーキテクチャへの移行を機に grubへ移行せざるを得なかった。
ブートローダというものは普通、OSのインストーラがよろしくやってくれるため自分でインストールする必要はない。
が、インストーラを使わずに Linux環境をセットアップするのがスタンダードになってしまった我が社では grubも自分でインストールするのである。
grubのインストール方法を普通に調べると、BIOSが認識しているディスクドライブ(つまりint15デバイス)へインストールする方法が紹介されているのが一般的である。ブートするためのディスクにインストールするのだから当然なのだが、写真のような起動デバイスを用いる場合は既に Linuxが稼働しているマシンを使って USBのカードリーダーなどを経由してブートローダーをインストール出来た方が簡単だ。
(今更ながら繰り返し断っておくと、あくまでインストーラを使わずに Linux環境を構築する場合の話である。主に Gentooが該当する)
BIOSによって認識されていないディスク、つまり USBなどで接続された記憶装置(のMBR)へ grubをインストールする方法は下記のとおり。
/dev/sdaが対象デバイスだとしたら、fdiskでパーティションを作って ext2でフォーマットし /dev/sda1 とする。
てきとうな場所に boot という名前のディレクトリを作成してこの /dev/sda1をそこへマウントし、grub-installコマンドを実行することで grubとその構成ファイルがインストールされる。
mount /dev/sda1 /mnt/boot
grub-install --no-floppy --root-directory=/mnt /dev/sda
後はこのパーティションにカーネルやらinitramfsやらをコピーする。
さらに、grubにメニューを表示させる場合は /mnt/boot/grub/menu.lstを作成すること。

0 件のコメント:
コメントを投稿
<< ホーム