「EFI システムパーティション」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (EFISYS を削除) |
Kusanaginoturugi (トーク | 投稿記録) (序文を飜訳) |
||
| 10行目: | 10行目: | ||
{{Related|ブートローダー}} |
{{Related|ブートローダー}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
| − | [[Wikipedia:EFI System partition|EFI System Partition]] (ESP とも呼ばれます) は |
+ | [[Wikipedia:EFI System partition|EFI System Partition]] (ESP とも呼ばれます) は UEFI ファームウェアによって起動される EFI ブートローダ、アプリケーション、ドライバの格納場所として機能する OS に依存しないパーティションです。UEFI ブートには必須です。 |
| − | |||
| − | {{Warning|UEFI/GPT 環境で既存の Windows と[[Windows と Arch のデュアルブート|デュアルブート]]する場合、UEFI パーティションを再フォーマットしてはいけません。Windows を起動するために必要な Windows の ''.efi'' ファイルが含まれています。既存のパーティションを利用して、[[#パーティションのマウント|パーティションをマウント]]してください。}} |
||
== パーティションの作成 == |
== パーティションの作成 == |
||
2022年1月18日 (火) 21:07時点における版
EFI System Partition (ESP とも呼ばれます) は UEFI ファームウェアによって起動される EFI ブートローダ、アプリケーション、ドライバの格納場所として機能する OS に依存しないパーティションです。UEFI ブートには必須です。
目次
パーティションの作成
以下のセクションでは EFI System Partition (ESP) を作成する方法を説明しています。
ESP の容量は 512 MiB にすることが推奨されていますが他のサイズでも問題ありません [1]。
Microsoft のドキュメントには ESP の容量について説明があります: Advanced Format 4K Native (4-KB-per-sector) のドライブでは、FAT32 ファイルフォーマットの制限によって、最小容量は 256 MiB となります。FAT32 のドライブの最小パーティションサイズはセクターサイズ (4KB) x 65527 = 256 MiB と計算されます。Advanced Format 512e ドライブはセクターサイズが 512 バイトだとエミュレートされているのでこの制限を受けません。512 バイト x 65527 = 32 MB、これはパーティションの最小容量 100 MB よりも少ない値です。参照: [2]。
GPT でパーティションされたディスク
GPT でパーティションされたディスクに ESP を作成する場合、以下の方法のどちらかを使って下さい:
- fdisk/gdisk: パーティションタイプ EFI System のパーティションを作成してください (fdisk では
EFI Systemですが gdisk ではEF00になります)。それからパーティションをフォーマットしてください。 - GNU Parted: Parted では FAT32 パーティションを作成してから
bootフラグを設定してください (legacy_bootフラグではありません)。それからパーティションをフォーマットしてください。
MBR でパーティションされたディスク
fdisk を使ってパーティションタイプ EFI System のパーティションを作成し、パーティションをフォーマットしてください。
パーティションのフォーマット
ESP を作成したら、FAT32 でフォーマットします:
# mkfs.fat -F32 /dev/sdxY
上記の GNU Parted を使用した場合、既にフォーマットされているはずです。
WARNING: Not enough clusters for a 32 bit FAT! というエラーが表示される場合、mkfs.fat -s2 -F32 ... あるいは -s1 を使ってクラスタのサイズを減らして下さい。エラーを放置すると UEFI からパーティションを読み取れなくなる可能性があります。
パーティションのマウント
EFISTUB の場合、カーネルと initramfs のファイルは EFI System Partition に保存する必要があります。また、EFISTUB ブートでは /boot パーティションを別に作らないで ESP を /boot パーティションとして使うことでシンプルにすることも可能です。その場合、上記のように EFI システムパーティションを作成・フォーマットした後、/boot にマウントしてください。
#バインドマウントを使うも参照。
既知の問題
RAID 上に ESP を配置
ESP を RAID1 アレイに置くことも可能ですが、データが破損する危険性があり、また、ESP を作成する際に様々な注意をする必要があります。詳しくは [3] や [4] を見て下さい。
ヒントとテクニック
バインドマウントを使う
ESP を /boot にマウントする代わりに、バインドマウントを使うことで ESP のディレクトリを /boot にマウントすることができます (mount(8) を参照)。これによって ESP を自由に扱えるようにしつつ pacman が直接カーネルを更新できるようにすることができます。ファイルをコピーする他の方法よりもずっとシンプルな方法になります。
EFISTUB#カーネルと initramfs を ESP にコピーするに書かれているように、ESP のディレクトリに全てのブートファイルをコピーしますが、ESP は /boot の外にマウントします (例: /esp)。そしてディレクトリをバインドマウントします:
# mount --bind /esp/EFI/arch/ /boot
ファイルが /boot に現れるようにしたい場合、fstab を編集して永続化させます:
/etc/fstab
/esp/EFI/arch /boot none defaults,bind 0 0