MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
設定 - ブートローダのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
設定 - ブートローダ
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == ブートローダとは、コンピュータの起動時にオペレーティングシステム(OS)を読み込み、実行するためのプログラムである。<br> <br> Linuxには、いくつかのブートローダが存在しており、それぞれ固有の機能と利点を持っている。<br> Linuxにおいて、一般的に使用されるブートローダを以下に示す。<br> <br> これらのブートローダは、それぞれの長所と短所を持っており、システムの要件、ファイルシステム、ファームウェアのタイプ(BIOS/UEFI)等、ユーザの好みに応じて選択される。<br> 現在、最も広く使用されているLinuxブートローダはGRUB2であるが、他のブートローダも特定の用途に適している。<br> * GRUB (GRand Unified Bootloader) *: GRUB2の前身であり、レガシーバージョンと呼ばれることもある。 *: 設定ファイルは、<u>/boot/grub/grub.cfg</u>または<u>/boot/grub/menu.lst</u>に存在する。 *: GRUB2ほど高機能ではないが、より単純な設定で動作する。 *: <br> * Tow-Boot *: Chromebookや他のARMベースのデバイス用のオープンソースブートローダである。 *: U-Bootをベースとしており、ChromeOSデバイス上でLinuxや他のオペレーティングシステムを起動するために使用される。 *: ファームウェアの更新や検証、ブートモードの選択等、幅広い機能を提供する。 *: Chromebookユーザの間で人気が高まっており、ChromeOSの代替OSを試す際に重要な役割を果たしている。 *: <br> * U-Boot *: 組み込みシステムやシングルボードコンピュータ用の強力なブートローダである。 *: ARMベースのデバイスで広く使用されており、ブートプロセスの制御と設定に使用される。 *: ネットワークブート、RAMディスクのロード、ファームウェアの更新等、多様な機能を提供する。 *: 高度にカスタマイズ可能で、組み込み環境での柔軟性を提供する。 *: <br> * RedBoot *: 主にARMベースの組み込みシステム用のブートローダである。 *: eCosオペレーティングシステムと緊密に統合されており、eCosの開発とデバッグに使用される。 *: フラッシュメモリの管理、ネットワークブート、デバッグ機能等、幅広い機能を提供する。 *: 組み込みシステムの開発者にとって重要なツールの1つである。 *: <br> * Barebox *: U-Bootから派生した組み込みシステム用のブートローダである。 *: ARMやPowerPC、MIPSなど、さまざまなアーキテクチャをサポートしている。 *: デバイスツリーのサポート、ネットワークブート、ファームウェアの更新など、多くの機能を提供する。 *: 設定や拡張が容易で、組み込みLinuxの開発に適している。 *: <br> * AT91Bootstrap <span style="color:#C00000">(※)</span> *: Microchip (旧Atmel) のAT91シリーズARM SoCを対象とした小型のブートローダである。 *: メモリの初期化、クロックの設定、U-Boot等の他のブートローダの起動を行う。 *: シンプルで軽量であり、AT91シリーズのSoCを使用する組み込みシステムに適している。 *: <br> * Coreboot <span style="color:#C00000">(※)</span> *: オープンソースのファームウェアプロジェクトであり、主にx86ベースのシステムをサポートしている。 *: BIOS/UEFIの代替として使用され、高速起動とセキュリティ機能を提供する。 *: ペイロードと呼ばれるブートローダ (U-Boot等) を起動することができる。 *: Chromebook等の一部の組み込みデバイスでも使用されている。 *: <br> * Kexecboot *: Linuxカーネルのkexec機能を利用したブートローダである。 *: 稼働中のカーネルから直接新しいカーネルを起動することができ、高速な再起動が可能である。 *: 設定が簡単であり、組み込みシステムでの迅速なカーネル切り替えに適している。 *: <br> * LILO (LInux LOader) *: Linuxの初期のブートローダの1つで、古いシステムではまだ使用されている。 *: 設定ファイルは、<u>/etc/lilo</u>に存在する。 *: カーネルイメージやinitrdを直接読み込むことができる。 *: ブートセクタに直接書き込むため、設定変更後は常にブートセクタを更新する必要がある。 *: <br> * Syslinux *: FAT、ext2、ext3、ext4等のファイルシステムをサポートしている。 *: ISOLINUXを使用して、ブート可能なCDやDVDを作成するために広く使用されている。 *: PXELINUXを使用して、ネットワーク経由でブートすることもできる。 *: <br> * systemd-boot (旧名: gummiboot) *: UEFIシステム用の単純なブートマネージャーである。 *: 設定ファイルは、<u>/boot/loader/entries/</u>ディレクトリ内の.confファイルである。 *: シンプルでミニマルな設計が特徴で、高速な起動が可能である。 *: <br> * rEFInd *: UEFIシステム用のブートマネージャーであり、グラフィカルなユーザーインターフェースを提供する。 *: Linux、MacOS、Windows等の複数のOSを検出して、ブートメニューに自動的に追加する。 *: テーマやアイコンのカスタマイズが可能であり、視覚的に魅力的なブート環境を提供する。 <br> <u>※注意</u><br> <u>AT91BootstrapやCorebootは、ブートプロセスの初期段階を担当するブートローダ (ファームウェア) である。</u><br> <u>これらは、ハードウェアの初期化、メモリの設定、クロックの設定等の低レベルのタスクを処理する。</u><br> <br> <u>一方、U-Boot等のブートローダは、より高レベルの機能を提供する。</u><br> <u>これには、カーネルのロード、ブートパラメータの渡し、ファイルシステムの読み込み等が含まれている。</u><br> <br> したがって、AT91BootstrapやCorebootを使用する場合、一般的には以下に示すようなブートプロセスを行う。<br> # まず、AT91Bootstrap / Corebootが、ハードウェアの初期化と低レベルの設定を行う。 # 次に、AT91Bootstrap / Corebootが、U-Boot等の高レベルのブートローダをロードして実行する。 # AT91Bootstrap / Corebootにより実行されたU-Bootが、カーネルのロード、ブートパラメータの渡し、ルートファイルシステムのマウント等を行う。 # U-Bootがカーネルを起動して、システムが立ち上がる。 <br> <u>このように、AT91BootstrapやCorebootは、U-Boot等のブートローダと組み合わせて使用されることが一般的である。</u><br> <u>これにより、ブートプロセスを段階的に行うことができ、それぞれのブートローダがその得意とする部分を担当することができる。</u><br> <br><br> == GRUB2 == ==== GRUB2とは ==== GRUB2 (GRand Unified Bootloader version 2) は、Linuxシステムで広く使用されているブートローダである。<br> GRUB2は、Linuxシステムにおいて重要な役割を果たしており、ブートプロセスをカスタマイズや複数のOSを管理するための強力で柔軟なツールである。<br> <br> GRUB2の主な役割と概念は以下の通りである。<br> * ブートプロセスの制御 *: GRUB2は、BIOS/UEFIにより最初に読み込まれて、OSを起動するためのブートプロセスを制御する。 * ブートメニューの提供 *: GRUB2は、インストールされている複数のOSをリストアップしたブートメニューを表示する。 *: ユーザは、このメニューからブートするOSを選択できる。 * 設定ファイル *: GRUB2の設定は、主に<u>/etc/default/grubファイル</u>と<u>/etc/grub.d/ディレクトリ</u>内のファイルで定義される。 *: これらのファイルは、ブートメニューのエントリ、デフォルトのOS、タイムアウト等を制御する。 * モジュラー設計 *: GRUB2は、モジュール式の設計を採用している。 *: これにより、必要な機能を動的に読み込むことができ、柔軟性と拡張性が向上する。 * 複数のファイルシステムとOSのサポート *: GRUB2は、ext4、btrfs、NTFS、FAT等、様々なファイルシステムをサポートしている。 *: また、Linux、Windows、MacOS等、複数のOSをブートすることができる。 * コマンドラインインターフェース *: GRUB2は、ブートメニューで[C]キーを押下することにより、アクセスできるコマンドラインインターフェースを提供する。 *: このインターフェースを使用して、ブートパラメータの編集やカスタムブートエントリの追加等を行うことができる。 * 復旧機能 *: GRUB2は、システムが起動しない場合に備えて、復旧モードを提供する。 *: これにより、ユーザはシステムを修復するためのオプションにアクセスできる。 <br> ==== GRUB2の復旧 ==== 例えば、WindowsのアップデートによりLinuxのGRUB2ブートローダが表示されない場合がある。<br> この時、以下に示す手順を行うことにより、GRUB2を復旧することができる。<br> <br> # 各LinuxディストリビューションのライブUSBを準備する。 # ライブUSBからLinuxを起動する。<br> # ターミナルを開いて、既存のLinuxのインストール先パーティションをマウントする。 #: ※Xは、既存のLinuxがインストールされているストレージ番号を指定する。 #: ※Yは、既存のLinuxがインストールされているGRUB2ブートローダのパーティション番号を指定する。 #: <pre>sudo mount /dev/sdXY /mnt</pre> # 必要なディレクトリをバインドマウントする。 #: <syntaxhighlight lang="sh">for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done</syntaxhighlight> # chroot環境に入る。 #: <pre>sudo chroot /mnt</pre> # GRUB2を再インストールする。 #: ※Xは、既存のLinuxがインストールされているストレージ番号を指定する。 #: <pre>grub-install /dev/sdX</pre> # GRUB2の設定ファイルを更新する。 #: <pre>update-grub</pre> # chroot環境を終了する。 #: <pre>exit</pre> # マウントを解除する。 #: <pre>sudo umount /mnt/sys /mnt/proc /mnt/run /mnt/dev /mnt</pre> # PCを再起動して、GRUB2のブートメニューが表示されるかどうかを確認する。 <br><br> == エラー関連 == ==== Fix Minimal BASH like line editing is supported GRUB Error ==== LinuxとWindowsとデュアルブートでインストールする場合、再起動時に以下に示すようなGRUBエラーが出力される場合がある。 Minimal BASH like line editing is supported. For the first word, TAB lists possible command completions. anywhere else TAB lists possible device or file completions. <br> これは、RHEL、SUSE、Debian GNU/Linux等の全てのLinuxディストリビューションで発生する可能性のある一般的なGRUBエラーである。 また、頻繁に発生する同様の問題である<u>"error: no such partition grub rescue"</u>エラーを修正する場合も、以下に示す手順で解決することができる。<br> <br> この問題を解決するには、以下に示すものが必要である。<br> * 同じLinuxディストリビューションのライブUSB * ライブセッションでのインターネット接続 <br> まず、ライブLinux USBを起動する。<br> <br> 次に、LinuxがUEFIあるいはBIOSを使用しているかどうかを確認する。<br> [Type:]に[EFI System]との記述がある場合は、LinuxがUEFIを使用していることを意味する。<br> sudo fdisk -l <br> GRUBを再インストールする。<br> * UEFIを使用している場合 *# まず、ルートパーティション (/) をマウントする。 *#: <pre>sudo mount /dev/sdXY /mnt</pre> *# 次に、ブートパーティション (UEFI) をマウントする。 *#: <pre>sudo mount /dev/sdXZ /mnt/boot/efi</pre> *# 最後に、GRUB (UEFI) をインストールする。 *#: <code>bootloader-id</code>オプションにおいて、/boot/efi/EFIディレクトリにあるディレクトリ名を確認することにより、現在使用しているbootloader-idを知ることができる。 *#: <code>--bootloader-id</code>オプションは任意の値を設定できるため、システム管理者が別の値を選択している可能性もある。 *#: <br> *#: --bootloader-idオプションのデフォルト値 *#:* RHELの場合: redhat *#:* SLEの場合: sles / sled *#:* Ubuntuの場合: ubuntu *#: <pre>sudo grub-install --boot-directory=/mnt/boot --bootloader-id=<ID名> --target=x86_64-efi --efi-directory=/mnt/boot/efi</pre> *# PCを再起動する。 <br> * BIOSを使用している場合 *# まず、ルートパーティション (/) をマウントする。<br>BIOSでは、ブートパーティション (BIOS) も同時にマウントされる。 *#: <pre>sudo mount /dev/sdXY /mnt</pre> *# 最後に、GRUB (BIOS) をインストールする。 *#: <pre>sudo grub-install /dev/sdX</pre> *# PCを再起動する。 <br><br> __FORCETOC__ [[カテゴリ:RHEL]][[カテゴリ:SUSE]][[カテゴリ:Raspberry Pi]][[カテゴリ:PinePhone]]
設定 - ブートローダ
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse