Triple-Boot Linux: Wie genau partitionieren? (UEFI)

M

McMoneysack91

Gast
Liebe Freunde,

ich möchte testweise auf meiner HDD Festplatte (150GB) die Linux-Distributionen

Fedora 36 Workstation
Ubuntu 22.04LTS
OpenSUSE Leap 15.4

in einem Triple-Boot Verfahren nebeneinander installiert haben, sodass ich beim Booten im GRUB Menü zwischen denen auswählen kann. Ich selber habe es auch gerade mal so halbwegs hinbekommen, komme aber nicht weiter. Gibt es eine Reihenfolge, mit der man lieber anfangen sollte?

Kann mir jemand eine zusammenfassende Paritionierung posten? Und welche Dinge gilt es noch zu beachten (boot flag, mount points etc).


Hypothese

Angenommen ich fange jetzt mit OpenSUSE Leap 15.4 an. Ich gehe in den Experten-Partitionierer und habe eine leere Festplatte vor mir. Dann lege ich zunächst eine 512MB große Partition als EFI-System an, formatiere es in FAT32 und setze den mount point /boot/efi.

Als nächstes mache ich eine 45GB große Partition für mein normales OpenSUSE, formatiere es z.B. in ext4 und mounte es nach /,

So. Unsere Tabelle sieht bislang so aus:

/dev/sda/
sda1 512BM EFI Fat /boot/efi
sda2 45GB root /

Soweit so gut. OpenSUSE ist installiert.

Als nächstes Fedora

Und hier ist die Frage was tue ich mit der bereits existierenden EFI Partition? Formatiere ich sie nochmal? Oder mache ich NOCH eine NACH OpenSUSE? Und selbes Spiel dann für Ubuntu am Ende...

Also quasi

/dev/sda/
sda1 512MB EFI Fat /boot/efi (OpenSUSE)
sda2 45GB root / (OpenSUSE)
sda3 512MB EFI Fat /boot/efi (Fedora)
sda4 45GB root / (Fedora)
sda5 512MB EFI Fat /boot/efi (Ubuntu)
sda6 45GB root / (Ubuntu)

ODER

/dev/sda/
sda1 512MB EFI Fat /boot/efi
sda2 45GB root / (OpenSUSE)
sda3 45GB root / (Fedora)
sda4 45GB root / (Ubuntu)

Letzteres habe ich angestrebt aber irgendwie kam ich da schon an Hürden weil Fedoras Partitionierer nach EFI Systemen verlangte weshalb ich die ursprüngliche EFI Partition umformatierte in ein EFI System nach Fedoras Art. Das wiederum verursachte Startprobleme bei OpenSUSE. Im Endeffekt wurde Ubuntu gar nicht erst im GRUB Menü angezeigt.
 
letzteres. tbh musst du da nicht viel denken.. einfach beim installieren pro betriebssystem eine partition anlegen. Beim 1. OS wird die efi partition automatisch angelegt und die anderen 2 konfigurieren grub entsprechend, sobald du sie installierst.
Ich habe lange nicht erlebt, dass das nicht out of the box ging..

McMoneysack91 schrieb:
Im Endeffekt wurde Ubuntu gar nicht erst im GRUB Menü angezeigt.
was sagt grub-mkconfig? das schaut eigentlich via os-prober welche OS es findet und traegt sie alle ein
 
Oh oh. Klingt also nach klassischem Fall von Over-Complication meinerseits? Ich werde morgen mach einfach stumpf die erste Installation passend konfigurieren und die anderen stumpf jeweils hinten dran. :D
 
Ich habe es noch nie anders gemacht. Als ich damals die ersten runden mit linux in 2004 gedreht habe funktionierte das alles out of the box. Hat mich gefreut.

