「Limine」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(TranslationStatus)
(同期)
14行目: 14行目:
 
== サポートされるファイルシステム ==
 
== サポートされるファイルシステム ==
   
Limine は ext2、[[ext3]]、[[ext4]]、[[FAT|FAT12]]、[[FAT|FAT16]]、[[FAT32]]、[[NTFS]]、 ISO9660、そして [https://github.com/echfs/echfs echfs] をサポートします。
+
Limine は [[FAT|FAT12]]、[[FAT|FAT16]]、[[FAT32]]、ISO9660 をサポートします。
   
 
== インストール ==
 
== インストール ==
66行目: 66行目:
 
以下は、典型的な Arch Linux カーネルと initramfs の1つのブートメニューエントリを含む設定の例です:
 
以下は、典型的な Arch Linux カーネルと initramfs の1つのブートメニューエントリを含む設定の例です:
   
{{bc|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''}} の部分はルートファイルシステムの UUID に置き換えてください。以下を root として実行することで得られます:
+
{{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|2022-06-16|730106}}
+
{{TranslationStatus|Limine|2023-02-17|767823}}

2023年2月17日 (金) 18:10時点における版

関連記事

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

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

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

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

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

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

ノート: デバイスを接続/除去したり、別のマシンにインストール環境を移動したり、または他の原因により、デバイスのパスは変わるかもしれないことに注意してください。これにより、BIOS のフックが意図しないデバイスに誤って Limine をインストールするかもしれません。
/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/

参照

翻訳ステータス: このページは en:Limine の翻訳バージョンです。最後の翻訳日は 2023-02-17 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。