【Linux】ブートローダ(LILO、GRUBの違い)

Linuxのブートローダ(LILO、GRUB)についてまとめました。

Linuxのブートローダ(LILO、GRUB)

LinuxのデフォルトのブートローダはLILO(LInux LOader)とGRUB(GRand Unified Bootloader)があります。
ブートローダは記憶装置(HDD、SSDなど)内にあるカーネル(OSの本体)をロードし、制御を移します**。
ただし、LILOとGRUBとではロードまでの工程が異なります。

種別 概要
LILO カーネルの位置情報を持ち、その情報からカーネルをロードします。ただし、ファイルシステムを認識できないため、カーネルの位置をSSD/HDDのブロックリスト(物理的な位置情報)で判断します。この物理的な位置情報をブロックリストといいます。そのためLILOは「ブロックリスト参照型」のブートローダといわれます。
GRUB GRand Unified Bootloaderの略で、ファイルシステムを認識できるため、カーネルの位置をファイルパスで指定できる「ファイルシステム認識型」のブートローダーです。

LILOをブートローダとして利用する場合は、/etc/lilo.confに起動の設定を記述しliloコマンドを実行する必要があります(詳細は下記事参照)。

【ConoHa VPS】SSH接続でリモート操作する方法
ConoHa VPSで立てたサーバーをSSH接続でリモート操作する方法についてまとめました。

起動時のカーネルにオプションを指定

カーネルを起動するとき、カーネルには決定できないハードウェアのパラメータをカーネルに渡したい場合に「コマンドラインオプション」あるいは「起動時パラメータ」を使います。

【起動オプションを変更する手順】

  1. 起動時にShiftキーを押し続けると、GRUBメニューが表示される。
  2. 起動したいカーネルにカーソルを合わせてEキーを押す。
  3. kernelで始まる行を選択してEキーを押す。
  4. 起動オプションを設定する。
  5. Returnで戻り、Bキーを押して起動する。
オプション 説明
root=デバイス ルートファイルシステムを指定したデバイスに設定。
console=デバイス コンソールを指定したデバイスに設定。
init=プログラム /sbin/initの代わりに指定したプログラムを起動。
initcall_debug 初期化時の関数呼び出しの情報をカーネルメッセージに出力。主にデバッグ用。
quiet メッセージの出力を抑制
debug ログレベルを10に設定(全てのカーネルメッセージがコンソールに出力される)。主にデバッグ用。
single シングルユーザモードで起動。
text テキストモードで起動。
emergency 緊急モードで起動。
init=プログラム 起動時に実行させるプログラムを指定。例えば、システムが破損し、起動できない場合に「init=/bin/sh」を指定すると、シェル(/bin/sh)を起動できる。
mem=数 メモリーサイズを指定した値に設定。
disable_ipv6=1 IPv6の設定。1だとIPv6が無効化される。
ip=dhcp IPアドレスをDHCPで設定。
nosmp SMPを無効化。
nr_cpus=数 CPUを指定した数だけ使用。
nousb USBを無効化。
1 ランレベル1で起動。rootユーザのみが使用可能となり、ネットワークやNFSなどの設定は自動的には行われない。システムの管理や復旧時に使用することが多い。
3 ランレベル3で起動。一般ユーザーも使用可能で、コンソールからのログインとなる。
5 ランレベル5で起動。一般ユーザーも使用可能で、Xサーバが起動され、gdmなどのディスプレイマネージャが起動する。

関連ページ

【LinuC】試験対策と例題まとめ
LinuCの試験対策と例題(学習サイト)についてまとめました。
LPICの試験対策と例題まとめ
LPICの試験対策と例題(学習サイト)についてまとめました。
【Linux超入門】システムの基礎とよく使うコマンドなど徹底解説
Linuxシステムの基礎とよく使うコマンドなどについて入門者向けに解説します。

コメント