Wie repariere ich eine defekte EFI-Partition?


24

Ich habe einen iMac mit OSX Lion. Ich habe auch bootcamp und Windows 7 installiert. Während der Installation von Windows 7 habe ich nicht vollständig aufgepasst und die EFI-Partition gelöscht und formatiert.

Ich habe die Bedeutung dieses Problems nicht wirklich erkannt, da der Computer weiterhin einwandfrei funktionierte und sowohl Windows als auch OSX bootete.

Mir ist aufgefallen, dass die EFI-Firmware-Updates nicht installiert werden konnten, aber das machte mir nichts aus.

Jetzt möchte ich jedoch Mountain Lion installieren und es gibt eine Menge Ärger. Mountain Lion lässt sich ohne eine gültige EFI-Partition nicht installieren.

Hier ist meine Partitionstabelle.

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                  Apple_HFS EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            799.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data BOOTCAMP                200.3 GB   disk0s4

Wie Sie sehen, habe ich versucht, die EFI-Partition mit dem folgenden Befehl zu reparieren:

newfs_hfs -v EFI / dev / disk0s1

Dies schien nicht den richtigen Partitionstyp zu erzeugen, sondern ein Apple_HFS anstelle von EFI.

Meine Frage lautet (ohne die Festplatte zu formatieren): Wie erstelle ich eine EFI-Partition?

Vielen Dank, Rich


Siehe auch diese Antwort zum Ändern des Partitionstyps: apple.stackexchange.com/a/342139/14586
mivk

Antworten:


31

Sie können die EFI-Systempartition (ESP) mithilfe des Befehlszeilentools neu erstellen gpt. Es sollte bei Sektor 40 beginnen und 409600 Sektoren (genau 200 MB) lang sein. Der Typ des GPT-Eintrags sollte sein C12A7328-F81F-11D2-BA4B-00A0C93EC93B, und wenn Sie einen hybriden MBR haben, sollte der Typ dort sein EE. Das Format ist eigentlich eine Teilmenge von FAT, nicht von HFS +. Sie können die GPT mit dem Befehl sudo gpt -r show disk0in einem Terminal-Fenster lesen. Dies erzeugt eine Ausgabe, die ungefähr so ​​aussieht:

      start       size  index  contents
          0          1         PMBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  447801712      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  448211352    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  449480888   40753831         
  490234719         32         Sec GPT table
  490234751          1         Sec GPT header

Sie können die richtige EFI-Partition bei Index 1 sehen. Wenn diese Zeile nicht genau übereinstimmt, ist es am einfachsten, die Partition an ihrer Stelle zu löschen und neu zu erstellen.

Stellen Sie sicher, dass Sie wissen, was Sie tun, bevor Sie fortfahren - Sie können Daten verlieren, wenn Sie Fehler machen.

Sie können die Partitionstabelle nicht bearbeiten, gptwährend Partitionen auf dem Laufwerk gemountet sind. Daher müssen Sie von einem anderen Laufwerk (z. B. einem USB-Stick mit dem OSX-Installationsprogramm) booten oder den Mac im Zielfestplattenmodus ausführen und die Partitionierung von ausführen ein anderer mac. Möglicherweise müssen Sie die Bereitstellung aller automatisch bereitgestellten Volumes mit aufheben, diskutil unmountDisk disk0bevor Sie fortfahren und zwischen den Befehlen .

Führen Sie den folgenden Befehl aus, um Ihre "fehlerhafte" EFI-Partition zu löschen:

sudo gpt remove -i 1 disk0

Stellen Sie sicher, dass disk0 wirklich die Festplatte ist, die Sie ändern möchten. Die Nummern können sich zwischen den Neustarts ändern. Dies funktioniert auch nur, wenn Sie anstelle des ESP bereits eine Nicht-ESP-Partition haben - andernfalls kann das Löschen von Partition 1 katastrophal sein! In diesem Fall müssen Sie die Indizes verschieben, da der ESP meines Erachtens den Index 1 haben muss. Laut Sound ist dies in Ihrem Fall nicht erforderlich.

Nach dem Löschen fügen Sie die Partition mit dem richtigen Layout und Typ erneut hinzu:

