Richtiger Ort für EFI bei der Installation von Debian 9.9

Richtiger Ort für EFI bei der Installation von Debian 9.9

Ich installiere Debian 9.9 und möchte dieses Layout für meine 1-TB-Festplatte mit 8 GB RAM.

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

Im Internet verwenden Leute eine EFI-Partition, die unter /boot oder /boot/efi gemountet ist.

Da Debian 9 nicht zulässt, dass /boot FAT32 ist, können wir /boot nicht verwenden. Liege ich richtig in der Annahme, dass aus demselben Grund auch /boot/efi keine Option ist?

Gibt es einen Grund, einen /grub-Ordner mit GRUB2 darin zu haben? Würde GRUB2 nicht automatisch in der EFI-Systempartition installiert?

Welche Vorteile bieten die alternativen Partitionierungsschemata (z. B. EFI in /boot, /boot/efi oder GRUB2 installiert in /grub)?

Antwort1

Der Standardort (zumindest für Debian) für Ihre EFI-Partition ist /boot/efi. Dies kann sein undsollte seineine FAT32-Partition.

In einem standardmäßigen Debian Grub EFI-Layout besteht Grub aus drei Teilen:

  1. /boot/efi
    Gemountete EFI-Partition
    Enthält Stub Grub Bootloader und Konfiguration
  2. /boot/grub
    Dieselbe Partition /boot oder /
    Enthält Grub-Module und die eigentliche Grub-Konfiguration
  3. /etc/grub.d
    Dieselbe Partition wie /
    Enthält automatische Konfigurationsskripte

Grub installiert sich nicht vollständig auf EFI, ein erheblicher Teil davon befindet sich woanders. Um booten zu können, benötigen Sie also immer noch /boot/grub. Es installiert nur einen Stub und eine Stub-Konfiguration, um sich auf den Rest zu verweisen. Eine typische EFI-Stub-Konfiguration sieht folgendermaßen aus ( /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

Beachten Sie, dass diese Konfiguration Grub nur mitteilt, wo die echte Konfiguration zu finden ist ( /boot/grub/grub.cfgbefindet sich auf Festplatte 0, Partition 3).

Beachten Sie auch, dass Sie die Konfiguration, obwohl sie hauptsächlich in /boot/grub gespeichert ist, nie manuell bearbeiten, sondern ein Grub-Skript bitten, dies für Sie zu tun. Um Grub neu zu konfigurieren (selbst wenn Sie nur einen neuen Kernel hinzufügen möchten), benötigen Sie daher auch /etc/grub.d. Beachten Sie, dass Skripte in diesem Verzeichnis möglicherweise auf andere von Debian installierte Bibliotheken angewiesen sind.


Daher müssen Sie /boot/grub aus zwei Gründen beibehalten:

  1. Es enthält Ihre aktuelle Konfiguration und Grub-Module.
  2. Damit die automatischen Konfigurationsskripte wissen, wo sie die neue Konfiguration schreiben müssen.

Wenn Sie wirklich /boot/grubauf EFI umsteigen möchten ... (nicht standardmäßig)

Es gibt eigentlich nichts, was Sie davon abhält. Stellen Sie einfach sicher, dass die Skripte /etc/grub.dwissen, wo sie zu finden sind (z. B. indem Sie einen symbolischen Link hinterlassen).

Ich habe das aus esoterischen Gründen schon einmal gemacht. Ich betreibe ein System mit einer EFI-Partition, die zwei Verzeichnisse EFIund enthält grub. Ich habe das folgendermaßen eingerichtet:

# 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

Mir gefällt dieses Setup eigentlich, weil es vor dem Fehler schützt, den ich hier schon mehrmals gesehen habe: dass Leute ein Betriebssystem löschen, Grub zerstören und so das Booten anderer Betriebssysteme verhindern.


Gründe für die Partitionierung

Die Partitionierung hat mehrere Zwecke. Wenn Sie Teile Ihres Bootloaders partitionieren, ist dies nützlich, um unterschiedliche Fähigkeiten verschiedener Teile Ihres Systems zu handhaben.

  • Ihr BIOS kann nur FAT-basierte Dateisysteme lesen
  • Grub bietet ziemlich gute Unterstützung für Dateisysteme, aber LVM und verschlüsselte Volumes können ein Problem darstellen
  • Linux kann alles lesen
  • AltGrub Legacy konnte sehr große Festplatten oder Partitionen nicht lesen

Ihr BIOS muss in der Lage sein, Grub zu laden und auszuführen, daher muss EFI auf einem FAT-basierten Dateisystem liegen.

Ihre Masterpartition kann sich auf einem für Grub nicht lesbaren Medium befinden, aber Grub benötigt Zugriff auf Ihren Kernel, Initramfs und seine eigene Konfiguration. Daher müssen /boot und /boot/grub auf einer für Grub lesbaren Partition liegen. Früher, als Grub noch nicht verwendet wurde, mussten Sie außerdem sicherstellen, dass diese Partition klein genug war und sich auf sehr kleinen Festplatten am Anfang des Laufwerks befand.

Linux kann alles lesen, aber Sie möchten vielleicht, dass Linux auf einem LVM oder einem verschlüsselten Volume ausgeführt wird.

verwandte Informationen