Linuxを起動する際に欠かせない「ブートローダ」は、OSの起動プロセスを管理する重要な役割を持っています。しかし、初心者にとってはその仕組みが分かりにくく、設定を誤るとシステムが正常に起動しなくなることもあります。本記事では、Linuxのブートローダについて詳しく解説し、その種類や動作の仕組み、設定方法について分かりやすく説明します。特に、GRUB(GNU GRUB)を中心に設定ファイルの編集方法やトラブルシューティングについても紹介します。
Linuxのブートローダとは?
ブートローダ(Boot Loader)とは、コンピュータの電源を入れた際に最初に実行されるプログラムのことです。具体的には、OSをメモリにロードし、起動させる役割を担っています。
ブートローダの役割
- OSの選択:マルチブート環境では、起動するOSを選択できる
- カーネルの読み込み:LinuxカーネルをRAMにロードし、初期化する
- カーネルパラメータの設定:カーネルに対してオプションを指定する
ブートローダの動作の流れ
- BIOSまたはUEFIの起動:電源投入後、ハードウェアの初期化が行われる
- ブートローダのロード:ストレージからブートローダが読み込まれる
- カーネルのロード:ブートローダが指定されたカーネルをメモリにロード
- OSの起動:カーネルが起動し、ユーザー環境が立ち上がる
Linuxの代表的なブートローダ
Linuxでは、主に以下のブートローダが使用されています。
1. GRUB(GNU GRUB)
現在のLinuxディストリビューションで最も広く使われているブートローダ。
- 特徴
- GUIベースのメニューを提供
- マルチブート対応(複数のOSをインストール可能)
- 柔軟なカーネルパラメータの設定が可能
- バージョン
- GRUB Legacy(GRUB 0.x)(旧バージョン、現在は非推奨)
- GRUB 2(現在主流のバージョン)
2. LILO(Linux Loader)
GRUBが普及する前に使われていたブートローダ。
- 特徴
- シンプルで動作が軽量
- 設定変更後に
lilo
コマンドで再インストールが必要 - マルチブート機能は限定的
3. SYSLINUX
軽量なブートローダで、USBメモリやPXEブート環境などに使用される。
- 特徴
- FATファイルシステムで動作
- ネットワークブート対応(PXELINUXなど)
- 組み込み向けに適している
4. systemd-boot(旧Gummiboot)
UEFI環境向けのブートローダで、systemdの一部として開発された。
- 特徴
- シンプルな設定ファイル
- GRUBよりも軽量
- UEFI専用
GRUB 2 の基本設定とカスタマイズ方法
GRUB 2 の設定は /etc/default/grub
ファイルで行います。
変更後は update-grub
を実行して適用します。
設定ファイルの編集
sudo nano /etc/default/grub
代表的な設定項目:
GRUB_DEFAULT=0 # デフォルトで起動するOS
GRUB_TIMEOUT=5 # メニュー選択の待機時間(秒)
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" # カーネルオプション
変更を適用するには以下を実行:
sudo update-grub
sudo grub-install /dev/sdX # sdX はブートディスク
GRUB のメニューを編集する
GRUBメニューのエントリを変更したい場合は /etc/grub.d/
ディレクトリ内のスクリプトを編集するか、/boot/grub/grub.cfg
を直接修正します(推奨されない)。
GRUBのトラブルシューティング
GRUBの設定を間違えると、Linuxが起動しなくなることがあります。その場合、以下の方法で修復できます。
1. GRUBレスキューモードの利用
エラーメッセージ grub rescue>
が表示された場合:
set root=(hd0,1)
set prefix=(hd0,1)/boot/grub
insmod normal
normal
これでGRUBメニューが復活する場合があります。
2. Live CD/USB から修復
- LinuxのLive環境を起動
- ターミナルを開き、ブートパーティションをマウント
- GRUBを再インストール
sudo mount /dev/sdX1 /mnt
sudo grub-install --root-directory=/mnt /dev/sdX
sudo update-grub
- 再起動して確認
まとめ
Linuxのブートローダは、OSの起動に欠かせない重要なソフトウェアです。特にGRUB 2は多機能で柔軟な設定が可能ですが、設定ミスによるトラブルも起こりやすいです。本記事では、ブートローダの基本から、代表的な種類、GRUB 2の設定方法やトラブルシューティングまで詳しく解説しました。Linuxをより深く理解し、安定した環境を構築するために、ブートローダの仕組みをしっかり把握しておきましょう。