Dann und wann, gabs mal schluckauf, aber spaetestens nach frischem grub install war alles super.
Das einzige worueber du mmn stolpern kannst, ist, wenn du bspw. ein OS im Legacy modus (MBR) und den Rest fuer UEFI Systeme installierst. os-prober schaut nicht beides zugleich. Auch das laesst sich loesen, ist aber fummelei.
Bei Grub:alles was der selber machen kann, einfach machen lassen.

Solltest du LUKS u.a nutzen, dann muessen alle volumes bei der erkennung entsperrt sein
 
  • Gefällt mir
Reaktionen: McMoneysack91
madmax2010 schrieb:
Als ich damals die ersten runden mit linux in 2004 gedreht habe funktionierte das alles out of the box
da haste aber noch kein uefi gehabt sondern da lief alles über mbr, der fragesteller wünscht jedoch eine efi gpt basierte lösung
 
n1tro666 schrieb:
da haste aber noch kein uefi gehabt sondern da lief alles über mbr, der fragesteller wünscht jedoch eine efi gpt basierte lösung
bin ich doch oben auch schon drauf eingegangen? Welche Info fehlt
 
Nur mal eine Zwischenfrage, weil ich bisher nur eine UEFI Installation in 2011 gemacht habe, zum Testen.

Also, wenn ich mehrere Linux installiere (MBR), dann installiere ich das erste wie gewohnt, und bei den zusätzlichen lasse ich einfach überhaupt keinen Bootloader installieren (oder alternativ in die root Partition des jeweiligen Systems, aber nicht nochmal in den MBR).
Nach der Installation des 2./3. Linux werden die natürlich solange nicht im Grub-Menü angezeigt, bis ich auf dem ersten System (dessen Grub im MBR geschrieben ist) ein update-grub bzw. grub-mkconfig gemacht habe.
Danach erscheint auch ein nachträglich installiertes System im Grub-Menü.

Ist das bei UEFI genauso, oder muss man dort für jedes System einen Bootloader installieren? Wenn es genauso wie bei der MBR-Installation funktioniert, dann würde ich empfehlen nur für das erste System einen Bootloader zu installieren und für die weiteren Systeme einfach nicht.

Noch etwas zu "zuerst openSuse Leap". Ich habe die komische Erfahrung gemacht, dass openSuse (bei mir war es Tumbleweed), das erste Linux war, bei dem ein grub-mkconfig nicht ausgereicht hat, um nachträglich installierte Systeme im Grub anzeigen zu lassen. Erst ein Bearbeiten des Bootloaders in Yast, hat das nachträglich installierte System im Grub-Menü sichtbar gemacht.
Meine Empfehlung wäre daher eigentlich openSuse nicht als erstes System zu installieren. Aber andererseits hatte openSuse (tumbleweed zumindest) das bisher schönste Grub-Menü, das ich bisher out-of-the-box gesehen habe :) Wenn also openSuse zuerst, dann an das Yast denken, wenn man die anderen Systeme nicht im Grub findet.

Und zum Schluss noch: Wenn es nur 3 Systeme auf eine 150 GB Platte sind, sollte doch auch MBR vollkommen ausreichen oder? Wenn ich mehrere Partitionen brauche, dann erstell ich einfach eine erweiterte Partition, in die ich soviele Partitionen einfügen kann wie ich will.
 
Der zweite Formatierungsvorschlag ist richtig. Die EFI Partition wird nur einmal formatiert und bei den anderen Installationen nur jeweils nach /boot/efi eingehangen. Dabei gehe ich mal davon aus das Suse & co für die EFI auch /boot/efi nutzt und nicht /efi wie bei Arch, ich habs nicht nachgeprüft. Grub musst du auch nur einmal installieren.

Wenn es nicht klappt würde ich jedes System mal als dryrun bis zum Ende des Installers konfigurieren um zu sehen wie bei dem jeweiligen System die standart Partitionierung und mount points aussehen. Vielleicht erkennt man dann woran mögliche Fehler liegen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: McMoneysack91
Tacheles schrieb:
nur jeweils nach /boot/efi eingehangen
McMoneysack91 schrieb:
weshalb ich die ursprüngliche EFI Partition umformatierte
vielleicht steckt hier der fehlerteufel - einhängen, aber nicht(!) formatieren

