Wie kann man defekte GPT-, GUID- und unmountbare Volumes ohne Typ reparieren?


10

Ich habe ein Macbook Pro mit Retina, Yosemite und 500 GB Festplatte. Ich habe versucht, Windows mit Bootcamp zu installieren und versehentlich eine Partition gelöscht. Jetzt kann mein Mac nicht mehr booten. Dies ist die Ausgabe vonsudo gpt -r show disk0

  gpt show: disk0: Suspicious MBR at sector 0
    start       size  index  contents
        0          1         MBR
        1          1         Pri GPT header
        2         32         Pri GPT table
       34          6         
       40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   409640  776617328      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
778296728        616         
778297344  198807552      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
977104896        131         
977105027         32         Sec GPT table
977105059          1         Sec GPT header

Ich muss nur die zweite Partition bei Index 2 FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFerstellen und eingeben, um wieder bootfähig zu sein. Für diese Partition ist FileVault 2 aktiviert.

Aber im Moment habe ich keine Ahnung, was ich tun soll.

P / S: Ich habe die Anweisungen von @klanomath Boot von einer externen Festplatte mit vollem Yosemite-System befolgt, aber beim letzten Befehl den Partitionstyp geändert

sudo gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0

Es hat diesen Fehler bekommen:

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no space available on device

Dies ist die Ausgabe von sudo gpt -r show /dev/disk0

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1          1         Pri GPT header
         2         32         Pri GPT table
        34          6         
        40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    409640  776617328      2  MBR part 218
 777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        131         
 977105027         32         Sec GPT table
 977105059          1         Sec GPT header

Fortschritt:

Ich habe Befehl ausgeführt sudo gpt destroy /dev/disk0

Aber als ich versuchte, die erste Partition mit diesem Befehl wieder hinzuzufügen sudo gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0

Ich habe diesen Fehler sofort erhalten

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no primary GPT header; run create or recover

Jetzt sudo gpt -r show /dev/disk0gibt mir der Befehl dies

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1     409639         
    409640  776617328      2  MBR part 218
 777026968    1269760      3  MBR part 175
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        164

Fortschritt 2:

Ich sudo gpt create /dev/disk0 habe diesen Fehler ausgeführt und erhalten:

gpt create: /dev/disk0: Suspicious MBR at sector 0
gpt create: /dev/disk0: error: device contains a MBR

und ich habe diesen Befehl ausgeführt sudo fdisk -i -a hfs /dev/disk0, um einen neuen MBR zu schreiben, und sudo gpt create /dev/disk0erneut ausgeführt , aber den gleichen Fehler erhaltengpt create: /dev/disk0: error: device contains a MBR

Jetzt sudo gpt -r show /dev/disk0gibt mir das

      start       size  index  contents
      0          1         MBR
      1         62         
     63  977104997      1  MBR part 175

Fortschritt 3 und endgültig: D.

Erstens ein großes Dankeschön an @klanomath, ohne die Hilfe konnte ich nicht so weit gehen.

Ich habe diesen Befehl ausgeführt sudo gpt create -fp /dev/disk0

Und dieser Befehl sudo gpt recover /dev/disk0, um den sekundären GPT-Header zu erhalten

Danach habe ich ausgeführt sudo gdisk /dev/disk0und die Festplatte ist gemountet und funktioniert ordnungsgemäß

Antworten:


11

Der Inhaltstyp der zweiten Partition ist falsch. Stattdessen FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFmuss es sein 53746F72-6167-11AA-AA11-00306543ECAC.

Um den Inhaltstyp zu bearbeiten, müssen Sie im Internet-Wiederherstellungsmodus booten und verwenden gpt. Zusätzlich wird die vierte Partition entfernt (wahrscheinlich die "gelöschte" Partition). Bitte überprüfen Sie, ob es keine Daten enthält!

Vorbereitung:

  • Trennen Sie alle externen Laufwerke (insbesondere Ihr externes Time Machine-Sicherungslaufwerk).
  • alt cmd RStarten Sie den Internet-Wiederherstellungsmodus neu, indem Sie beim Start auf drücken .

    Voraussetzung sind das neueste installierte Firmware-Update, entweder Ethernet oder WLAN (WPA / WPA2) und ein Router mit aktiviertem DHCP.
    Auf einer 50-Mbit / s-Leitung dauert es ungefähr 4 Minuten (mit einem kleinen animierten Globus), um ein Wiederherstellungs-Netboot-Image zu starten, das normalerweise von einem Apple / Akamai-Server geladen wird.

    Ich empfehle Ethernet, weil es zuverlässiger ist. Wenn Sie auf WIFI beschränkt sind und der Startvorgang fehlschlägt, starten Sie Ihren Mac einfach neu, bis Sie den Startvorgang erfolgreich abgeschlossen haben.

    Alternativ können Sie von einem bootfähigen Installations-USB-Stick (vorzugsweise Yosemite oder El Capitan) oder einem USB-Stick mit einem vollständigen System (vorzugsweise Yosemite oder El Capitan) starten. Wenn Sie von einem vollständigen System booten und sich als Administrator anmelden, müssen Sie vorab sudoausführen, um spezielle Befehle wie gpt ...!

