Debian 9.9 をインストールする際の EFI の正しい場所

Debian 9.9 をインストールする際の EFI の正しい場所

Debian 9.9 をインストールしています。8 GB の RAM を搭載した 1 TB のハードディスクにこのレイアウトを適用したいと考えています。

Size              Name / Mounted at
512 MB            EFI System Partition
40 GB             /
8GB               /swap
Remaining space   /home

インターネットでは、/boot または /boot/efi にマウントされた EFI パーティションを使用している人がいます。

Debian 9 では /boot を FAT32 にできないため、/boot は使用できません。同じ理由で /boot/efi もオプションではないと考えるのが正しいでしょうか?

GRUB2 を含む /grub フォルダーが存在する理由はありますか? GRUB2 は EFI システム パーティションに自動的にインストールされないのでしょうか?

代替パーティション スキーム (/boot 内の EFI、/boot/efi、または /grub にインストールされた GRUB2) の利点は何ですか?

答え1

EFIパーティションの標準的な場所は(少なくともDebianの場合)です/boot/efi。これは、およびすべきであるFAT32 パーティション。

標準の Debian Grub EFI レイアウトでは、grub には 3 つの部分があります。

  1. /boot/efi
    マウントされたEFIパーティションには
    スタブgrubブートローダと設定が含まれています
  2. /boot/grub
    同じパーティション /boot または / には、
    grub モジュールと実際の grub 構成が含まれています。
  3. /etc/grub.d
    同じパーティション /
    自動構成スクリプトを含む

Grub は EFI 上に完全にインストールされるわけではなく、その大部分は他の場所に存在します。したがって、起動するには が必要です/boot/grub。 残りの部分を指すようにスタブとスタブ構成のみをインストールします。一般的な EFI スタブ構成は次のようになります ( /boot/efi/EFI/debian/grub.cfg)。

search.fs_uuid 2c675303-d207-4573-98f5-59a33c9890ab root hd0,gpt3
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

/boot/grub/grub.cfgこの構成では、実際の構成 (ハード ディスク 0 のパーティション 3 にある)がどこにあるかを grub に指示するだけであることに注意してください。

また、設定は主に /boot/grub に保存されますが、これを手動で編集することはなく、grub スクリプトに編集を依頼することに注意してください。したがって、grub を再設定するには (新しいカーネルを追加するだけの場合でも) も必要です/etc/grub.d。このディレクトリのスクリプトは、Debian によってインストールされた他のライブラリに依存している可能性があることに注意してください。


したがって、次の 2 つの理由から /boot/grub を保持する必要があります。

  1. 実際の設定と grub モジュールが含まれています。
  2. 自動構成スクリプトが新しい構成を書き込む場所を認識できるようにするためです。

本当に/boot/grubEFI に移行したい場合... (非標準)

実際にあなたを止めるものは何もありません。スクリプトが/etc/grub.dそれを見つける場所を知っていることを確認してください(例:シンボリックリンクを残す)

EFI難解な理由で、以前にもこれを実行したことがあります。 2 つのディレクトリとを含む EFI パーティションを持つシステムを実行していますgrub。 これを次のように設定しました。

# Move /boot/grub onto my EFI partition
mv /boot/grub /boot/efi

# Leave a symbolic link from the old location to the new location
ln -s /boot/efi/grub /boot/grub

# Update the stub config /boot/efi/EFI/debian/grub.cfg to point to the new location
grub-install

# For safety update the contents of /boot/efi/grub aka /boot/grub
update-grub

実際、私はこの設定が気に入っています。なぜなら、OS を削除して GRUB を破壊し、他の OS が起動できないようにするという、ここで何度か目にしたミスを防ぐことができるからです。


分割の理由

パーティション分割にはさまざまな目的があります。ブートローダーの一部をパーティション分割すると、システムのさまざまな部分のさまざまな機能を処理するのに便利です。

  • BIOSはFATベースのファイルシステムしか読み取れません
  • Grubはファイルシステムをかなりうまくサポートしていますが、LVMと暗号化されたボリュームは問題になることがあります。
  • Linuxはすべてを読み取ることができる
  • 古いGrubレガシーは非常に大きなディスクやパーティションを読み取ることができませんでした

BIOS は grub をロードして実行できる必要があるため、EFI は FAT ベースのファイル システム上にある必要があります。

マスター パーティションは grub が読み取れない場所にある可能性がありますが、grub はカーネル、Initramfs、および自身の構成にアクセスする必要があるため、/boot と /boot/grub は grub が読み取り可能なパーティションにある必要があります。grub レガシーの昔は、このパーティションが十分に小さく、非常に小さなディスクのドライブの先頭近くにあることも確認する必要がありました。

Linux はすべてを読み取ることができますが、LVM または暗号化されたボリューム上で Linux を実行する必要がある場合があります。

関連情報