Frage von Onlinedachs, 112

Wie mit EFI-Systempartition bei Neuinstallation umgehen (Linux/Windows)?

So wie ich das bisher verstehe, verwaltet eine(!) EFI-Systempartition alle Betriebssysteme auf einem Rechner. Mal angenommen man hat ein frisches System mit einer Festplatte, die mit einer GPT-Partitionstabelle ausgestattet ist.

  • Szenario 1: Zuerst wird Linux installiert. Dabei wird eine EFI-Systempartition angelegt. Danach wird Windows installiert. Während des Installationsvorgangs kann man sehen, dass bei der Auswahl einer neuen Windows Partition KEINE EFI-Systempartition angelegt wird.
  • Szenario 2: Zuerst wird Windows installiert. Während des Installationsvorgangs kann man sehen, dass bei der Auswahl einer neuen Windows Partition eine EFI-Systempartition angelegt wird. Danach wird Linux installiert; auch Linux erkennt die bereits vorhandene EFI-Systempartition und installiert keine eigene (vorausgesetzt es wird eine automatische Installation gewählt).

Beide Szenarien liefern in der Theorie das gleiche Ergebnis: Zwei Betriebssysteme und eine EFI-Systempartition.

Frage: Ist das so gewollt? Ist das der Gedanke hinter der EFI-Systempartition? Was ist zu tun, wenn man vom diesem Zustand ausgehend z.B. nur(!) Windows neu installieren möchte? Dürfen dann nur die alten Windows-Partitionen, nicht aber die EFI-Systempartition gelöscht werden?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Linuxhase, 47

Hallo

So wie ich das bisher verstehe, verwaltet eine(!) EFI-Systempartition alle Betriebssysteme auf einem Rechner.

Genau, dort sollte jedes Betriebssystem eine Datei liegen haben welche dann als Booteintrag genommen wird.

Zuerst wird Linux installiert. Dabei wird eine EFI-Systempartition angelegt.

Das ist afaik nicht zwingend.

Während des Installationsvorgangs kann man sehen, dass bei der Auswahl
einer neuen Windows Partition KEINE EFI-Systempartition angelegt wird.

Ist das so oder eine hypothetische Annahme?

Danach wird Linux installiert; auch Linux erkennt die bereits vorhandene EFI-Systempartition und installiert keine eigene

Mein BIOS besitzt wahrscheinlich(?) noch kein UEFI, jedenfalls habe ich bisher nur im MBR-basierten Modus installiert. Von daher kenne ich das nur aus der Theorie. (Ist ein selbst zusammen gebauter Computer)

Frage: Ist das so gewollt?

Ich denke schon; hoffe das die Schöpfer sich was dabei gedacht haben ;-)

Dürfen dann nur die alten Windows-Partitionen, nicht aber die EFI-Systempartition gelöscht werden?

Die EFI-Systempartition muss natürlich erhalten bleiben wenn darin ein System steht das noch booten können soll. Man muss ja auch keine Partitionen löschen wenn man ein anderes Betriebssystem installieren möchte, allenfalls die Formatierung desselben an das Zielsystem verändern.

Linuxhase

Kommentar von Onlinedachs ,

Hallo Linuxhase, das hat mir schon einmal weitergeholfen. Alles was ich oben beschrieben habe, habe ich übrigens nach vielen Tests selbst beobachtet.

Zum Hintergrund: Vor einer Neuinstallation meiner Systeme habe ich keine Angst, denn ich speichere Dateien nie lokal. Das Betriebssystem sehe ich als normales Programm an. Die Standardeinstellungen reichen mir meistens aus. Die wenigen Dinge die ich brauche, sind in einer Viertelstunde eingerichtet. Kommt eine neue Linux-Version raus, installiere ich sie von Grund auf neu. Das gleiche bei einer neuen Microsoft-Build. Ich bin mir bewusst, dass ich in diesem Punkt sehr radikal/extrem bin und ich verlange von niemandem diese Ansicht zu teilen. Leider habe ich in der Vergangenheit immer wieder die Erfahrung gemacht, dass das eine Betriebssystem nicht mehr bootet, wenn ich am anderen was verändert habe *grins*