Schließlich sollte es auch mit der manuellen Variante gehen.
Hab die automatischen Installs noch nie gemacht weil zuviel Kontrollverlustsangst xD
 
Also:

Heute habe ich nochmal bei 0 angefangen. Ich fing also an mit OpenSUSE und erstellte eine 512MB große EFI Partition formatiert als FAT und gemountet nach /boot/efi. Dazu eine 45GB große root Partition die nach / gemounted wurde. Alles klärchen. Installiert und nach OpenSUSE gebootet ohne Probleme.

Jetzt ist Fedora dran.

Ich beließ also die erste Partition, formatierte sie nicht und mountete sie bloß nach /boot/efi. Das warf schon den Fehler aus.
partition1.jpg

partition2.jpg


Es scheint als würde der Partitionierer die EFI Partition die ich unter OpenSUSE angelegt habe nicht anerkennen. Was tun?


EDIT:

Ich habe die Methode angewandt die ich gestern schon angewandt habe bevor ich den Post verfasste. Ich habe auch die bereits existierende EFI Partition formatiert als EFI-Filesystem und sie nach /boot/efi eingehangen. So ließ der Installer es zu und jetzt läuft die Installation. In der Hoffnung dass gleich beim GRUB sowohl Fedora als auch das zuvor installierte OpenSUSE erkannt und auch erfolgreich gebootet werden können.

Und wenn DEM so ist, werde ich das bei Ubuntu fürchte ich genauso machen müssen dass ich die erste Partition erneut als EFI-Filesystem formatiere und nach /boot/efi einhänge.

EDIT EDIT:

Leider das gestrige Ergebnis, das mich überhaupt erst zu diesem Post geführt hat. Wenn ich im GRUB Menü Fedora auswähle, ist alles tutti und es bootet nach Fedora rein. Wenn ich allerdings OpenSUSE wähle, kommt das

opensuse error.jpg
 
Zuletzt bearbeitet von einem Moderator:
McMoneysack91 schrieb:
Es scheint als würde der Partitionierer die EFI Partition die ich unter OpenSUSE angelegt habe nicht anerkennen. Was tun?
Na ich würde erst mal checken, ob die Fehlermeldung überhaupt berechtigt ist. Also erfüllt die UEFI-Partition überhaupt die Kriterien die da sein müssen damit sie als UEFI-Partition gilt.
Falls ja, liegt der Fehler ja vielleicht beim Installer. Falls nein hat offenbar die OpenSUSE-Installation Mist gebaut.
Jedenfalls das würde ich klären und dann kann man gucken, was man konkret macht.
 
Nochmal meine Frage: Muss man bei UEFI für jedes System einen Bootloader installieren? Bei MBR reicht es beim ersten System. Danach kann man das bei den nachfolgenden während der Installation abwählen.
 
gio127 schrieb:
Nochmal meine Frage: Muss man bei UEFI für jedes System einen Bootloader installieren? Bei MBR reicht es beim ersten System.
Was meinst Du jetzt? Bootloader oder Boot-Manager. Weil die MBR-Einlassung klingt eher nach Boot-Manager. Oder am besten sagst Du, was das machen soll, was Du dann installierst.
 
andy_m4 schrieb:
Was meinst Du jetzt? Bootloader oder Boot-Manager. Weil die MBR-Einlassung klingt eher nach Boot-Manager. Oder am besten sagst Du, was das machen soll, was Du dann installierst.
Booloader, denke ich. Bei der Installation kann man doch auchwählen wohin er geschrieben werden soll. Beim Calamares Installer (Ubuntu) z.B. unter dem Patrtitionierungsfenster, kann man auswählen MBR oder root-Parition des Systems oder halt gar keinen Bootloader installieren.
Bei Fedora ist die Option schon etwas versteckter.

