web-dev-qa-db-de.com

Stellen Sie die Macbook APFS-Partition wieder her

Meine Frage ist dieser Thread sehr ähnlich, aber meine Situation ist etwas anders.

Ich boote OS X und Ubuntu seit einiger Zeit erfolgreich mit zwei Partitionen. Ich habe die Partitionen mit dem OS X-Festplatten-Dienstprogramm verwaltet, um Partitionstabellenfehler zu vermeiden, die Linux aufgrund der neuen APFS-Struktur verursachen kann.

Vor kurzem habe ich beschlossen, die OS X-Partition zu verkleinern und eine dritte Partition als dedizierte Swap-Partition für Ubuntu zu erstellen. Auch hier habe ich die Partitionen im OS X-Festplatten-Dienstprogramm verwaltet, um Fehler zu vermeiden. Ich habe die Swap-Partition erfolgreich in Ubuntu hinzugefügt (ich bin sicher , dass die richtige Partition angegeben wurde) und alles schien gut zu sein. Nach dem Neustart zeigte der Boot-Manager (Stock, nicht RefInd) OS X nicht mehr als Boot-Option an. Ich entschied mich für die Verwendung von gdisk (danke Rod Smith für Ihre unglaublichen Wiederherstellungstools!), Um die Tabellenstruktur zu überprüfen, und es scheint, dass die OS X-Partition immer noch erkannt wird, aber den Partitionscode FF erhalten hat. Soweit ich das beurteilen kann, sehen alle Sektoren gut aus, so dass ich glauben kann, dass alle meine Daten vorhanden sind. Leider habe ich kein Backup, da mein Backup-Laufwerk kürzlich ausgefallen ist. Ich Glückspilz.

Kann ich einfach den Typcode der OS X-Partition ändern, um meine Daten zu retten? Nach meinem Verständnis funktioniert APFS nicht ganz so.

Hier ist meine Ausgabe von gdisk -l:

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 488397168 sectors, 232.9 GiB
Model: Crucial_CT250MX2
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 37FE5D3B-875C-471A-B4FC-A4887DDA4659
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 488397134
Partitions will be aligned on 8-sector boundaries
Total free space is 13 sectors (6.5 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              40          409639   200.0 MiB   EF00  EFI System Partition
   2          409640       416425263   198.4 GiB   FFFF  
   3       416425264       449628383   15.8 GiB    FFFF  
   4       449628384       488397127   18.5 GiB    8300 

Partition 2 ist meine OS X-Partition, Partition 3 ist meine Swap-Partition (nicht sicher, warum sie auch mit FFFF anstelle von 8200 gekennzeichnet ist?) Und Partition 4 ist die Ubuntu-Partition.

Hier ist meine Ausgabe von swapon -s && free, um zu beweisen, dass ich kein Idiot bin:

Filename                Type        Size    Used    Priority
/dev/sda3                               partition   16601556    435456  -2

              total        used        free      shared  buff/cache   available
Mem:       16335648     2089764      374952       51452    13870932    14611436
Swap:      16601556      435456    16166100
2
D. Mills

Ich habe mein Problem gelöst, indem ich die Lösung dieses Threads folgte und die GUID 7C3457EF-toget11AA-AA11-00306543ECAC verwendete, da meine ursprüngliche OS X-Partition ein APFS-Container und keine HFS-Partition war oder logisches Volumen.

In Summe:

1. Boot Mac in Recovery mode (Hold Cmd+R while booting)
2. Open Utilities->Terminal
3. "diskutil list" to identify the partition in question (for me, disk0s2 was marked with GUID FFFF...)
4. gpt -r show disk0" to provide the start sector and size of the disk0 partitions. The output here is very similar to the gdisk -l output of my original post above.
5. "diskutil unmountDisk disk0" to allow the next step...
6. "gpt remove -i 2 disk0" to strip the partition table data associated with the broken partition.
7. "gpt add -b 409640 -i 2 -s 416425263 -t 7C3457EF-0000-11AA-AA11-00306543ECAC"

Teil 7 ist der kritischste Schritt. Es fügt die richtigen Daten zur Partitionstabelle hinzu und stellt die verlorene Partition wieder her. Hier ist die Aufteilung der Anweisung:

'-b' is the beginning sector of the partition as observed in step 4.
'-i' is the index of the partition to be recovered; in my case, this was disk0s2, so index position 2.
'-s' is the size of the partition as observed in step 4.
'-t' is the GUID type of the partition. Specifically, the originally broken data preventing use of the partition (previously marked FFFF...).
1
D. Mills