Ich frage jetzt noch einmal ganz blöd: Mal angenommen ich installiere Windows 10 so, dass bei dieser Installation die EFI-Systempartition erstellt wird. Ist diese auch für Linux lesbar? Also macht es Linux nichts, wenn diese Partition von Windows erstellt wurde? Oder andersrum: Macht es Windows nichts, wenn die EFI-Systempartiton von Linux erstellt wurde? Beide Betriebssysteme können diese Partition also nutzen?! Es ist also völlig egal, bei "wer" die EFI-Systempartition erstellt hat, es muss aber EINE vorhanden sein. Dies gilt auch dann, wenn man 10 Festplatten mit 6 Betriebssystemen hat?

Kommentar von Linuxhase ,

@Onlinedachs

Kommt eine neue Linux-Version raus, installiere ich sie von Grund auf neu. Das gleiche bei einer neuen Microsoft-Build.

Das kann man so machen. Dann hast Du damit doch bereits Erfahrungen gemacht, wahrscheinlich mehr als ich, der ich seit Jahren kein Windows ernsthaft benutze.

Leider habe ich in der Vergangenheit immer wieder die Erfahrung gemacht, dass das eine Betriebssystem nicht mehr bootet, wenn ich am anderen was verändert habe *grins*

Bisher ist es mir nie so gegangen, meine Partitionierung und mein Bootloader sind seit eh und je die Gleichen weil Windows nie neu installiert wurde. Den GRUB konnte ich bisher immer manuell anpassen falls dies nötig gewesen ist.

Ich frage jetzt noch einmal ganz blöd: Mal angenommen ich installiere
Windows 10 so, dass bei dieser Installation die EFI-Systempartition
erstellt wird. Ist diese auch für Linux lesbar?

Ja natürlich, das ist so in der EFI-Spezifikation vorgesehen und daran wird sich auch Microsoft halten müssen. Außerdem kann Microsoft sowieso keine Dateisysteme verstecken oder solche verwenden die ein GNU/Linux nicht lesen könnte.

Also macht es Linux nichts, wenn diese Partition von Windows erstellt wurde?

Nein, wenn eine vorhanden ist wird sie, wenn so angegeben, auch verwendet.

Beide Betriebssysteme können diese Partition also nutzen?!

Richtig.

Es ist also völlig egal, bei "wer" die EFI-Systempartition erstellt hat, es muss aber EINE vorhanden sein.

Ja genau so ist es.

Dies gilt auch dann, wenn man 10 Festplatten mit 6 Betriebssystemen hat?

Man kann natürlich auch mehrere UEFI-Partitionen und darin unterschiedliche Installationen betreiben, wenn man das so möchte. Damit kann man auch über die Bootauswahl des BIOS den Datenträger angeben um eine bestimmte Konstellation aufzurufen.

---------------------------------------------------------------------------------------------

  • Ich hatte schonmal ein System wo nur eine Festplatte im PC gewesen ist und darauf befand sich ein Windows XP und ein Windows 7.
  • Dann habe ich eine zweite Festplatte an erster Stelle eingebaut und darauf openSUSE installiert.
  • Den Bootloader von Windows habe ich unberührt gelassen und den GRUB im MBR der neuen Platte installiert.
  • Wenn ich dann in der BIOS-Bootauswahl die ehemals 1. Platte gewählt habe hatte ich nur den Windows-Bootloader zur Verfügung der mich zwischen XP und 7 wählen ließ.
  • Habe ich die andere Festplatte gewählt konnte ich mich zwischen beidem Betriebssystemen entscheiden und bei Auswahl von Windows kam dann nach dem GRUB noch das Bootmenü von Windows.

Linuxhase

Kommentar von Onlinedachs ,

Hallo Linuxhase, eine Nachfrage hätte ich noch. Mal angenommen mein System sieht so aus (2 Festplatten, vereinfacht dargestellt):

  • /dev/sda1: Windows
  • dev/sda2: EFI-Systempartition
  • /dev/sdb1: Linux