McMoneysack91 schrieb:
Es scheint als würde der Partitionierer die EFI Partition die ich unter OpenSUSE angelegt habe nicht anerkennen. Was tun?
Wenn meine obige Verfahrensweise bei UEFI nichts bringt, dann schau nochmal, ob du openSuse dazu bringen kannst /boot/efi in FAT32 anstatt in vFAT zu formattieren.
 
gio127 schrieb:
Booloader, denke ich.
Also der Boot-Manager ist das Ding, wo ich beim einschalten des Computers auswählen kann, welches System ich starte. Also z.B. mein ubntu was ich auf Partition A installiert hab oder mein Windows was ich auf Partition B installiert hab.
Der Boot-Loader ist quasi das Ding was dann den eigentlich Startvorgang einläutet. Der ist auch normalerweise unsichtbar weil da keine Nutzerinteraktion mit einher geht (den sieht man also höchstens mal als Datei irgendwo liegen).

Software wie GRUB kann so ein bisschen beiden Kategorien zugeordnet werden. Der übernimmt sowohl Boot-Manager-Funktionen als auch das es ein Linux-Boot-Loader ist.

Bei UEFI haben wir die Situation das wir den Boot-Manager-Teil eigentlich gar nicht brauchen. Weil das eine Funktionalität ist die UEFI selbst zur Verfügung stellt. Es gibt eine Tabelle wo die Bezeichnung von den Betriebssystemen drin steht und der jeweils zuständige Verweis darauf wo die Partition und der Boot-Loader zu finden ist. Deswegen brauch ich da den ganzen Kram wo dann irgendwas in den MBR (oder die GPT) installiert wird eigentlich nicht. Das einzige was ich machen muss wenn ich ein weiteres Betriebssystem installiere in der eben genannten Tabelle einen Eintrag für das neu installierte Betriebssystem einzufügen (im simpelsten Fall mit Tools wie uefibootmgr) und dann natürlich noch den Boot-Loader der ebenfalls in der EFI-Partition abgelegt wird damit das UEFI den auch zum booten findet.

Wie das dann die konkrete Distribution im einzelnen macht, weiß ich nicht. Da müsste man mal gucken.
 
Wie auch immer. Ich meine während der Installation wird das Bootloader genannt.

Die Frage war, kann man während der UEFI-Installation beim 2./3. .. System - genau wie bei einer MBR-Installation - darauf verzichten? Gibt es da überhaupt die Option, die unter MBR als "keinen Bootloader installieren" angezeigt wird?
Wie gesagt ist das bei einer MBR-Installation eine Möglichkeit, und os-prober findet beim ausführen eines grub-mkconfig die anderen Systeme trotzdem und zeigt sie an. Ist das bei UEFI auch so? Dann diese Option beim 2. und 3. System wählen. Wenn nicht, im Zweifelsfall einfach im MBR Modus installieren.
 
gio127 schrieb:
kannst /boot/efi in FAT32 anstatt in vFAT zu formattieren.
Ja. Könnte man natürlich mal probieren. Für das UEFI ist es unerheblich ob das ein FAT32 mit oder ohne v ist aber kann sein das es den Installer aus dem tritt bringt.
Wichtig ist dabei aber nicht nur wie die Partition formatiert ist, sondern auch wie sie in der Partitionstabelle als Partitionstyp deklariert ist. Wenn da also irgendwas mit FAT steht oder so dann ist das falsch. Da sollte schon EFI oder sowas stehen. Und es sollte idealerweise auch nicht mehr als eine davon geben. Also nirgendwo. Auch nicht auf anderen Platten.

gio127 schrieb:
Wie auch immer. Ich meine während der Installation wird das Bootloader genannt.
Nu lass uns nicht wieder Begrifflichkeiten durcheinander bringen wenn sie jetzt schon einmal definiert wurden. Das provoziert nur Missverständnisse.

