Linuxコマンド辞典 grub/grub-installコマンド(カーネル)

GRUB1系のブートローダを操作する「grub/grub-install」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

書式

$ grub
$ grub-install [オプション]

GRUBはブートローダの1つです。grubはGRUB1系のコマンドです。最近のディストリビューシ2系へ移行しているのでその場合はコマンドが異なります。

GRUBのブートプロセスは以下の通りです。

  1. 最初のブートローダ(stage1)をロードする。あらかじめMBRへインストールされている必要がある。
  2. 次のブートローダ(stage2)をロードする。メニュー表示やシェルでのコマンド入力ができる
  3. stage2で指定したパーティションのカーネルをロードする

格納されたパーティションのファイルシステムによっては、stage1がstage2を見つけられない場合があります。stage1でサポートするファイルシステムは、GRUBのバージョンによって異なるため注意が必要です。GRUB1系では、/boot/grub/menu.lstに起動するカーネルやオプションを指定します。新しいカーネルをインストールした場合は、menu.lstにカーネルのエントリを追加する必要があります。

grubは実行すると「grub>」というプロンプトを持つシェルが起動します。シェルモードに入るとプロンプトが表示されます。このシェルで覚えておくべきコマンドはそれほど多くはありません。

  • root
  • kernel(GRUB 2系では「linux」)とroot
  • initrd
  • boot

「set root」は起動するカーネルが格納されているパーティションを指定します。「kernel」は起動するカーネルを指定します。「initrd」はinitramfsを指定し、「boot」でシステムをブートします。以下はシステム起動時、grubのシェル画面からカーネルをブートするまでの手順です。

grub> root (hd0,0)                                     #ルートパーティションを指定
grub> kernel /boot/vmlinux-2.6.18-1-686 root=/dev/sda1 #起動するカーネルイメージファイル
grub> initrd /boot/initrd-2.6.18-1-686                 #initramfsのバスも指定する
grub> boot

オプション

–boot-drive=デバイスブートデバイスを指定する(デフォルトは0x0)
–config-file=ファイル名メニューファイルを指定する(デフォルトは/boot/grub/menu.list)
–device-map=ファイル名デバイスマップファイルを指定する
–install-partition=デバイスstage2をインストールするパーティションを指定する(デフォルトは0x2000

GRUBをインストールする

$ grub-install --root-directory=/ ファイル名

実行結果

[rin@centos ~]$ sudo grub-install --root-directory=/ /dev/sda