「Limine」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(一部翻訳)
(一部翻訳)
50行目: 50行目:
 
=== デプロイ ===
 
=== デプロイ ===
   
Deploying Limine on UEFI systems involves copying the {{ic|/usr/share/limine/BOOTX64.EFI}} file to an EFI system partition, usually to {{ic|''esp''/EFI/BOOT/BOOTX64.EFI}}, but it can be given other filenames, as long as the UEFI BIOS is aware of them (see [[UEFI#efibootmgr]]).
+
UEFI システム上に Limine をデプロイするには、{{ic|/usr/share/limine/BOOTX64.EFI}} ファイルを [[EFI システムパーティション]]にコピーします。通常 {{ic|''esp''/EFI/BOOT/BOOTX64.EFI}} にコピーしますが、別のファイル名を使用することもできます。ただし、UEFI BIOS がそのファイルを検出できる必要があります([[UEFI#efibootmgr]] を参照)
   
 
== UEFI+BIOS 起動可能ドライブ ==
 
== UEFI+BIOS 起動可能ドライブ ==
   
  +
ドライブが [[GPT]] でフォーマットされていて、かつ [[EFI システムパーティション]] を含んでいる場合、BIOS と UEFI の両方のデプロイ手順を行うことにより、そのドライブをレガシー BIOS と UEFI の両方のシステムで起動できるようになります。これは、例えば、UEFI に対応/非対応の複数のシステム上で使用する USB フラッシュドライブにオペレーティングシステムをインストールする場合や、システムをまたいでハードドライブを使用しやすくする場合に便利です。
As long as a drive is [[GPT]] formatted, and it contains an EFI system partition, it is possible to follow both the BIOS and UEFI deployment procedures in order to create a drive capable of booting on both legacy BIOS as well as UEFI systems. This is useful, for example, for installing an operating system on a USB flash drive which is to be used on multiple systems which may, or may not support UEFI, or to ease moving hard drives across systems.
 
   
 
== 設定 ==
 
== 設定 ==
   
  +
{{AUR|limine}} にはデフォルトの設定ファイルが同梱されていません。なので、作成する必要があります。このファイルは、どのオペレーティングシステムが起動できるかを Limine に指示するために必要です。Limine はカスタマイズ性が高いので、設定ファイルには多くのオプションがあります。設定ファイルのフォーマットやキーに関する詳細なドキュメントは[https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md ここ]で見られます。
{{AUR|limine}} does not ship a default configuration file, it is therefore necessary to create one. This file is necessary to teach Limine which operating systems are available for boot. The configuration file has a lot of options as Limine allows for a fair degree of customisation. A detailed documentation of the configuration file, its format, and its keys can be found [https://github.com/limine-bootloader/limine/blob/trunk/CONFIG.md here].
 
   
  +
({{ic|limine.sys}} と同じように)設定ファイルは、Limine がデプロイされたドライブ上のパーティションにある root ディレクトリか {{ic|/boot}} に置くことができます。ただし、そのパーティションのファイルシステムがサポートされている必要があります。設定ファイルは {{ic|limine.cfg}} という名前でなければなりません。
The configuration file, just like {{ic|limine.sys}}, can reside on either the root, or the {{ic|/boot}} directory of a partition on the drive on which Limine is deployed, as long as the file system of said partition is supported. The configuration file has to be named {{ic|limine.cfg}}
 
   
{{Note|In a Limine config, {{ic|boot:///}} represents the partition on which {{ic|limine.cfg}} is located. In case there is no separate {{ic|/boot}} partition, and {{ic|limine.cfg}} resides on the root partition instead, then, in the following example, {{ic|boot:///}} should instead be {{ic|boot:///boot/}}.}}
+
{{Note| Limine の設定では、{{ic|boot:///}} {{ic|limine.cfg}} が存在するパーティションを表しています。{{ic|/boot}} のあるパーティションが分離されておらず、{{ic|limine.cfg}} が代わりに root パーティションにある場合、{{ic|boot:///}} {{ic|boot:///boot/}} のように書き換える必要があります。}}
  +
  +
以下は、典型的な Arch Linux カーネルと initramfs の1つのブートメニューエントリを含む設定の例です:
   
Here follows a simple example configuration that contains 1 boot menu entry that describes a typical Arch Linux kernel and initramfs:
 
 
{{bc|1=
 
{{bc|1=
 
TIMEOUT=5
 
TIMEOUT=5
75行目: 76行目:
 
MODULE_PATH=boot:///initramfs-linux.img
 
MODULE_PATH=boot:///initramfs-linux.img
 
}}
 
}}
  +
where {{ic|''root-uuid''}} is to be replaced with the root filesystem's UUID that can be obtained by running (as root):
 
  +
{{ic|''root-uuid''}} の部分は root ファイルシステムの UUID に置き換えてください。以下を root として実行することで得られます:
  +
 
{{bc|
 
{{bc|
 
blkid -s UUID -o value ''/dev/sdX1''
 
blkid -s UUID -o value ''/dev/sdX1''
 
}}
 
}}
  +
where {{ic|''/dev/sdX1''}} is the Arch Linux install's root partition. For example {{ic|/dev/sda1}} or {{ic|/dev/nvme0n1p2}}. See [[Device file#Block device names]] for a description of the block device naming scheme.
 
  +
{{ic|''/dev/sdX1''}} の部分は Arch Linux がインストールされた root パーティションです。例えば、{{ic|/dev/sda1}} や {{ic|/dev/nvme0n1p2}} です。ブロックデバイス名のスキームについては [[デバイスファイル#ブロックデバイスの名前]] を見てください。
   
 
== pacman フック ==
 
== pacman フック ==

2022年5月19日 (木) 22:28時点における版

関連記事

Limine は先進的なマルチプロトコルの x86/x86_64 BIOS と UEFIブートローダー で、元は stivale ブートプロトコルのリファレンス実装として開発されました。しかし、その後、Linux を起動したり、他のブートローダーをチェインロードしたりする機能が追加されました。

ノート: 記事全体で、espEFI システムパーティション(別名 ESP) のマウントポイントを示します。

サポートされるファイルシステム

Limine は ext2、ext3ext4FAT12FAT16FAT32NTFS、 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 という名前でなければなりません。

ノート: Limine の設定では、boot:///limine.cfg が存在するパーティションを表しています。/boot のあるパーティションが分離されておらず、limine.cfg が代わりに root パーティションにある場合、boot:///boot:///boot/ のように書き換える必要があります。

以下は、典型的な 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 フック

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

ノート: 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.
/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/

参照