Wie kann ich meine Partitionstabelle reparieren?

Ich glaube, ich habe meine Partitionstabelle schwer ruiniert.

Ich hatte eine BOOTCAMP-Partition, eine macOS APFS-Partition und eine exFAT-Partition. Ich glaube, ich hatte auch 17 GB nicht zugeordneten Speicherplatz.

Ich habe versucht, die BOOTCAMP-Partition zu verkleinern, und ich denke, das hat die Partitionstabelle ruiniert. Die BOOTCAMP-Partition ist beim Start fehlerhaft und die macOS-Partition wurde nicht erkannt. Von der Internetwiederherstellung aus habe ich El Capitan von einem USB-Laufwerk auf einer anderen Partition neu installiert, während ich die BOOTCAMP-Partition gelöscht habe (ich hatte eine ziemlich aktuelle Sicherung). Ich verwende das derzeit, aktualisiert auf High Sierra. Es sieht immer noch nicht die ältere macOS-Partition oder die ~ 50 GB nicht zugeordneten Speicherplatz (obwohl ich das Gefühl habe, dass das meiste davon die fehlende macOS-Partition sein könnte).

Darüber hinaus wird der Windows-Eintrag immer noch angezeigt, wenn beim Booten Alt / Option gedrückt wird, obwohl es wie zuvor Fehler gibt. Es wird nicht auf dem Startvolume oder anderswo angezeigt.

Ich gehe davon aus, dass meine BOOTCAMP-Partition nicht wiederherstellbar ist, was mir größtenteils recht ist. Wie kann ich jedoch, wenn möglich, meine ältere macOS-Partition wiederherstellen?

Und vor allem, wie repariere ich einfach die Partitionstabelle? Esp. die angebliche Windows/BOOTCAMP-Partition, die da ist (obwohl ich sicher bin, dass sie es nicht ist) und die fehlenden ~ 50 GB

Das ist, was das Festplatten-Dienstprogramm sagt, dass ich gerade habe. Extra und Common sind vorerst nur leere Partitionen.

https://ibb.co/khN7pc

Unten ist die Ausgabe des Befehls sudo gpt -r show disk0.

https://image.ibb.co/cyYxpc/Screen_Shot_2018_03_14_at_8_51_09_AM_1.png

Fast jede Frage im Zusammenhang mit Partitionstabellen erfordert das Hinzufügen der Partitionstabelle zur Frage: Geben Sie in Terminal.app sudo gpt -r show disk0und ein (falls BOOTCAMP beteiligt ist) sudo fdisk /dev/disk0und fügen Sie die Ausgabe zu Ihrer Frage hinzu. Unter bestimmten Umständen (gebootet in High Sierra) muss SIP deaktiviert werden, um ein Ergebnis zu erhalten!
Leider funktionieren die Windows-Partitionstools nur richtig, wenn sie entweder im Wiederherstellungsmodus oder vom Installationsmedium gestartet werden. Die Abfolge der Ereignisse, die Sie gepostet haben, verwirrt mich. Sie geben an, dass Sie bei der Neuinstallation von El Capitan eine APFS-Partition hatten, aber APFS wurde erst in High Sierra veröffentlicht. Als nächstes geben Sie an, dass Sie auf High Sierra aktualisiert haben. Hatten Sie also eine APFS-Partition, als Sie versuchten, die BOOTCAMP-Partition zu verkleinern?
@DavidAnderson Ich habe El Capitan von einem USB-Stick installiert, der ihn bereits hatte, um schnell einen brauchbaren Computer zu haben. Ja, ich hatte eine APFS-Partition, als ich versuchte, meine BOOTCAMP-Partition zu verkleinern.
@klanomath Ich musste SIP nicht deaktivieren, um eine Ausgabe zu erhalten, aber das habe ich bekommen ibb.co/ncFA9c

Antworten (1)

Die Partitionstabelle von disk0 wird überhaupt nicht ruiniert - alle vorgenommenen Änderungen sind eher unbeabsichtigt .