Entfernen Sie die vierte Partition und ändern Sie den Inhaltstyp der zweiten Partition

  • Im Internet-Wiederherstellungsmodus gestartet, öffnen Sie Dienstprogramme → Terminal in der Menüleiste und geben Sie Folgendes ein diskutil list, um die Festplattenkennungen abzurufen . Im Folgenden gehe ich davon aus, dass Ihre Hauptfestplatte die Festplattenkennungen disk0 hat.

  • Zuerst müssen Sie die vierte Partition entfernen (tun Sie das nur, wenn sie wirklich leer ist!):

    gpt -r show /dev/disk0 #to get an overview
    

    Um eine Partition mit gptder Festplatte zu löschen , muss die Bereitstellung aufgehoben werden:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 4 /dev/disk0 #remove the fourth partition
    
  • Dann müssen Sie den Inhaltstyp der zweiten Partition ändern:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 2 /dev/disk0 #remove the second partition
    gpt add -b StartBlock -s NumberOfBlocks -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC
    

    In Ihrem Fall:

    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    
  • Nun sollten Sie nach der FileVault-Passphrase gefragt werden. Geben Sie es ein.
  • Terminal betreten exitund verlassen
  • Überprüfen Sie das Hauptvolumen des Macintosh HD auf Fehler
  • Beenden Sie das Festplatten-Dienstprogramm und starten Sie es auf Ihrem Hauptvolume neu

Nachtrag: Entfernen des hartnäckigen MBR

Sie können den MBR in Block 0 entweder verwenden fdiskoder gptentfernen. Wenn Sie einen Administrator sudoverwenden, stellen Sie die gpt ....Befehle voran .

  • Verschaffen Sie sich zunächst wieder einen Überblick. Dieser Schritt ist wichtig, bevor Sie das gpt zerstören, da es die Quelle ist, um es von Grund auf neu zu erstellen:

    gpt -r show /dev/disk0
    
  • Dann löschen Sie das gpt:

    diskutil unmountDisk /dev/disk0
    gpt destroy /dev/disk0
    
  • Erstellen Sie eine neue GUID-Partitionstabelle:

    gpt create -f /dev/disk0
    
  • Fügen Sie zum Schluss alle Partitionen nacheinander hinzu:

    gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    

    Hinweis : Sie können Partitionen in beliebiger Reihenfolge hinzufügen und entfernen, wenn Sie die richtige Indexnummer beibehalten. In den obigen Befehlen habe ich die dritte Partition ( ... -i 3 ...) hinzugefügt, bevor ich die zweite Partition ( ... -i 2 ...) hinzugefügt habe . Sie müssen disk0 dann nicht aushängen, da die Partitionen i = 1 und i = 3 keine automatisch gemounteten Volumes enthalten, während die zweite Partition dies tut.

    Ich habe im ersten Teil meiner Antwort den falschen Partitionstyp Ihrer Recovery HD (die dritte Partition mit der Indexnummer 3) übersehen . Deshalb habe ich verwendet:

    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    

    oben statt falsch

    gpt add -b 777026968 -s 1269760 -i 3 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0 #wrong partition type of the Recovery HD
    

    um es wieder hinzuzufügen.

    Wenn Sie immer noch Fehler erhalten, beheben Sie den MBR mit fdisk. Wenn Sie einen Administrator sudoverwenden, stellen Sie die folgenden fdisk ...Befehle voran :.

    fdisk -i -a hfs /dev/disk0
    

    und fügen Sie die oben beschriebenen gpt-Einträge hinzu gpt ....


Ändern Sie die Größe des Hauptvolumes, um die gesamte Festplatte zu füllen

Schließlich möchten Sie wahrscheinlich die Größe des Hauptvolumes ändern, um die gesamte Festplatte zu füllen.

  • Verschaffen Sie sich einen Überblick mit:

    diskutil cs list
    

    Sie können mehrere logische CoreStorage-Volume-Gruppen haben, wenn Sie von einem externen Laufwerk mit einem vollständigen System booten! Verwenden Sie die richtige!

  • Ändern Sie die Größe des gesamten Stapels:

    diskutil cs resizeStack lvUUID size #lvUUID is the UUID of the Logical Volume. Usually it's the last one listed.
    

    Mit Yosemite gestartet, können Sie es 0gfür die Größe verwenden, um es zu erweitern. 0g ist hier eine "magische" Größe.

    diskutil cs resizeStack lvUUID 0g
    

    Bei El Capitan muss eine echte Größe wie verwendet werden 500g. Wenn Sie eine Fehlermeldung erhalten, verwenden Sie eine etwas kleinere Größe wie 499goder 499500m.

    diskutil cs resizeStack lvUUID 500g
    

1
Ich stecke immer noch fest. Nachdem "gpt delete -i 2 / dev / disk0" ausgeführt wurde, stand zunächst "gpt: unknown command: delete", sodass ich davon ausgehe, dass ich "delete" in "remove" ändern muss. Aber beim letzten Befehl, den ich ausführen muss, stand "gpt add: / dev / disk0: error: kein Speicherplatz auf dem Gerät verfügbar"
LN

Ich habe Ihre Anweisung befolgt und die Ergebnisse in der Frage veröffentlicht, danke
LN

Ich habe die zweite Anweisung befolgt, leider stecke ich wieder mit dem Fehler "gpt add: / dev / disk0: Fehler: kein primärer GPT-Header; Ausführen erstellen oder wiederherstellen" fest. Ich habe den Fortschritt hinzugefügt
LN

Keine Sorge, ich habe gerade meine Fortschritte aktualisiert. Es sieht so aus, als könnte ich den MBR
LN

1
Nun, das wäre nützlich gewesen zu wissen, wann mir genau dieses Problem vor ein paar Monaten passiert ist ... Klanomath überrascht mich immer wieder, wie viel er über Macs weiß. Am Ende habe ich alle meine Daten verloren.
Flare Cat
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.