In diesem Beispiel wurde zuerst Windows installiert, wobei auch die EFI-Systempartition angelegt wurde. Später wurde Linux installiert, welches die schon vorhandene EFI-Systempartition nutzt. Soweit so gut.

Jetzt wird /dev/sda komplett gelöscht (von mir aus mit "shred", Linux-Nutzern sollte dieser Befehl ja ein Begriff sein). Die eigentlichen Daten auf /dev/sdb1 sind ja noch vorhanden, aber Linux wird trotzdem nicht wie gewohnt booten.

Jetzt wird auf /dev/sda wieder Windows installiert - einschließlich einer EFI-Systempartition. Die Situation sieht nun exakt so aus wie in dem obigen Beispiel. Nun nehme ich mal an, Windows bootet normal, Linux aber immer noch nicht.

Frage: Was sollte man in diesem Fall tun? Wie bekommt man Linux wieder zum booten?

Kommentar von Linuxhase ,

@Onlinedachs

Jetzt wird /dev/sda komplett gelöscht (von mir aus mit "shred"

  • Du kannst /dev/sda nicht mit shred löschen sondern nur die Dateien in dem zugrundeliegenden Dateisystem.
  • Die Partition selbst bleibt erhalten. Auch wird shred, ebenso wenig wie rm nichts am MBR verändern weil es darauf gar keinen Zugriff hat.

Die eigentlichen Daten auf /dev/sdb1 sind ja noch vorhanden

Natürlich, du löschst ja auf sda :-)

aber Linux wird trotzdem nicht wie gewohnt booten.

Warum sollte es nicht booten können, solange der Bootloader im MBR und in /boot vorhanden ist?!

Jetzt wird auf /dev/sda wieder Windows installiert - einschließlich einer EFI-Systempartition.

Wenn sich Micro$oft an die Richtlinien des EFI/UEFI hält sollte keine *.efi Datei in der gleichnamigen Partition gelöscht werden.

Linux aber immer noch nicht.

Das liegt dann daran weil Windows den MBR aber neu schreibt, der ist leider Freiwild für den Windows-Installer.

Was sollte man in diesem Fall tun? Wie bekommt man Linux wieder zum booten?

Vor dem installieren von Windows den MBR sichern und ihn nach Abschluss der Installation wieder zurückschreiben. Man kann ja zur Sicherheit auch die Inhalte der EFI-Partition in einem Backup sichern.

Linuxhase

Kommentar von Onlinedachs ,
  • Du kannst /dev/sda nicht mit shred löschen sondern nur die Dateien in dem zugrundeliegenden Dateisystem.
  • Die Partition selbst bleibt erhalten. Auch wird shred, ebenso wenig wie rm nichts am MBR verändern weil es darauf gar keinen Zugriff hat.

Diese Aussagen entsprechen nicht meiner Erfahrung und sind IMHO nach schlicht falsch. Mit der Funktion 'shred' lässt sich zweifellos ein ganzes Gerät (also /dev/sdx, ohne eine Zahl dahinter) z.B. mit Zufallszahlen überschreiben. Bei diesem Vorgang werden nicht nur die Formatierungen sondern auch die zugrundeliegende Partitionstabelle entfernt. Das merkt man ganz einfach daran, dass man die Partitionstabelle vor einer Neuformatierung erst wieder initiieren muss. [Auf einem UEFI-System sollte hier statt MBR (=msdos) die GUID Partition Table (GPT) gewählt werden.]

Um meine Aussage zu überprüfen, kannst Du diesen Vorgang ja gerne einmal mit einem nicht benötigtem USB-Stick ausprobieren.

Kommentar von Linuxhase ,

@Onlinedachs

Mit der Funktion 'shred' lässt sich zweifellos ein ganzes Gerät (also
/dev/sdx, ohne eine Zahl dahinter) z.B. mit Zufallszahlen überschreiben.

Aber sicher nicht aus dem System heraus aus dem es gestartet wurde, oder? Ich habe dieses Teil selbst noch nie benutzt, aber in der Manpage sehe ich kein Beispiel dafür das man auch komplette Laufwerke löschen kann.

