Wie kann ich meine Daten von der FFFF…-Partition wiederherstellen, die ~350 GB groß ist, indem ich die Partitionstabelle repariere?
977105059 1 Sec GPT header
Riccados—MacBook—Pro:~ Riccado$ sudo gpt —r show /dev/disk0s2
start size index contents
0 683645536
Riccados—MacBook—Pro:~ Riccado$ sudo gpt —r show /day/disk0
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-6A46-00A0C93EC938
409640 683645536 2 GPT part — FFFFFFFF—FFFF—FFFF—FFFF—FFFFFFFFFFFF
684055176 1269536 3 GPT part — 48465300-0000-11AA—AA11-00306543ECAC
685324712 49224610 4 GPT part — OFC63DAF-8483-4772-8E79-3D69D8477DE4
734549322 694
734550016 8073216 5 GPT part — 0657FD6D—A4AB-43C4-84E5-0933C84B4F4F
742623232 233212248 6 GPT part — 53746F72-6167-11AA—AA11-00306543ECAC
975835480 1269544 7 GPT part — 426F6F74-0000-11AA—AA11-00306543ECAC
977105024 3
977105027 32 Sec GPT table
977105059 1 Sec GPT header
Riccados—MacBook—Pro:~ Riccado$ diskutil unmountDisk /dev/disk1
Unmount of disk1 failed: at least one volume could not be unmounted
Riccados—MacBook—Pro:~ Riccado$
Die Festplatte ist insgesamt 500 GB groß. 350 GB werden für macOS, 120 GB für Windows und 30 GB für Ubuntu zugewiesen.
Als ich heute Morgen aufwachte, versuchte ich, meinen Mac zu booten, aber er bootete nicht erfolgreich, da er nur das Verbotszeichen anzeigte. Also habe ich versucht, macOS neu zu installieren, indem ich beim Starten des Macs gedrückt habe, command ⌘um Rin den Wiederherstellungsmodus zu wechseln. Es wird jedoch nur die Windows-Partition (120 GB) angezeigt, auf der macOS anstelle der ursprünglichen 350-GB-Partition neu installiert werden kann. Ich habe macOS auf der 120-GB-Partition neu installiert. Jetzt weiß ich nicht, wie ich meine Dateien von der alten 350-GB-Partition wiederherstellen kann. Sie befinden sich alle auf derselben Festplatte. Linux bootet jetzt auch nicht.
Die zweite Partition Ihrer internen Festplatte hat den falschen Partitionstyp, Ihre Daten werden wahrscheinlich nicht verloren gehen.
Eine bootfähige OS X-Partition (außer Recovery HD) hat entweder die GUID 48465300-0000-11AA-AA11-00306543ECAC für eine standardmäßige OS X-Partition oder die GUID 53746F72-6167-11AA-AA11-00306543ECAC für eine CoreStorage-Partition. Die FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF ist ein unbekannter Partitionstyp (aber keine Partition wie die 000000-0000-0000....).
Der erste Block einer standardmäßigen OS X-Partition enthält keine Nicht-Nullen, der erste Block einer CoreStorage-Partition enthält einige Nicht-Nullen. Um die ersten 3 Blöcke einer Partition zu erhalten, geben Sie ein sudo dd if=/dev/diskXsY count=3 | hexdump
.
Die GUID kann mit geändert werden gpt
. Das Ändern der GUID-Partitionstabelle mit gpt erfordert das Aushängen der gesamten Festplatte, was nicht möglich ist, wenn Sie von der Recovery HD oder einem anderen Startvolume auf derselben Festplatte booten.
hexdump
. Hier war es möglich, zur Internetwiederherstellung zu booten, da die Festplatte ein zweites OS X-System (disk0s6) mit Hexdump enthält. Die (Internet) Recovery HD bietet normalerweise keinen Hexdump.diskutil list
Verschaffen Sie sich einen Überblick über Ihre interne Festplatte mit der im vorherigen Befehl gefundenen Festplattenkennung. Im Folgenden gehe ich davon aus, dass die Festplattenkennung Ihrer internen Festplatte disk1 ist (ersetzen Sie sie durch die, die Sie in Ihrer Umgebung gefunden haben).
gpt -r show disk1
diskutil umountDisk disk1
wenn Sie mit einem vollständigen OS X/macOS von einer externen Festplatte/einem USB-Stick gebootet habenhexdump die ersten 3 Blöcke der FFFF... Partition:
dd if=/dev/disk1s2 count=3 | hexdump
oder (je nach Bootvolumen)
dd if=/dev/disk1s2 count=3 | /Volumes/2nd_SysVol_name/usr/bin/hexdump
Das folgende Ergebnis identifiziert sie als normale OS X-Partition:
0000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
0000410 d3 8c 77 d3 d4 33 3c b0 00 00 00 00 d3 8c 5b b3
0000420 00 00 02 a8 00 00 00 25 00 00 10 00 00 fe b7 f6
0000430 00 fe 1e fa 00 ed 80 00 00 01 00 00 00 01 00 00
0000440 00 00 10 f2 00 00 5a 9d 00 00 00 00 00 00 00 01
0000450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000460 00 00 00 00 00 00 00 00 7d 9d b0 3a 02 31 62 f0
0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000510 00 00 00 00 03 10 00 00 03 10 00 00 00 00 31 00
0000520 00 03 ac 00 00 00 31 00 00 00 00 00 00 00 00 00
0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000560 00 00 00 00 05 40 00 00 05 40 00 00 00 00 54 00
0000570 00 00 10 00 00 00 54 00 00 00 00 00 00 00 00 00
0000580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000600
Die erste Zahl ist die Byteanzahl in Hex: 0000000: 0; 0000600: 1536. Das * bezeichnet identische Zeilen. Das bedeutet: Die ersten beiden Blöcke (0x000-0x3ff) sind alle Nullen.
Eine CoreStorage-Partition zeigt einige Nicht-Nullen im ersten Block (0x000-0x1ff):
0000000 0c 73 a1 a9 ff ff ff ff 01 00 10 00 07 14 d7 01
0000010 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000030 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0000040 00 20 c1 cc 0f 00 00 00 00 00 00 00 00 00 00 00
0000050 00 00 00 00 00 00 00 00 43 53 01 00 00 00 04 00
0000060 00 10 00 00 00 00 40 00 11 bc fc 00 00 00 00 00
0000070 11 c0 fc 00 00 00 00 00 11 c4 fc 00 00 00 00 00
0000080 11 c8 fc 00 00 00 00 00 00 00 00 00 00 00 00 00
0000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000a0 00 00 00 00 00 00 00 00 10 00 00 00 02 00 00 00
00000b0 62 02 98 59 ee a9 ab 51 9b 49 23 90 2e f8 8b 43
00000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000130 e4 6e f8 f2 63 99 45 c1 b2 13 86 28 a5 18 46 6d
0000140 c4 51 c0 f6 32 f9 43 ab 8e 59 42 d2 1a ef f6 50
0000150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000400 48 2b 00 04 80 00 21 00 48 46 53 4a 00 00 01 ff
0000410 d1 98 a4 93 d4 33 8b d5 00 00 00 00 d1 98 88 73
0000420 00 06 07 53 00 01 82 39 00 00 10 00 00 fb 6a 00
0000430 00 c5 1c 55 00 25 73 c7 00 01 00 00 00 01 00 00
0000440 00 0d e2 65 00 3e a2 fb 00 00 00 00 02 20 00 fb
0000450 00 00 00 31 00 06 b9 ef 00 00 00 00 00 00 00 00
0000460 00 00 00 00 00 00 00 31 fb 48 1e a0 6c 47 a2 9f
0000470 00 00 00 00 00 1f e0 00 00 1f e0 00 00 00 01 fe
0000480 00 00 00 01 00 00 01 fe 00 00 00 00 00 00 00 00
0000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
00004c0 00 00 00 00 00 60 00 00 00 60 00 00 00 00 06 00
00004d0 00 00 0a 00 00 00 06 00 00 00 00 00 00 00 00 00
00004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000510 00 00 00 00 0e 40 00 00 01 30 00 00 00 00 e4 00
0000520 00 00 10 00 00 00 e4 00 00 00 00 00 00 00 00 00
0000530 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000560 00 00 00 00 11 d0 00 00 01 30 00 00 00 01 1d 00
0000570 00 02 80 00 00 00 72 00 00 13 30 97 00 00 13 00
0000580 00 15 c5 aa 00 00 13 00 00 18 2d 23 00 00 13 00
0000590 00 19 d8 fb 00 00 13 00 00 1b 76 cb 00 00 13 00
00005a0 00 1c 34 70 00 00 13 00 00 1d 0e 4d 00 00 13 00
00005b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000600
Die mit Byte 0x130 beginnende Zeile zeigt die UUID des Physical Volume, die mit Byte 0x140 beginnende Zeile zeigt die UUID der Logical Volume Group.
Die Zeichenfolge 48 46 53 4a (= "HFSJ") in den ersten 16 Bytes des dritten Blocks identifiziert ein Journaled HFS+-Volume.
Reparieren Sie zuerst Ihre Wiederherstellungspartition:
diskutil umountDisk disk1
gpt remove -i 3 disk1
diskutil umountDisk disk1
gpt add -i 3 -b 684055176 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk1
Entfernen Sie nun die zweite Partition:
diskutil umountDisk disk1
gpt remove -i 2 disk1
diskutil umountDisk disk1
Fügen Sie die Partition mit dem richtigen Typ
entweder einer normalen OS X-Partition erneut hinzu
gpt add -i 2 -b 409640 -s 683645536 -t 48465300-0000-11AA-AA11-00306543ECAC disk1
oder (wenn Sie eine CoreStorage-Partition gefunden haben)
gpt add -i 2 -b 409640 -s 683645536 -t 53746F72-6167-11AA-AA11-00306543ECAC disk1
Abschließend überprüfen/reparieren Sie die Festplatte mit diskutil verifyDisk disk1
und/oder diskutil verifyVolume disk1s2
. Wenn eine Reparatur erforderlich ist, verwenden Sie in den obigen Befehlen repair (anstelle von verify) als Präfix.
Wenn Sie kein OS X/macOS-Volume mit Hexdump haben, verwenden Sie diese Antwort: Wie kann ich meine OS X-Partition wiederherstellen/reparieren?
Überprüfen Sie die Übersicht der Festplatte
gpt -r show /dev/disk0
Unnötige Partitionen entfernen (für mich habe ich die Partitionen 4, 5 und 6 entfernt)
gpt remove -i 4 /dev/disk0 #removing partition 4 example
Da die 350-GB-Partition (Partition 2) die Partition ist, die ich als Hauptkernpartition korrigieren wollte, habe ich diese Partition zuerst entfernt
gpt remove -i 2 /dev/disk0
und fügte es dann wieder mit in die Tabelle ein
add -b STARTBLOCK -s NUMBERofBLOCK -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC
426F6F74-0000-11AA-AA11-00306543ECAC
. Sie sollten auch das Attribut überprüfen, aber MacOS stellt dafür keinen Befehl zur Verfügung.Ich kann nicht sagen, ob Ihre zweite Partition eine Core Storage-Partition oder eine normale HFS-Partition war. Ich gehe von der Verwendung von Core Storage aus.
Ich würde empfehlen, den gdisk
Befehl herunterzuladen. Mit diesem Befehl können Sie Partitionsattribute anzeigen und ändern. MacOS hat keinen Befehl, der einem Benutzer dies ermöglichen könnte.
Nach dem Herunterladen können Sie den gdisk
Befehl zum Bearbeiten aufrufen disk0
, indem Sie ihn wie unten gezeigt eingeben.
sudo gdisk /dev/disk0
Sie müssen die folgenden Änderungen vornehmen.
53746F72-6167-11AA-AA11-00306543ECAC
. Der gdisk
Befehl kürzt diesen Typ mit dem Code ab AF05
.426F6F74-0000-11AA-AA11-00306543ECAC
. Der gdisk
Befehl kürzt diesen Typ mit dem Code ab AB00
.0002000000000000
. Das bedeutet, dass nur Bit 49 gesetzt werden sollte.0002000000000000
. Die Attribute für alle anderen Partitionen sollten 0000000000000000
.Der Befehl zum Ändern des Typs lautet t
. Der Befehl zum Ändern der Attribute lautet a
, aber zuerst müssen Sie den Expertenmodus aufrufen , indem Sie den Befehl eingeben x
. Mit dem w
Befehl können die Änderungen wieder auf das Laufwerk geschrieben werden.
Hinweis: Wenn Sie sich vertippen, können Sie
gdisk
ohne Änderungen abbrechen, indem Sie ein eingeben controlC.
Für den Fall, dass Partition 2 keinen Kernspeicher verwendet hat, sollte die GUID 48465300-0000-11AA-AA11-00306543ECAC
. Der gdisk
Befehl kürzt diesen Typ mit dem Code ab AF00
.
David Anderson