Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Limineのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Limine
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ブートローダー]] [[en:Limine]] {{Related articles start}} {{Related|Arch ブートプロセス}} {{Related|Master Boot Record}} {{Related|GUID Partition Table}} {{Related|Unified Extensible Firmware Interface}} {{Related articles end}} [https://limine-bootloader.org Limine] は、先進的で、ポータブルな、マルチプロトコルの[[ブートローダー]]です。元は Limine ブートプロトコルのリファレンス実装として開発されましたが、Linux のブートや他のブートローダのチェインロードもサポートしています。 {{Note|記事全体で、{{ic|''esp''}} は [[EFI システムパーティション]](別名 ESP) のマウントポイントを示します。}} == サポートされているファイルシステム == Limine は [[FAT12]]、[[FAT16]]、[[FAT32]]、[[Wikipedia:ja:ISO 9660|ISO9660]] を[https://github.com/limine-bootloader/limine/blob/trunk/README.md#supported-filesystems サポート]しています。これらに加えて、ext2 から [[ext4]] までの試験的なサポートも存在していますが、上流でのサポートは限られています。サポートされているファイルシステムは、[https://github.com/limine-bootloader/limine/blob/trunk/PHILOSOPHY.md Limine の設計理念に基づいて意図的に制限されています]。 == インストール == {{Pkg|limine}} をインストールしてください。 == Limine ブートローダーをインストールする == === BIOS システム === [[パーティショニング#GPT か MBR の選択|MBR と GPT]] は両方ともサポートされており、インストール手順は非常に似ています。 ==== デプロイ ==== コアのブートローダーファイルは {{ic|/usr/share/limine}} にあります。BIOS システムにインストールする際に最も重要なのは {{ic|limine-bios.sys}} ファイルです。このファイルには、Limine が起動するのに必要なステージ3のコードが含まれています。このファイルは、Limine を導入するディスク上の任意のパーティション上のルートディレクトリか、{{ic|/boot}}、{{ic|/limine}}、{{ic|/boot/limine}} ディレクトリのどれかに置く必要があります。さらに、そのファイルシステムがサポートされている必要があります。 例: # cp /usr/share/limine/limine-bios.sys /boot/ 次に、ステージ1とステージ2をディスクにデプロイする必要があります。Limine は使用されているスキームを自動検出して適切にインストールするので、MBR と GPT のどちらが使用されていようとインストール方法は同じです: # limine bios-install /dev/sdX {{ic|''/dev/sdX''}} の部分は、Limine をインストールする'''ディスク'''('''パーティションではありません''')に書き換えてください。例えば、{{ic|/dev/sda}} や {{ic|/dev/nvme0n1}} です。ブロックデバイス名のスキームについては [[デバイスファイル#ブロックデバイスの名前]] を見てください。 === UEFI システム === UEFI システム上に Limine をデプロイするには、{{ic|/usr/share/limine/BOOTX64.EFI}} ファイルを [[EFI システムパーティション]]にコピーします。通常 {{ic|''esp''/EFI/BOOT/BOOTX64.EFI}} にコピーしますが、別のファイル名を使用することもできます。ただし、UEFI BIOS がそのファイルを検出できる必要があります。[[GRUB]] とは異なり、Limine は NVRAM に Limine のブートローダーエントリを追加しません。Limine のエントリをセットアップするには [[efibootmgr]] を使用してください。 === UEFI+BIOS 起動可能ドライブ === ドライブが [[GPT]] でフォーマットされていて、かつ [[EFI システムパーティション]] を含んでいる場合、BIOS と UEFI の両方のデプロイ手順を行うことにより、そのドライブをレガシー BIOS と UEFI の両方のシステムで起動できるようになります。これは、例えば、UEFI に対応/非対応の複数のシステム上で使用する USB フラッシュドライブにオペレーティングシステムをインストールする場合や、システムをまたいでハードドライブを使用しやすくする場合に便利です。 == 設定 == {{Pkg|limine}} にはデフォルトの設定ファイルが同梱されていません。なので、作成する必要があります。このファイルは、どのオペレーティングシステムが起動できるかを Limine に指示するために必要です。Limine はカスタマイズ性が高いので、設定ファイルには多くのオプションがあります。設定ファイルのフォーマットやオプションに関する詳細なドキュメントは[https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md ここ]で見られます。 設定ファイルは、({{ic|limine-bios.sys}} と同じように) Limine がデプロイされたドライブ上の任意のパーティションにあるルートディレクトリか {{ic|/boot}}、{{ic|/limine}}、{{ic|/boot/limine}} ディレクトリのどれかに置く必要があります。ただし、そのパーティションのファイルシステムがサポートされている必要があります。設定ファイルは {{ic|limine.conf}} という名前でなければなりません。 {{Note| Limine の設定では、{{ic|boot():/}} は {{ic|limine.conf}} が存在するパーティションを表しています。{{ic|/boot}} のあるパーティションが分離されておらず、{{ic|limine.conf}} が代わりにルートパーティションにある場合、{{ic|boot():/}} は {{ic|boot():/boot/}} のように書き換える必要があります。}} 以下は、典型的な Arch Linux カーネルと initramfs の1つのブートメニューエントリを含む設定の例です: {{hc|limine.conf|2= timeout: 5 /Arch Linux protocol: linux kernel_path: boot():/vmlinuz-linux kernel_cmdline: root=UUID=''xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'' rw module_path: boot():/initramfs-linux.img }} {{ic|''xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx''}} はルートファイルシステムの [[UUID]] です。 {{Tip|[[セキュアブート]]が有効化されている UEFI システムでブートする場合は、Limine の設定ファイルとリソースファイル (カーネルやモジュールなど) の両方をセキュアにしておくことを検討してください。実際、これらの設定ファイルとリソースファイルが格納されている FAT パーティションにアクセスできる人物は、セキュアブートが有効化されている場合でもこれらのファイルを変更できてしまいます。 これらのファイルを守るには、まず、すべてのリソースファイルの {{ic|b2sum}} チェックサムを設定ファイル内に記述しておく必要があります。Limine でのファイルパスには、ファイルの {{ic|b2sum}} チェックサムを記述するための任意のフィールドが存在します。このフィールドは、ファイルパスの後に {{ic|#}} 文字を追加し、さらにその後に '''128 文字'''のチェックサムを追加することで指定できます: {{hc||2= boot():/''path''#''checksum'' }} 設定ファイルを守るには、{{ic|limine enroll-config}} コマンドで EFI 実行ファイル内に設定ファイルの {{ic|b2sum}} チェックサムを埋め込んでおく必要があります。}} === Windows エントリ === Windows を起動できるようにするには、ESP 内の {{ic|bootmgfw.efi}} へのパスを知る必要があります。[[ESP]] 内に移動して、以下のコマンドを使用することで可能です: {{hc|$ find -name "bootmgfw.efi"| ./EFI/Microsoft/Boot/bootmgfw.efi }} 次にするべきことは、以下の内容を設定に追加することだけです: {{hc|limine.conf|2= /Windows protocol: efi_chainload image_path: boot():'''/EFI/Microsoft/Boot/bootmgfw.efi''' }} === 他のディスクから起動する === {{ic|efi_chainload}} プロトコルを使って [[UKI]] をロードし、{{ic|uuid(''partition UUID''):}} でディスクのパスを指定します。[[UKI#Limine]] を参照してください。 == pacman フック == 必須ではありませんが、Limine がアップデートされるたびに Limine をデプロイする [[pacman フック]] を設定すれば便利です。 以下は単なる例です。システム構成に合うようにパスやデバイスを編集してください。 === BIOS === {{Note|デバイスを接続/除去したり、別のマシンにインストール環境を移動したり、または他の原因により、デバイスのパスは変わるかもしれないことに注意してください。これにより、BIOS のフックが意図しないデバイスに誤って Limine をインストールするかもしれません。}} {{hc|/etc/pacman.d/hooks/liminedeploy.hook|2= [Trigger] Operation = Install Operation = Upgrade Type = Package Target = limine [Action] Description = Deploying Limine after upgrade... When = PostTransaction Exec = /bin/sh -c "/usr/bin/limine bios-install ''/dev/sdX'' && /usr/bin/cp /usr/share/limine/limine-bios.sys /boot/" }} === UEFI === {{hc|/etc/pacman.d/hooks/liminedeploy.hook|2= [Trigger] Operation = Install Operation = Upgrade Type = Package Target = limine [Action] Description = Deploying Limine after upgrade... When = PostTransaction Exec = /usr/bin/cp /usr/share/limine/BOOTX64.EFI /boot/EFI/BOOT/ }} == ヒントとテクニック == === ブートエントリの自動化 === ==== Dracut サポート ==== {{AUR|limine-dracut-support}} は、[[initramfs]] や [[UKI]] の生成に [[Dracut]] を使用するユーザーのために開発されました。これは、Limine ブートローダーでのカーネルの追加と削除を自動化することで、カーネルの管理をシンプルにします。 {{Note|x86_64 アーキテクチャの UEFI システムにおいては、Limine を更新あるいは再インストールすると、Limine の EFI イメージは自動的に ESP へと配置されます。}} '''設定:''' {{ic|/etc/limine-entry-tool.conf}} ではなく {{ic|/etc/default/limine}} を変更してください。このファイルは {{ic|/etc/limine-entry-tool.conf}} よりも優先されます。 1. {{ic|/etc/default/limine}} を編集する * {{ic|ESP_PATH}} に [[ESP]] へのパスを設定する。({{ic|bootctl}} が ESP を自動的に検出する場合は、{{ic|ESP_PATH}} を設定する必要はありません) * {{ic|1=KERNEL_CMDLINE[default]=}} に所望の[[カーネルパラメータ]]を設定する。 {{Tip| * {{ic|1=KERNEL_CMDLINE[default]=}} と {{ic|1=KERNEL_CMDLINE=}} が設定されていない場合、ツールはまず {{ic|/etc/kernel/cmdline}} を読み込もうとします。このファイルが利用できない場合は、{{ic|/proc/cmdline}} を代わりに読み込みます。 * 任意で、{{ic|1=KERNEL_CMDLINE[fallback]=}} で ''fallback'' という名前を含むカーネルエントリに対してカーネルパラメータを設定することができます。 * 追加で、{{ic|1=KERNEL_CMDLINE["''kernel name''"]=}} エントリはブートメニュー内の同じ名前のカーネルエントリに対応し、カーネルエントリ毎に別々のカーネルコマンドライン/パラメータを設定することができます。例えば、{{ic|1=KERNEL_CMDLINE["linux-lts"]=}} は {{Pkg|linux-lts}} カーネルエントリに対応します。 }} * ESP の領域を節約するには、{{ic|DRACUT_FALLBACK}} を {{ic|no}} に設定することで、[[initramfs]] あるいは [[UKI]] のフォールバックイメージの自動生成を無効化することができます。 * [[UKI]] でブートさせたい場合は、{{ic|DRACUT_UKI}} を {{ic|yes}} に設定してください。 {{Tip|'''UKI の利点:''' * [[systemd-boot]] や [[rEFInd]] は、このツールによって生成された UKI を自動的にロードすることができます。 * {{Pkg|sbctl}} がインストールされ有効化されている場合、このツールは、カーネルを更新あるいはインストールする際に、UKI をセキュアブート鍵で自動的に署名します。 }} * {{ic|FIND_BOOTLOADERS}} を {{ic|yes}} に設定すると、systemd-boot や rEFInd、デフォルトの EFI ローダーが同じ ESP 内に存在する場合、それらを検出し、Limine に追加するようになります。 2. 以下のコマンドを実行して initramfs や UKI を生成し、{{ic|''esp''/limine.conf}} を更新します: # limine-update その他の設定オプションについては、[https://gitlab.com/Zesko/limine-entry-tool#configuration the configuration of limine-entry-tool] を参照してください。 ==== mkinitcpio や他の initramfs ツール ==== {{AUR|limine-entry-tool-git}} には、[[initramfs]] ツールも、カーネルの追加と削除を自動化させるための [[pacman フック]]も含まれていません。 1. {{ic|/etc/limine-entry-tool.conf}} の設定を上書きするには {{ic|/etc/default/limine}} を代わりに編集してください。 * {{ic|ESP_PATH}} に [[ESP]] へのパスを設定してください。({{ic|bootctl}} が自動的に ESP を検出する場合は、{{ic|ESP_PATH}} を設定する必要はありません。) * {{ic|1=KERNEL_CMDLINE[default]=}} に所望の[[カーネルパラメータ]]を設定してください。 {{Tip| * {{ic|1=KERNEL_CMDLINE[default]=}} と {{ic|1=KERNEL_CMDLINE=}} が設定されていない場合、ツールはまず {{ic|/etc/kernel/cmdline}} を読み込もうとします。このファイルが利用できない場合は、{{ic|/proc/cmdline}} を代わりに読み込みます。 * 追加で、{{ic|1=KERNEL_CMDLINE["''kernel name''"]=}} エントリはブートメニュー内の同じ名前のカーネルエントリに対応し、カーネルエントリ毎に別々のカーネルコマンドライン/パラメータを設定することができます。 }} 2. 所望の [[initramfs]] ツール (例: [[mkinitcpio]]、[[dracut]]、[[booster]] など) をインストールしてください。 3. Limine ブートメニュー内のブートエントリを管理するためにスクリプトを作成してください。例えば、{{ic|limine-entry-tool}} コマンドを使ってカーネルの追加と削除を自動化する [[pacman フック]]などです。 詳細は [https://gitlab.com/Zesko/limine-entry-tool/-/blob/master/README.md limine-entry-tool の README] を参照してください。 === Btrfs の Snapper スナップショットとの統合 === {{AUR|limine-snapper-sync}} ツールは [[Snapper]] と Limine ブートローダーとを統合します。これは以下の点で便利です: * ブートする [[Snapper]] スナップショットの選択をサポート。 * システムのスナップショットから復元する方法として [[rsync]] と [[btrfs]] の2つを提供しています。 * スナップショットからの復元後、「バックアップ」エントリが Limine ブートローダーに追加されます。これにより、必要になったときにバックアップへの巻き戻しが容易になります。 * 新しいスナップショットが同じブータブルファイルで作成されている場合、破損したブータブルファイルを ESP 上の古いスナップショットを使って自動的に修復します。 * ブータブルファイルのハッシュ値が ESP 上にある同じファイルのハッシュ値と一致しない場合、ハードウェアの問題が疑われるエラーメッセージを自動的に記録します。 * 読み取り専用のスナップショットをテストできる: [[overlayfs]] を使って、イミュータブルのようなシステム上で元のデータを変更することなく、インストールされたパッケージをテストします。これは、ブートパーティションや分離されたホームサブボリューム/パーティションのテストを意図しているものではないことに注意してください。 ==== 設定 ==== {{Note|(ブータブルスナップショットの数とインストールしたいカーネルバージョンの数によりますが) [[ESP]] には 1 GiB 以上を割り当てることが推奨されます。}} 1. {{ic|''esp''/limine.conf}} に {{ic|//Snapshots}} か {{ic|/Snapshots}} キーワードを加えてください。これは、自動生成されるスナップショットエントリに対応します。 例: {{hc|limine.conf|2= /+Arch Linux comment: Any comment comment: machine-id=''yyyyyyyyyyyyyyyyyy'' //Linux protocol: linux kernel_path: boot():/vmlinuz-linux kernel_cmdline: root=UUID=''xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'' rw rootflags=subvol=/@ module_path: boot():/initramfs-linux.img //Snapshots }} {{Note| キーワードは、どちらか一方のみを使用してください: * {{ic|//Snapshots}} は OS ブートエントリブロック内に記述します。(何も指定されていない場合、'''デフォルト'''。) '''または''' * {{ic|/Snapshots}} は OS ブートエントリブロック外に記述します。 ---- {{ic|/etc/machine-id}} のマシン ID を含めるのは任意ですが、自動識別に便利です。ブートエントリの名称変更はこのツールには影響しません。 }} 2. {{ic|/etc/default/limine}} を編集してください。このファイルに記述された設定は {{ic|/etc/limine-snapper-sync.conf}} を上書きします: * {{ic|ESP_PATH}} に [[ESP]] へのパスを設定してください。({{ic|bootctl}} が ESP を自動的に検出する場合は、{{ic|ESP_PATH}} を設定する必要はありません。) * {{ic|LIMIT_NUMBER}} にスナップショットエントリの最大数を設定してください。デフォルトは 8 です。 * {{ic|LIMIT_USAGE_PERCENT}} には、新しいスナップショットエントリの作成を許可する ESP 使用率の最大値を設定してください。デフォルトは 80 です。 * '''カスタムの''' Snapper レイアウトを使用する場合は、以下を設定してください: ** {{ic|ROOT_SUBVOLUME_PATH}} にルートサブボリュームへのパスを設定する。殆どの場合、デフォルトは {{ic|/@}} です。 ** {{ic|ROOT_SNAPSHOTS_PATH}} にルートスナップショットへのパスを設定する。デフォルトは {{ic|/@/.snapshots}} です (これは、ルートサブボリューム {{ic|/@}} に対する標準的な Snapper レイアウトです)。 3. 以下のコマンドを実行して、成功するかエラーメッセージが表示されるか確かめてください: # limine-snapper-sync 4. うまく行ったら、systemd サービス {{ic|limine-snapper-watcher.service}} を[[有効化]]してください。このサービスは、Snapper のリストに変更が生じた際にスナップショットエントリをブートメニューに自動的に生成します。 {{Tip|'''[[dracut]] を使用する場合:''' {{AUR|limine-dracut-support}} をインストールすることで、ESP 上の {{ic|limine.conf}} 内へのブートエントリの作成を自動化できます。詳細は [[#Dracut サポート]] を参照してください。 }} 詳細は [https://gitlab.com/Zesko/limine-snapper-sync limine-snapper-sync README やその他の設定オプション]を参照してください。 ==== コマンド ==== * {{ic|limine-snapper-sync}}: Limine のスナップショットエントリを Snapper のリストと同期させます。 * {{ic|limine-snapper-list}}: 現在の Limine スナップショットエントリを表示します。 * {{ic|limine-snapper-info}}: バージョンとブータブルスナップショットの総数を表示し、ブータブルファイルの検証を行います。 * {{ic|limine-snapper-restore}}: 選択したスナップショットから、一致するカーネルのバージョンを含めて、システムを復元します。 ==== 既知の制限 ==== * サポートは Snapper レイアウトのみで、Snapper ではない任意の Btrfs レイアウトはサポート外です。 * ツールがインストールされた時よりも前に作成された古いスナップショットのブータブルスナップショットエントリは生成できません。そのようなスナップショットには、対応するカーネルバージョンがたいてい記録されていないからです。 == 参照 == * [https://limine-bootloader.org Limine のウェブサイト] * [https://github.com/limine-bootloader/limine Limine の GitHub リポジトリ] {{TranslationStatus|Limine|2025-02-03|826039}}
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
テンプレート:TranslationStatus
(
ソースを閲覧
)
Limine
に戻る。
検索
検索
Limineのソースを表示
話題を追加