設定 - ブートローダ
ナビゲーションに移動
検索に移動
概要
ブートローダとは、コンピュータの起動時にオペレーティングシステム(OS)を読み込み、実行するためのプログラムである。
Linuxには、いくつかのブートローダが存在しており、それぞれ固有の機能と利点を持っている。
Linuxにおいて、一般的に使用されるブートローダを以下に示す。
これらのブートローダは、それぞれの長所と短所を持っており、システムの要件、ファイルシステム、ファームウェアのタイプ(BIOS/UEFI)等、ユーザの好みに応じて選択される。
現在、最も広く使用されているLinuxブートローダはGRUB2であるが、他のブートローダも特定の用途に適している。
- GRUB (GRand Unified Bootloader)
- GRUB2の前身であり、レガシーバージョンと呼ばれることもある。
- 設定ファイルは、/boot/grub/grub.cfgまたは/boot/grub/menu.lstに存在する。
- GRUB2ほど高機能ではないが、より単純な設定で動作する。
- Tow-Boot
- Chromebookや他のARMベースのデバイス用のオープンソースブートローダである。
- U-Bootをベースとしており、ChromeOSデバイス上でLinuxや他のオペレーティングシステムを起動するために使用される。
- ファームウェアの更新や検証、ブートモードの選択等、幅広い機能を提供する。
- Chromebookユーザの間で人気が高まっており、ChromeOSの代替OSを試す際に重要な役割を果たしている。
- LILO (LInux LOader)
- Linuxの初期のブートローダの1つで、古いシステムではまだ使用されている。
- 設定ファイルは、/etc/liloに存在する。
- カーネルイメージやinitrdを直接読み込むことができる。
- ブートセクタに直接書き込むため、設定変更後は常にブートセクタを更新する必要がある。
- Syslinux
- FAT、ext2、ext3、ext4等のファイルシステムをサポートしている。
- ISOLINUXを使用して、ブート可能なCDやDVDを作成するために広く使用されている。
- PXELINUXを使用して、ネットワーク経由でブートすることもできる。
- systemd-boot (旧名: gummiboot)
- UEFIシステム用の単純なブートマネージャーである。
- 設定ファイルは、/boot/loader/entries/ディレクトリ内の.confファイルである。
- シンプルでミニマルな設計が特徴で、高速な起動が可能である。
- rEFInd
- UEFIシステム用のブートマネージャーであり、グラフィカルなユーザーインターフェースを提供する。
- Linux、MacOS、Windows等の複数のOSを検出して、ブートメニューに自動的に追加する。
- テーマやアイコンのカスタマイズが可能であり、視覚的に魅力的なブート環境を提供する。
GRUB2
GRUB2とは
GRUB2 (GRand Unified Bootloader version 2) は、Linuxシステムで広く使用されているブートローダである。
GRUB2は、Linuxシステムにおいて重要な役割を果たしており、ブートプロセスをカスタマイズや複数のOSを管理するための強力で柔軟なツールである。
GRUB2の主な役割と概念は以下の通りである。
- ブートプロセスの制御
- GRUB2は、BIOS/UEFIにより最初に読み込まれて、OSを起動するためのブートプロセスを制御する。
- ブートメニューの提供
- GRUB2は、インストールされている複数のOSをリストアップしたブートメニューを表示する。
- ユーザは、このメニューからブートするOSを選択できる。
- 設定ファイル
- GRUB2の設定は、主に/etc/default/grubファイルと/etc/grub.d/ディレクトリ内のファイルで定義される。
- これらのファイルは、ブートメニューのエントリ、デフォルトのOS、タイムアウト等を制御する。
- モジュラー設計
- GRUB2は、モジュール式の設計を採用している。
- これにより、必要な機能を動的に読み込むことができ、柔軟性と拡張性が向上する。
- 複数のファイルシステムとOSのサポート
- GRUB2は、ext4、btrfs、NTFS、FAT等、様々なファイルシステムをサポートしている。
- また、Linux、Windows、MacOS等、複数のOSをブートすることができる。
- コマンドラインインターフェース
- GRUB2は、ブートメニューで[C]キーを押下することにより、アクセスできるコマンドラインインターフェースを提供する。
- このインターフェースを使用して、ブートパラメータの編集やカスタムブートエントリの追加等を行うことができる。
- 復旧機能
- GRUB2は、システムが起動しない場合に備えて、復旧モードを提供する。
- これにより、ユーザはシステムを修復するためのオプションにアクセスできる。
GRUB2の復旧
例えば、WindowsのアップデートによりLinuxのGRUB2ブートローダが表示されない場合がある。
この時、以下に示す手順を行うことにより、GRUB2を復旧することができる。
- 各LinuxディストリビューションのライブUSBを準備する。
- ライブUSBからLinuxを起動する。
- ターミナルを開いて、既存のLinuxのインストール先パーティションをマウントする。
sudo mount /dev/sdXY /mnt
- Xは、既存のLinuxがインストールされているストレージ番号を指定する。
- Yは、既存のLinuxがインストールされているGRUB2ブートローダのパーティション番号を指定する。
- 必要なディレクトリをバインドマウントする。
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
- chroot環境に入る。
sudo chroot /mnt
- GRUB2を再インストールする。
grub-install /dev/sdX
- Xは、既存のLinuxがインストールされているストレージ番号を指定する。
- GRUB2の設定ファイルを更新する。
update-grub
- chroot環境を終了して、マウントを解除する。
exit
sudo umount /mnt/sys /mnt/proc /mnt/run /mnt/dev /mnt
- PCを再起動して、GRUB2のブートメニューが表示されるかどうかを確認する。