Alle Partitionen und Volumes (EFI, Common, macOS und Extra) sind ordnungsgemäß markiert und werden diskutil verifyVolume disk0sYwahrscheinlich ohne Fehler beendet.

Einer zerstörten Partitionstabelle würden der Header und die Tabelle der sekundären Partition fehlen, oder der primäre und der sekundäre Header/die Tabelle sind unterschiedlich, oder die CRC-32-Prüfsummen der Header- und Partitionstabelleneinträge sind ungültig.


Ihre Partitionstabelle sieht so aus:

    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  91672536                                                       
 92082176 168686104     2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC 
260768280    262144                                                       
261030424 177477424     3 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC 
438507848  51464720     4 GPT part - 48465300-0000-11AA-AA11-00306543ECAC 
489972568    262151                                                       
490234719        32       Sec GPT table                                   
490234751         1       Sec GPT header  

Auf die erste Partition mit einer Größe von 209,7 MB – die Standard-EFI-Partition – folgt der nicht zugeordnete Speicherplatz mit einer Größe von 46,94 GB.

Die zweite Partition ist eine standardmäßige HFS+-Partition mit einer Größe von 86,37 GB, gefolgt von nicht zugeordnetem Speicherplatz mit einer (Standard-)Größe von 134,2 MB.

Die dritte ist eine APFS-Containerpartition mit einer Größe von 90,87 GB. Die vierte Partition ist eine weitere Standard-HFS+-Partition mit einer Größe von 26,35 GB.


Ein Standard-SSD-Partitionslayout würde nach der Installation von High Sierra (APFS) und einer BOOTCAMP-Partition jedoch wahrscheinlich so aussehen:

     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         X     2 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC 
  X+409640    262144      
  X+671784         Y     3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
X+Y+671784       ...     ...  

Der zweite nicht zugeordnete Speicherplatz (262144 Blöcke) kann kleiner oder größer sein.

Folglich hängt es von der Größe Ihrer alten macOS-Partition ab, ob Teile davon überschrieben wurden oder nicht.

  • Wenn X gleich oder kleiner als 91672536 (Blöcke) war, kann Ihre alte macOS-Partition vollständig wiederhergestellt werden.
  • Wenn X größer als 91672536 (Blöcke) und kleiner als 260358640 (=91672536+168686104) (Blöcke) war, wurden Teile Ihrer alten macOS-Containerpartition durch Erstellen des Common- Volume überschrieben. Das Erstellen eines neuen leeren Volumes erfordert normalerweise etwa 120 MB - 500 MB, um einige Dateisystemmetadaten zu schreiben. Abhängig von der Größe des APFS-System-/Preboot-/Wiederherstellungs-Volumes können Teile davon überschrieben worden sein.