gio127 schrieb:
Die Frage war, kann man während der UEFI-Installation beim 2./3. .. System - genau wie bei einer MBR-Installation - darauf verzichten?
Also ein Bootloader braucht man natürlich immer.
Übrigens wirfst Du hier zwei Dinge durcheinander. Das Pandant zu UEFI ist nicht MBR, sondern BIOS.

Anyway. Bei UEFI braucht das installierte System nicht großartig was zu "installieren". Es muss halt nur den Eintrag in der UEFI-Boottabelle machen und nen Loader auf der EFI-Partition hinterlegen (was letztlich nur bedeutet, das da ne Datei kopiert wird).

Ich würde mir generell gut überlegen ob ich mir in der Konstellation UEFI/GPT überhaupt noch ein GRUB ans Bein binde. Weil das ne Komponente ist, die ich eigentlich gar nicht brauche und nur unnötige Komplexität rein bringt. Wenn man das macht, dann würde ich es auf die Loader-Funktion reduzieren. Sprich man wirft GRUB ganz normal wie jeden anderen Bootloader in die EFI-Partition und legt ein Eintrag an, der auf GRUB bzw. den Loader verweist.

gio127 schrieb:
Wie gesagt ist das bei einer MBR-Installation eine Möglichkeit, und os-prober findet beim ausführen eines grub-mkconfig die anderen Systeme trotzdem und zeigt sie an. Ist das bei UEFI auch so?
Ähm nein. Du brauchst ja keinen "Prober" der sozusagen abscannt und daraus die Boot-Manager-Einträge erzeugt. Im UEFI-Mode legt ja jede Systeminstallation einen Eintrag in der genannten Tabelle an. Die Notwendigkeit eines solchen Mechanismus entfällt.
Zu BIOS-Zeiten ohne EFI-Parition war das etwas anderes, weils da keinen etablierten Mechanismus für gab über die gemachten Installationen quasi Buch zu führen.
 
Ich scheine einfach kein Glück zu haben.

Nun habe ich die Reihenfolgen getauscht. Zuerst Fedora installiert mit EFI und root Partition und OpenSUSE hinterher. Bei der Installation die EFI Partition belassen wie sie war und nur als mountpoint /boot/efi gewählt. Beim Starten wird mir nicht mal mehr ein GRUB Menü angezeigt. Sofort bootet alles nach Fedora rein.

Ich versuche jetzt noch fix Ubuntu hinterher zu schieben. Vielleicht bekomme ich dann ein GRUB Menü.
 
andy_m4 schrieb:
Nu lass uns nicht wieder Begrifflichkeiten durcheinander bringen wenn sie jetzt schon einmal definiert wurden. Das provoziert nur Missverständnisse.
Der Installer nennt es Bootloader. Was richtig ist kann ich nicht sagen. Also, sag du wie es heißt.

andy_m4 schrieb:
Das Pandant zu UEFI ist nicht MBR, sondern BIOS.
Stimmt, das war wirklich falsch.
andy_m4 schrieb:
Ähm nein. Du brauchst ja keinen "Prober" der sozusagen abscannt und daraus die Boot-Manager-Einträge erzeugt.
Ok, dann ist das also keine Option.


McMoneysack91 schrieb:
Starten wird mir nicht mal mehr ein GRUB Menü angezeigt. Sofort bootet alles nach Fedora rein.

Ich versuche jetzt noch fix Ubuntu hinterher zu schieben. Vielleicht bekomme ich dann ein GRUB Menü.
Wenn es schon installiert ist, kannst du ja trotzdem einmal sudo grub2-mkconfig -o /boot/grub2/grub.cfg in Fedora ausführen und schauen, ob dann etwas angezeigt wird.

Wenn nicht, dann vielleicht doch im BIOS-Modus, oder bietet dein Mainboard diese Option nicht?
 
Zurück
Oben