「Limine」の版間の差分
(一部翻訳) |
(→pacman フック: 翻訳) |
||
84行目: | 84行目: | ||
{{ic|''/dev/sdX1''}} の部分は Arch Linux がインストールされた root パーティションです。例えば、{{ic|/dev/sda1}} や {{ic|/dev/nvme0n1p2}} です。ブロックデバイス名のスキームについては [[デバイスファイル#ブロックデバイスの名前]] を見てください。 |
{{ic|''/dev/sdX1''}} の部分は Arch Linux がインストールされた root パーティションです。例えば、{{ic|/dev/sda1}} や {{ic|/dev/nvme0n1p2}} です。ブロックデバイス名のスキームについては [[デバイスファイル#ブロックデバイスの名前]] を見てください。 |
||
+ | |||
+ | |||
== pacman フック == |
== pacman フック == |
||
+ | 必須ではありませんが、Limine がアップデートされるたびに Limine をデプロイする [[pacman フック]] を設定すれば便利です。 |
||
− | While not mandatory, it may be useful to set up a [[pacman hook]] to deploy Limine whenever it is upgraded. |
||
+ | 以下は単なる例です。システム構成に合うようにパスやデバイスを編集してください。 |
||
− | The following are just examples. Edit paths and devices to match the system's configuration. |
||
=== BIOS === |
=== BIOS === |
||
+ | {{Note|デバイスを接続/除去したり、別のマシンにインストール環境を移動したり、または他の原因により、デバイスのパスは変わるかもしれないことに注意してください。これにより、BIOS のフックが意図しないデバイスに誤って Limine をインストールするかもしれません。}} |
||
− | {{Note|Keep in mind that the device paths may change with the addition or removal of devices, moving the installation to different machines, and other factors. This may cause the BIOS hook to accidentally install Limine on an unwanted device.}} |
||
+ | |||
{{hc|/etc/pacman.d/hooks/liminedeploy.hook|2= |
{{hc|/etc/pacman.d/hooks/liminedeploy.hook|2= |
||
[Trigger] |
[Trigger] |
2022年5月19日 (木) 22:35時点における版
Limine は先進的なマルチプロトコルの x86/x86_64 BIOS と UEFI 用ブートローダー で、元は stivale ブートプロトコルのリファレンス実装として開発されました。しかし、その後、Linux を起動したり、他のブートローダーをチェインロードしたりする機能が追加されました。
目次
サポートされるファイルシステム
Limine は ext2、ext3、ext4、FAT12、FAT16、FAT32、NTFS、 ISO9660、そして echfs をサポートします。
インストール
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 を導入するディスク上のどれかのパーティション上の root ディレクトリか、/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 がデプロイされたドライブ上のパーティションにある root ディレクトリか /boot
に置くことができます。ただし、そのパーティションのファイルシステムがサポートされている必要があります。設定ファイルは limine.cfg
という名前でなければなりません。
以下は、典型的な Arch Linux カーネルと initramfs の1つのブートメニューエントリを含む設定の例です:
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
の部分は root ファイルシステムの UUID に置き換えてください。以下を root として実行することで得られます:
blkid -s UUID -o value /dev/sdX1
/dev/sdX1
の部分は Arch Linux がインストールされた root パーティションです。例えば、/dev/sda1
や /dev/nvme0n1p2
です。ブロックデバイス名のスキームについては デバイスファイル#ブロックデバイスの名前 を見てください。
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/