Wenn der erste Block Ihres verschwundenen APFS-Containers (einschließlich Ihres alten macOS APFS-Systemvolumes) nicht überschrieben wurde, können Sie seine frühere Größe erkennen:

  • Booten Sie von einem externen Laufwerk mit installiertem macOS
  • Öffnen Sie das Terminal und rufen Sie die üblichen Datenträger-bezogenen Details ab (unten gehe ich davon aus, dass die interne SSD die Datenträgerkennung disk0 hat):

    diskutil list
    sudo gpt -r show disk0
    
  • Hängen Sie die SSD aus

    diskutil umountDisk disk0
    
  • dd/hexdump-Block 409640:

    sudo dd if=/dev/disk0 bs=512 skip=409640 count=1 | hexdump
    

    was so etwas ergibt (nur Beispiel!):

    1+0 records in
    1+0 records out
    512 bytes transferred in 0.001917 secs (267067 bytes/sec)
    0000000 b9 e9 ff cb a4 6d fc f3 01 00 00 00 00 00 00 00
    0000010 fc da 09 00 00 00 00 00 01 00 00 80 00 00 00 00
    0000020 4e 58 53 42 00 10 00 00 29 ea 22 01 00 00 00 00
    0000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0000040 02 00 00 00 00 00 00 00 d8 36 06 fb 2f 1f 42 7a
    0000050 b2 90 f5 cc 5c 85 9f 36 13 6f 08 00 00 00 00 00
    0000060 fd da 09 00 00 00 00 00 18 01 00 00 18 6c 00 00
    0000070 21 3c 06 00 00 00 00 00 28 c9 05 00 00 00 00 00
    0000080 70 00 00 00 18 0f 00 00 6e 00 00 00 02 00 00 00
    0000090 bc 0e 00 00 5c 00 00 00 af 6b 00 00 00 00 00 00
    00000a0 69 ad 04 00 00 00 00 00 01 04 00 00 00 00 00 00
    00000b0 00 00 00 00 64 00 00 00 03 04 00 00 00 00 00 00
    00000c0 a4 6b 00 00 00 00 00 00 a6 6b 00 00 00 00 00 00
    00000d0 a6 0d 01 00 00 00 00 00 00 00 00 00 00 00 00 00
    00000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    *
    0000200
    

    Die dritte Zeile ist die wichtige:

    ...
    0000020 4e 58 53 42 00 10 00 00 29 ea 22 01 00 00 00 00
    ...
    
    • 4e 58 53 42: magische Zeichenfolge eines APFS-Containers
    • 00 10 00 00: APFS-Blockgröße: 4096
    • 29 ea 22 01 00 00 00 00APFS-Containergröße in APFS-Blöcken: 19065385 (= 152523080 512-Blöcke)

      Nachdem Sie die Bytes neu angeordnet haben 29 ea 22 01 00 00 00 00> 00 00 00 00 29 ea 22 01> 00 00 00 00 01 22 ea 29, können Sie den Dezimalwert hier erhalten :

      Geben Sie hier die Bildbeschreibung ein

    Die Größe des alten APFS-Containers in 512 (Blöcke) ist dann APFS-Blockgröße x Containergröße in APFS-Blöcken. Im Beispiel sind das 4096/512 * 19065385 = 152523080 Blöcke.

  • je nach Größe die 2. Partition entfernen:

    diskutil umountDisk disk0
    sudo gpt remove -i 2 /dev/disk0
    
  • Alte Partition wiederherstellen (hier mit der Größe des Beispiels: 152523080 Blöcke(512) - nicht aus Versehen verwenden! ):

    diskutil umountDisk disk0
    sudo gpt add -i 2 -b 409640 -s 152523080 -t 7C3457EF-0000-11AA-AA11-00306543ECAC /dev/disk0
    
  • Überprüfen Sie den APFS-Container

    diskutil verifyVolume disk0s2
    
  • Überprüfen Sie das APFS-Systemvolumen

    diskutil list #get the device identifier of the APFS system volume and use it below (probably disk2s2)
    diskutil verifyVolume diskXsY
    

Wenn Sie Probleme haben, den Hexdump oder andere Ergebnisse und Fehlermeldungen zu analysieren, hinterlassen Sie bitte einen Kommentar!

Wenn Sie dies abschließend versuchen, funktioniert das Wiederherstellungsterminal oder muss ich macOS tatsächlich auf einem anderen Laufwerk installieren?
Und ich glaube, dass die 46,94 GB die alte macOS-Partition sein könnten, aber ich bin mir nicht sicher
Auch wenn ich die Windows-Partition gelöscht habe, wird sie immer noch angezeigt (und Fehler), wenn beim Booten Option/Alt gedrückt wird
Ich bin bisher bis hierher gekommen, nicht sicher, wie ich das konvertieren soll: image.ibb.co/btJZqd/Screen_Shot_2018_05_12_at_11_15_41_PM.png
X war = 262144 und ich hatte genau 91672536
DANKE! Ich habe meine alte Partition wiederhergestellt (und eine Sicherungskopie erstellt). Aber jetzt scheint die gemeinsame Partition zu fehlen und ich habe keine aktuelle Sicherung davon. Ich werde sehen, ob ich etwas finde