sudo gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0

Dies sollte die Partition selbst sortieren, aber da Sie eine HFS-Partition an ihrer Stelle erstellt haben, müssen Sie auch das Format korrigieren.

Das Format der EFI-Systempartition wird von Apple hier dokumentiert . Wie Sie sehen, wird empfohlen, einen vorhandenen ESP zu klonen, anstatt das Dateisystem mit neu zu erstellen newfs_msdos. Wenn Sie ein externes Laufwerk mit einer GPT-Partitionstabelle haben (der OSX-Installationsstick sollte dies haben), können Sie dies klonen.

Vergewissern Sie sich, dass Ihre Datenträger- und Partitionsnummern richtig herum sind. Andernfalls können Sie Daten überschreiben:

Wenn disk1 Ihr externes Laufwerk ist und ein ESP als erste Partition (disk1s1) und disk0 das Laufwerk ist, dessen ESP (disk0s1) Sie reparieren möchten, führen Sie diesen Befehl aus:

sudo dd if=/dev/disk1s1 of=/dev/disk0s1

Dadurch wird jeder einzelne Block von disk1s ESP kopiert und der entsprechende Block in disk0s ESP damit überschrieben.

Alternativ können Sie auch mit spielen newfs_msdos.


Vielen Dank für die sehr ausführliche Antwort. Ich habe es schließlich geschafft, mein Problem mit iParition zu beheben. Das Lesen Ihrer Methode scheint jedoch genau die Methode zu sein, nach der ich gesucht habe, wenn iParition nicht existiert hat. Nochmals vielen Dank, ich markiere dies als die richtige Antwort.
Rich

Diese Methode hat in 10.6 sehr gut funktioniert, nachdem GParted den ESP geklont hat, um 2048 auf einer SSD zu blockieren. Nachdem ich eine Installationsdiskette gebootet und die obigen Anweisungen befolgt habe, habe ich ddden geklonten ESP in einer Datei gespeichert, bevor ich ihn gelöscht, neu erstellt und zurückgeschrieben habe. Vielen Dank!
Nick Westgate

Arbeitete großartig auf meinem MBP mit SSD-Hybrid-Laufwerk. EFI wurde durch eine Grub-Installation überschrieben und diese Methode hat perfekt funktioniert, um es zurückzubringen.
Sean_M

Danke für das Teilen. Um die Eingabe zu speichern, können Sie EFI anstelle der GUID als Partitionstyp angeben: sudo gpt add -b 40 -i 1 -s 409600 -t EFI disk0

1
Wie kann ich die Indizes der Partitionen ändern, damit sich der ESP auf Index 1 befindet?
Addison

3

Versuche dies:

  1. Sichern Sie das Laufwerk auf der Zeitmaschine.
  2. Neustart, Neustart auf der Lion-Installationsdiskette.
  3. Wechseln Sie zum Festplatten-Dienstprogramm.
  4. Partition löschen.
  5. HD löschen.
  6. Löschen Sie die Partition erneut, und geben Sie ihr diesmal einen Namen.
  7. Klicken Sie auf HD.
  8. HD überprüfen, um zu bestätigen, dass die EFI-Fehlermeldung nicht mehr angezeigt wird.
  9. Gehen Sie zurück zum Installationsbildschirm.
  10. Wählen Sie Wiederherstellen aus dem Backup.

2

Eine einfachere Lösung wurde hier gefunden: /unix//a/174522/182014

Eine EFI-Partition kann über GParted Live CD / USB erstellt werden :

  • Erstellen Sie ein 200-MB-Laufwerk (mein ganzer freier Speicherplatz am Anfang):
    • Art: fat32
    • Etikette: EFI
  • Formatieren Sie es
  • Setzen Sie die Boot-Flags (Option nur nach der Formatierung verfügbar) auf "boot, esp"

Bildbeschreibung hier eingeben

Bereit!


0