Um meine Aussage zu überprüfen, kannst Du diesen Vorgang ja gerne einmal mit einem nicht benötigtem USB-Stick ausprobieren.

Das werde ich demnächst mal versuchen.

Linuxhase

Kommentar von Onlinedachs ,

Aber sicher nicht aus dem System heraus aus dem es gestartet wurde, oder?

Genau. Dies funktioniert natürlich nur, wenn man sich z.B. über ein Live-OS in das System eingeklinkt hat.

Antwort
von Wintergriller, 76

Man sollte immer als erstes Windows installieren ( auf der ganzen Platte ) und  dann ( Linux ).Wenn du als ersten Linux und dann Windows installierst erkennt Windows den Bootloader von Linux nicht und überschreibt ihn. Sag uns doch bitte auch was für ein ( Linux ) du installien willst ,das ist deshalb wichtig weil die unterschiedlichen Linux-Distributionen auch verschiedene Installationsroutinen haben können. Dann können wir dir auch besser helfen.

Kommentar von Onlinedachs ,

- Linux Mint 18, 64 Bit
- Windows 10 Pro, 64 Bit
Bei beiden wird folgendes Installationsmedium verwendet: USB(2.0)-Stick mit GPT und Fat32.

Mal angenommen, ich halte mich an Deinen Rat und installiere zuerst Windows und danach Linux. Alles läuft gut. Nun möchte ich aber Windows Neuinstallieren (z.B. wegen einer neue Build o.ä.). Dann bin ich doch wieder in der Situation, dass Linux "zuerst" drauf ist. Was tut man in diesem Fall?

Kommentar von Wintergriller ,

Wenn du Mint nach Windows installierst zeigt dir die Installationsroutine genau was du machen sollst...( Linux neben Windows installieren )...klicke einfach auf diesen Installationspunk und warte ein paar Minuten.Mint legt automatisch eine Partition an und zeigt die dir anschließend auch. jetzt kannst du in der Mitte auf diesen Balken klicken und ihn links oder rechts verschieben und deine eigene Partitionsgröße für jedes System machen,klicke auf ENTER und alles macht Mint automatisch,dann nur noch den Anweisungen folgen,ganz einfach.Wenn alles fertig ist hat Mint auch den Bootloader ( mit dem du beim hochfahren auswählen kannst welches System zu hochfahren willst ) installiert.

Wenn du irgendwann mal Windows neu installieren musst dann genau auf die Partition wo es vorher installiert war,dann braust du anschließend nur noch den Bootloader wieder herzustellen,wie das geht zeig ich dir später.

Kommentar von Onlinedachs ,

Hallo Wintergriller, danke für Deine Antwort. Aber Du beschreibst eher eine Art Kochrezept was ich tun sollte, damit ich keine Probleme mehr habe. Darum ging es mir in meiner Frage aber nicht. Ich möchte die Grundidee & Funktionsweise der EFI-Systempartition verstehen, um richtig mit ihr umgehen zu können. Die Texte bei Wikipedia und auf Ubuntuusers bringen mich irgendwie nicht weiter. Vielleicht ich ja zu doof. Ich gebe gerne zu, dass meine Eingangsfrage vielleicht ein bisschen missverständlich formuliert ist. Ich hätte auch schreiben können: Sinn, Zweck und Funktionsweise einer EFI-Systempartition. Was muss beim Installieren und Deinstallieren von Betriebssystemen beachtet werden? 

Kommentar von Linuxhase ,

@Onlinedachs

Alles läuft gut. Nun möchte ich aber Windows Neuinstallieren (z.B. wegen einer neue Build o.ä.)

Da es ja kein Windows nach Windows 10 mehr gibt ... ;-)

Dann bin ich doch wieder in der Situation, dass Linux "zuerst" drauf ist. Was tut man in diesem Fall?

Dann sichert man den Bootloader und schreibt ihn nach erfolgter Windows Installation zurück.

Linuxhase

Keine passende Antwort gefunden?

Fragen Sie die Community