Linuxを起動する際に欠かせない「ブートローダ」は、OSの起動プロセスを管理する重要な役割を持っています。しかし、初心者にとってはその仕組みが分かりにくく、設定を誤るとシステムが正常に起動しなくなることもあります。本記事では、Linuxのブートローダについて詳しく解説し、その種類や動作の仕組み、設定方法について分かりやすく説明します。特に、GRUB(GNU GRUB)を中心に設定ファイルの編集方法やトラブルシューティングについても紹介します。
ブートローダ(Boot Loader)とは、コンピュータの電源を入れた際に最初に実行されるプログラムのことです。具体的には、OSをメモリにロードし、起動させる役割を担っています。
Linuxでは、主に以下のブートローダが使用されています。
現在のLinuxディストリビューションで最も広く使われているブートローダ。
GRUBが普及する前に使われていたブートローダ。
lilo
コマンドで再インストールが必要軽量なブートローダで、USBメモリやPXEブート環境などに使用される。
UEFI環境向けのブートローダで、systemdの一部として開発された。
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メニューのエントリを変更したい場合は /etc/grub.d/
ディレクトリ内のスクリプトを編集するか、/boot/grub/grub.cfg
を直接修正します(推奨されない)。
GRUBの設定を間違えると、Linuxが起動しなくなることがあります。その場合、以下の方法で修復できます。
エラーメッセージ grub rescue>
が表示された場合:
set root=(hd0,1)
set prefix=(hd0,1)/boot/grub
insmod normal
normal
これでGRUBメニューが復活する場合があります。
sudo mount /dev/sdX1 /mnt
sudo grub-install --root-directory=/mnt /dev/sdX
sudo update-grub
Linuxのブートローダは、OSの起動に欠かせない重要なソフトウェアです。特にGRUB 2は多機能で柔軟な設定が可能ですが、設定ミスによるトラブルも起こりやすいです。本記事では、ブートローダの基本から、代表的な種類、GRUB 2の設定方法やトラブルシューティングまで詳しく解説しました。Linuxをより深く理解し、安定した環境を構築するために、ブートローダの仕組みをしっかり把握しておきましょう。