Probieren Sie iPartition 3 oder höher aus. Öffnen Sie das Menü, und zeigen Sie die Systemgeräte an. Da das 200-MB-EFI fehlt, verkleinern Sie die erste Partition auf der Festplatte hoffentlich um 200 MB. Erstellen Sie eine neue Partition. Im Fenster des Festplatteninspektors befinden sich Registerkarten. Sie können eine Vielzahl unterschiedlicher Dateisystemtypen auswählen. Wählen Sie einfach EFI System Partition.


0

Dies hat das Problem für mich behoben.

1) Sichern Sie die Bootcamp-Partition mit Winclone

2) Sichern Sie das Mac OSX-Laufwerk mit Carbon Copy Clone auf einem externen Laufwerk

3) Installieren Sie Mountain Lion auf einem Flash-Laufwerk oder einem externen Laufwerk

4) Kaufen Sie eine Kopie von iPartition, laden Sie sie auf ein Flash-Laufwerk oder ein externes Laufwerk herunter

5) Führen Sie einen Neustart durch, während Sie die Wahltaste gedrückt halten, um das Startmenü aufzurufen

6) Wählen Sie das Flash-Laufwerk oder das externe Laufwerk aus, von dem aus gebootet werden soll

7) iPartition extrahieren und ausführen. Wählen Sie im Dropdown-Menü die Option "Ansicht und Inspektor".

8) Wählen Sie Bootcamp-Partition auf der Registerkarte Partition und aktivieren Sie die beiden Kontrollkästchen in der Liste (Aktiv und Sichtbar in Windows) und schließen Sie das Kontrollkästchen.

9) Die Go-Taste sollte leuchten, wenn nicht, vergrößern Sie die Bootcamp-Partition ein wenig. Meins ist 2 TB OSX, 500 GB Windows auf einem 2,5 TB-Laufwerk.

10) Sobald die Go-Taste gedrückt wurde, sollte die Verarbeitung beginnen. Möglicherweise müssen Sie jedoch jeden Prozess beenden, der ihn am Laufen hindert. (Fertig mit Activity Monitor.)

11) Wenn Sie fertig sind, fahren Sie den Computer herunter, entfernen Sie das externe Startgerät und schalten Sie den Mac wieder ein. Es sollte repariert und normal gebootet werden - zumindest meins.

Ich verwende einen iMac 27, 3,2 GHz Intel Core i3 mit 16 GB RAM und einer 2,5 TB Festplatte. Die meisten der aufgelisteten Elemente hatte ich bereits vor der Installation von Mountain Lion ausgeführt, mit Ausnahme einer aktuellen Sicherung des Bootcamp-Laufwerks. Winclone funktionierte, obwohl Bootcamp nicht booten konnte und der Wiederherstellungsprozess einen Fehler beim Schreiben des MBR verursachte. Ich habe den Fehler einfach ignoriert und den Rest des Prozesses fortgesetzt. Anscheinend hat Mountain Lion mit dem PMBR oder dem EFI rumgespielt und sogar rEFIt hat das Problem nicht behoben, aber was auch immer iPartition getan hat. es ist jetzt behoben.

*HAFTUNGSAUSSCHLUSS**

Während dieser Prozess für mich gut funktioniert hat, KANN ES FÜR SIE NICHT ARBEITEN! WIE BEI ​​JEDEM VERFAHREN, DAS DIE PARTITON-TABELLE UND DIE BOOT-DATEN BEARBEITET, STEHEN SIE EINER MÖGLICHKEIT, DATEN ZU VERLIEREN. SICHERN SIE IHR LAUFWERK, WENN SIE IHRE DATEN BEWAHREN MÖCHTEN.

Ich empfehle Carbon Copy Clone nachdrücklich für das Sichern der OSX-Partition, da hierdurch ein bootfähiger Klon erstellt werden kann, bei dem ich noch nie einen Fehler gemacht habe.

Ich bin mir sicher, dass andere dieses Problem bereits erfolgreich gelöst haben, und ich schätze jeden, der das gepostet hat, was sie getan haben, da es mir bei der Lösung dieses Problems auf meinem iMac geholfen hat.

Vielen Dank an alle und ich hoffe das hilft jemand anderem. (Gepostet in Apple Forum) https://discussions.apple.com/message/19220149#19220149

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.