Ist es erforderlich, für die Installation mehrerer Linux-Betriebssysteme eine separate /boot-Partition zu erstellen?
Antwort1
Heutzutage benötigen Sie für keine größere Linux-Distribution eine separate /boot-Partition (und dies kann sogar einige Probleme verursachen). Wenn Sie versuchen, mehrere Linux-Installationen von einer einzigen Boot-Partition aus auszuführen, werden Sie höchstwahrscheinlich Probleme beim Booten haben. Sofern Sie keinen besonderen Grund haben, es anders zu machen, ist es am besten, eine Swap-Partition für alle Ihre Linux-Systeme und dann eine ext3/4/BTRFS/was auch immer-Partition für jede Installation zu haben, auf der Sie alle Ihre System- und Benutzerdateien für jede Linux-Installation ablegen. Sie können bei Bedarf eine separate Datenpartition/ein separates Datenlaufwerk haben und diese/es in jedem Betriebssystem entsprechend mounten.
Antwort2
Benötigen Sie für jedes Linux eine separate /boot-Partition?
Jede Distribution geht davon aus, dass sie die einzige ist, die /boot ändert (über yum
, apt
, ...). Lassen Sie nicht zu, dass mehrere Distributionen dasselbe/boot
Verzeichnis(Partition). System-Upgrades konkurrieren effektiv darum.
Wenn Sie /boot eine Partition reservieren, benötigt normalerweise jede Distribution eine eigene.
Was ist /boot?
Dies ist ein schlecht verstandenes Thema, seien Sie vorsichtig, was Sie lesen. Das /boot-Verzeichnis fungiert als Brücke, die es dem laufenden Betriebssystem ermöglicht, die Konfiguration des Bootloaders zu lesen und zu schreiben. Es ist zur Laufzeit für keinen anderen Zweck vorhanden.
Stellen Sie sich das Verzeichnis /boot als einen Speicherplatz für die Konfiguration und Plug-ins des Bootloaders sowie für den Kernel und Initramfs vor.
Wenn Sie Ihr System booten, startet die Firmware des Computers den Bootloader und der Bootloader liest /boot und lädt die Konfiguration. Dann lädt er den gewünschten Kernel und die Initramfs-Datei.
Tatsächlich besteht der einzige Grund, es unter Linux unter normalen Umständen gemountet zu lassen, darin, dass Systemaktualisierungstools (aufgerufen durch yum
, apt
, ...) erwarten, dass es vorhanden ist, damit sie beispielsweise einen neuen Kernel installieren können. Diese Tools sind ziemlich unflexibel. Ich rate Ihnen NICHT, es ohne /boot-Verzeichnis auszuführen.
Muss /boot eine eigene Partition sein?
Häufig nicht. Der einzige gute Grund, /boot auf einer eigenen Partition abzulegen, besteht darin, dass das Stammverzeichnis Ihres Systems / auf einem Speicherort gespeichert werden kann, den der Bootloader nicht oder nicht gut lesen kann.
Fühlen Sie sich sehr mutig?
Tatsächlich können Sie /boot über zwei Mechanismen freigeben. Ich schlage jedoch NICHT vor, dass einer dieser beiden Mechanismen ratsam ist.
Nur ein Linux installiert einen Kernel und Bootloader
Linux-Kernel können über verschiedene Distributionen hinweg überraschend kompatibel sein. Zumindest diejenigen mit einer ähnlichen Hauptversion können das sein. Es ist daher möglich, eine Distribution ohne installierten Bootloader oder Kernel zu haben. Ein solches Setup sollte nicht versuchen, /boot zu ändern und wird auch dann nichts Nützliches hinzufügen, wenn es dies tut.
Sie könnten daher ein Linux alle Boot-Einträge für ein anderes verwalten lassen und einfach einen Kernel zwischen ihnen teilen.
Unterverzeichnisse
Normalerweise denkt man nicht daran, aber es ist ziemlich sicher, etwas per Bind-Mount auf /boot zu mounten. Mit diesem Mechanismus könnten Sie eine Partition haben, die für jede Installation ein anders benanntes Boot-Verzeichnis enthält.
Ihr /etc/fstab
würde ungefähr so aussehen:
# Mount the boot partition
UUID=cb015492-4ca4-4fae-a416-6d89443e4680 /media/boot ext4 defaults 0 2
# Bind mount the desired
/media/boot/ubuntu-jammy-boot /boot none bind 0 0
Als ich das letzte Mal nachgesehen habe, sah es so aus, als ob grub-install
die Anordnung verstanden und Grubs grub.cfg
in EFI richtig konfiguriert worden wäre. Beispiel: /boot/efi/EFI/ubuntu/grub.cfg
. Wenn nicht, können Sie die Konfigurationszeile in dieser Datei manuell stapelweise ausführen:
set prefix=($root)'/ubuntu-jammy-boot/grub'
Antwort3
Es gibt zwei Gründe für die Notwendigkeit einer /boot
Partition:
- Das BIOS kann auf keiner großen Festplatte auf Sektoren zugreifen.
- der Bootloader kann keine ausgefallenen Datenträgermanager oder Dateisysteme laden, die dafür verwendet werden
/
.
Ich vermute, dass die erste Begründung bei heutigen Systemen nicht zutrifft. Und mit Grub2 kann sogar etwas wie LVM oder Btrfs mit den ersten Stufen (die die ersten Sektoren außerhalb eines Dateisystems betreffen) geladen werden.
Im Jahr 2022 konnte ich Debian jedoch nicht mit einem einzigen Volume installieren / + /boot
. Es befand sich auf einem Cloud-Server, ohne dass ich wirklich analysieren konnte, was passiert war (ich hatte die Anzeige nicht in meinem Sichtfeld).