「Limine」の版間の差分
(TranslationStatus) |
(同期) |
||
14行目: | 14行目: | ||
== サポートされるファイルシステム == |
== サポートされるファイルシステム == |
||
− | Limine は |
+ | Limine は [[FAT|FAT12]]、[[FAT|FAT16]]、[[FAT32]]、ISO9660 をサポートします。 |
== インストール == |
== インストール == |
||
66行目: | 66行目: | ||
以下は、典型的な Arch Linux カーネルと initramfs の1つのブートメニューエントリを含む設定の例です: |
以下は、典型的な Arch Linux カーネルと initramfs の1つのブートメニューエントリを含む設定の例です: |
||
− | {{ |
+ | {{hc|limine.cfg|2= |
TIMEOUT=5 |
TIMEOUT=5 |
||
:Arch Linux |
:Arch Linux |
||
+ | PROTOCOL=linux |
||
− | |||
+ | KERNEL_PATH=boot:///vmlinuz-linux |
||
− | PROTOCOL=linux |
||
+ | CMDLINE=root=UUID=''root-uuid'' rw loglevel=3 quiet |
||
− | KERNEL_PATH=boot:///vmlinuz-linux |
||
+ | MODULE_PATH=boot:///initramfs-linux.img |
||
− | CMDLINE=root=UUID=''root-uuid'' rw loglevel=3 quiet |
||
− | MODULE_PATH=boot:///initramfs-linux.img |
||
}} |
}} |
||
− | {{ic|''root-uuid''}} |
+ | {{ic|''root-uuid''}} はルートファイルシステムの UUID に置き換えてください。UUID は以下を実行することで得られます: |
+ | # blkid -s UUID -o value ''/dev/sdX1'' |
||
− | {{bc| |
||
+ | |||
− | blkid -s UUID -o value ''/dev/sdX1'' |
||
+ | {{ic|''/dev/sdX1''}} は Arch Linux 環境のルートパーティションです。例えば、{{ic|/dev/sda1}} や {{ic|/dev/nvme0n1p2}} のようなものです。ブロックデバイスの命名規則の説明は [[デバイスファイル#ブロックデバイスの名前]] を参照してください。 |
||
+ | |||
+ | === Windows エントリ === |
||
+ | |||
+ | Windows を起動できるようにするには、ESP 内の {{ic|bootmgfw.efi}} へのパスを知る必要があります。[[ESP]] 内に移動して、以下のコマンドを使用することで可能です: |
||
+ | |||
+ | {{hc|$ find -name "bootmgfw.efi"| |
||
+ | ./EFI/Microsoft/Boot/bootmgfw.efi |
||
}} |
}} |
||
+ | 次にするべきことは、以下の内容を設定に追加することだけです: |
||
− | {{ic|''/dev/sdX1''}} の部分は Arch Linux がインストールされたルートパーティションです。例えば、{{ic|/dev/sda1}} や {{ic|/dev/nvme0n1p2}} です。ブロックデバイス名のスキームについては [[デバイスファイル#ブロックデバイスの名前]] を見てください。 |
||
+ | |||
+ | {{hc|limine.cfg|2= |
||
+ | :Windows |
||
+ | PROTOCOL=chainload |
||
+ | IMAGE_PATH=boot://'''/EFI/Microsoft/Boot/bootmgfw.efi''' |
||
+ | }} |
||
== pacman フック == |
== pacman フック == |
||
126行目: | 139行目: | ||
* [https://github.com/limine-bootloader/limine Limine の GitHub リポジトリ] |
* [https://github.com/limine-bootloader/limine Limine の GitHub リポジトリ] |
||
− | {{TranslationStatus|Limine| |
+ | {{TranslationStatus|Limine|2023-02-17|767823}} |
2023年2月17日 (金) 18:10時点における版
Limine は x86/x86_64 BIOS と UEFI 用の先進的なマルチプロトコルブートローダーで、元は stivale ブートプロトコルのリファレンス実装として開発されました。しかし、その後、Linux を起動したり、他のブートローダーをチェインロードしたりする機能が追加されました。
目次
サポートされるファイルシステム
Limine は FAT12、FAT16、FAT32、ISO9660 をサポートします。
インストール
limineAUR をインストールしてください。このパッケージをインストールしても、ブートローダーは導入されません。パッケージのファイルとブートローダーのインストーラーがインストールされるだけです。
BIOS システム
MBR vs. GPT
レガシーな PC BIOS は、GPT または MBR でパーティショニングされたデバイスから起動することができます。Limine はこれら両方をサポートしており、インストール手順は非常に似ています。さらに、GRUB とは違って、GPT でパーティショニングされたデバイスにインストールする際に、生のデータを含む追加のパーティションを作成する必要はありません。
GPT では 2TiB 以上のパーティションをディスクに配置することができるし、パーティションやディスクの GUID を利用できたりなどの利点があるので、大きいドライブにおいて良い選択です。
一方、MBR はより古く、多くの制限があります。しかし、GPT パーティションのメディアから起動できない、風変わりな BIOS に対する互換性を確保できます。
デプロイ
limineAUR パッケージをインストールすると、コアのブートローダーファイルが /usr/share/limine
にインストールされます。BIOS システムにインストールする際に最も重要なのは limine.sys
ファイルです。このファイルには、Limine が起動するのに必要なステージ3のコードが含まれています。このファイルは、Limine を導入するディスク上のどれかのパーティション上のルートディレクトリか、/boot
ディレクトリに置く必要があります。さらに、そのファイルシステムがサポートされている必要があります。
例:
# cp /usr/share/limine/limine.sys /boot/
次に、ステージ1とステージ2をディスクにデプロイする必要があります。そうするには、limine-deploy
ユーティリティを使用してください。limineAUR パッケージの一部としてインストールされます。limine-deploy
が、使用されているスキームを自動検出して適切にインストールするので、MBR と GPT のどちらが使用されていようとインストール方法は同じです。
以下のように limine-deploy
を実行してください:
# limine-deploy /dev/sdX
/dev/sdX
の部分は、Limine をインストールするディスク(パーティションではありません)に書き換えてください。例えば、/dev/sda
や /dev/nvme0n1
です。ブロックデバイス名のスキームについては デバイスファイル#ブロックデバイスの名前 を見てください。
UEFI システム
デプロイ
UEFI システム上に Limine をデプロイするには、/usr/share/limine/BOOTX64.EFI
ファイルを EFI システムパーティションにコピーします。通常 esp/EFI/BOOT/BOOTX64.EFI
にコピーしますが、別のファイル名を使用することもできます。ただし、UEFI BIOS がそのファイルを検出できる必要があります(UEFI#efibootmgr を参照)。
UEFI+BIOS 起動可能ドライブ
ドライブが GPT でフォーマットされていて、かつ EFI システムパーティション を含んでいる場合、BIOS と UEFI の両方のデプロイ手順を行うことにより、そのドライブをレガシー BIOS と UEFI の両方のシステムで起動できるようになります。これは、例えば、UEFI に対応/非対応の複数のシステム上で使用する USB フラッシュドライブにオペレーティングシステムをインストールする場合や、システムをまたいでハードドライブを使用しやすくする場合に便利です。
設定
limineAUR にはデフォルトの設定ファイルが同梱されていません。なので、作成する必要があります。このファイルは、どのオペレーティングシステムが起動できるかを Limine に指示するために必要です。Limine はカスタマイズ性が高いので、設定ファイルには多くのオプションがあります。設定ファイルのフォーマットやキーに関する詳細なドキュメントはここで見られます。
(limine.sys
と同じように)設定ファイルは、Limine がデプロイされたドライブ上のパーティションにあるルートディレクトリか /boot
に置くことができます。ただし、そのパーティションのファイルシステムがサポートされている必要があります。設定ファイルは limine.cfg
という名前でなければなりません。
以下は、典型的な Arch Linux カーネルと initramfs の1つのブートメニューエントリを含む設定の例です:
limine.cfg
TIMEOUT=5 :Arch Linux PROTOCOL=linux KERNEL_PATH=boot:///vmlinuz-linux CMDLINE=root=UUID=root-uuid rw loglevel=3 quiet MODULE_PATH=boot:///initramfs-linux.img
root-uuid
はルートファイルシステムの UUID に置き換えてください。UUID は以下を実行することで得られます:
# blkid -s UUID -o value /dev/sdX1
/dev/sdX1
は Arch Linux 環境のルートパーティションです。例えば、/dev/sda1
や /dev/nvme0n1p2
のようなものです。ブロックデバイスの命名規則の説明は デバイスファイル#ブロックデバイスの名前 を参照してください。
Windows エントリ
Windows を起動できるようにするには、ESP 内の bootmgfw.efi
へのパスを知る必要があります。ESP 内に移動して、以下のコマンドを使用することで可能です:
$ find -name "bootmgfw.efi"
./EFI/Microsoft/Boot/bootmgfw.efi
次にするべきことは、以下の内容を設定に追加することだけです:
limine.cfg
:Windows PROTOCOL=chainload IMAGE_PATH=boot:///EFI/Microsoft/Boot/bootmgfw.efi
pacman フック
必須ではありませんが、Limine がアップデートされるたびに Limine をデプロイする pacman フック を設定すれば便利です。
以下は単なる例です。システム構成に合うようにパスやデバイスを編集してください。
BIOS
/etc/pacman.d/hooks/liminedeploy.hook
[Trigger] Operation = Upgrade Type = Package Target = limine [Action] Description = Deploying Limine after upgrade... When = PostTransaction Exec = /bin/sh -c "limine-deploy /dev/sdX && cp /usr/share/limine/limine.sys /boot/"
UEFI
/etc/pacman.d/hooks/liminedeploy.hook
[Trigger] 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/