Ich habe versucht, Linux auf meinem MacBook für den Unterricht zu installieren, als ich meinen Computer gemauert habe, der sich jetzt in einem nicht mehr bootfähigen Zustand befindet.
Ich habe meine Partition zu klein gemacht, also wollte ich sie löschen und eine größere erstellen. Das Festplatten-Dienstprogramm erlaubte mir jedoch nicht, die kleine Partition zu löschen. Ich habe die Anweisungen von https://apple.stackexchange.com/a/238088/236252 befolgt
Ich konnte es jedoch nicht nur immer noch nicht löschen, sondern stellte beim Neustart fest, dass sich meine primäre Partition (auf derselben Festplatte) in FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF geändert hatte und ich keine Optionen zum Booten hatte. (Ich bin sicher, dass ich den Befehl auf der richtigen Festplatte und Partition ausgeführt habe.)
Ich habe einige ähnliche Threads gesehen, aber mein bootfähiges Hauptlaufwerk ist dasjenige, das beschädigt wurde.
Ich möchte keine Daten verlieren. Ich bin nicht der versierteste Terminal-Experte, daher ist JEDE Hilfe willkommen, und ich werde freundlicherweise alle zusätzlichen Informationen zur Verfügung stellen!
(Festplatte 0, Partition 2 ist meine Hauptpartition, und diese einzige interessiert mich)
Unten sind die Ergebnisse von $ diskutil list und $ gpt -r show disk0 .
UPDATE: : Ich habe die Anweisungen von @klanomath befolgt. Beim letzten Schritt habe ich folgende Fehlermeldung erhalten:
Checking prerequisites
Checking the partition list
Checking for an EFI system partition
Checking the EFI system partition's size
Checking the EFI system partition's file system
Problems were found with the partition map which might prevent booting
Error: -69766: The partition map needs to be repaired because there's a problem with the EFI system partition's file system
Underlying error: 8: POSIX reports: Exec format error
LETZTES UPDATE: ERFOLG!
Ich wollte mich nur bei @klanomath dafür bedanken, dass er mir bei diesem gesamten Prozess geholfen hat. Er verbrachte 11 Stunden TeamViewing mit mir, bis nicht nur meine Dateien zugänglich waren, sondern bis ich auf meinen Computer zugreifen konnte, wie vor diesem ganzen Debakel (und das war nach 5 Stunden E-Mail-Korrespondenz).
An alle zukünftigen Leser mit diesem Problem: BITTE nicht aufgeben, es kann behoben werden!
Um eine genau auf Ihren Fall passende Antwort hinzuzufügen , habe ich meine Antwort im verlinkten " Duplikat " leicht modifiziert und hier erneut gepostet.
Sowohl die zweite als auch die dritte Partition Ihrer internen Festplatte haben 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, müssen Sie einen Ersatz für hexdump/xxd verwenden (beide sind im Bootlaufwerk des Wiederherstellungsmodus/OS X-Installationsprogramms nicht verfügbar). Das Beste, was ich gefunden habe, ist dd if=/dev/diskXsY count=3 | vis -c
.
Die GUID-Partitionstabelle kann mit geändert werden gpt
. gpt schreibt nur in die ersten 34 und die letzten 33 Blöcke einer Festplatte (512) oder die ersten 6 und letzten 5 Blöcke einer 4k-Festplatte. Das Ändern der Partitionstabelle (selbst fälschlicherweise) ändert den Inhalt eines Volumes auf Ihrer Festplatte nicht, wenn Sie ein Volume/eine Festplatte nicht auf Anfrage initialisieren oder reparieren. Sie können es aber überprüfen.
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 disk0 ist (ersetzen Sie sie durch die, die Sie in Ihrer Umgebung gefunden haben).
gpt -r show disk0
diskutil umountDisk disk0
vis die ersten 3 Blöcke der FFFF... Partition:
dd if=/dev/disk0s2 count=3 | vis -c
Wenn Sie vorher eine Standardpartition hatten, enthalten die ersten 1024 Bytes nur nicht druckbare (Nullen): \0\0... Bei ~Byte 1030 sehen Sie folgende Sequenz: \0HFSJ\0
Wenn Sie eine CoreStorage-Partition hatten, werden einige Nicht-Nullen in den ersten 512 Bytes und die Zeichenfolge CS ( ...\0CS\^A...
) angezeigt:
\^U\^D\^A\M-s\M^?\M^?\M^?\M^?\^A\0\^P\0\0\0\M-W\^A\a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^B\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\M^Pu\M-\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0CS\^A\0\0\0\^D\0\0\^P\0\0\0\0@\0X\M-7}\^C\0\0\0\0X\M-;}\^C\0\0\0\0X\M-?}\^C\0\0\0\0X\M-C}\^C\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^P\0\0\0\^B\0\0\0006j v\^R\M-+\^U\M^[\f\M^CdG\M-y\^]...
Entfernen Sie nun die dritte, die vierte und die zweite Partition:
diskutil umountDisk disk0
gpt remove -i 3 disk0
diskutil umountDisk disk0
gpt remove -i 4 disk0
gpt remove -i 2 disk0
Wenn Sie eine Fehlermeldung wie "Ressource ausgelastet" erhalten, unmounten Sie die Festplatte einfach erneut oder unmounten Sie hartnäckige Volumes mit diskutil umount disk0sX
.
Fügen Sie die Wiederherstellungspartition mit dem richtigen Typ, aber derselben Indexnummer, demselben Startblock und derselben Größe wie zuvor hinzu:
gpt add -i 3 -b 227212504 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
Fügen Sie die Hauptpartition mit dem richtigen Typ, aber derselben Indexnummer, demselben Startblock und derselben Größe wie zuvor hinzu:
dd ... vis
Entweder eine normale OS X-Partition (wenn Sie im Schritt die typischen Spuren einer normalen Partition gefunden haben ):
gpt add -i 2 -b 409640 -s 226802864 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
oder (falls Sie die typischen Spuren einer CoreStorage-Partition gefunden haben):
gpt add -i 2 -b 409640 -s 226802864 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
Ihre Festplatte sollte schließlich so aussehen, wenn Sie eine Standard-OS-X-Partition gefunden haben:
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 226802864 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
227212504 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
228482040 8496103
236978143 32 Sec GPT table
236978175 1 Sec GPT header
oder dies, wenn Sie ein CoreStorage-Volume gefunden haben:
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 226802864 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
227212504 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
228482040 8496103
236978143 32 Sec GPT table
236978175 1 Sec GPT header
Überprüfen/reparieren Sie abschließend die Festplatte mit diskutil verifyDisk disk0
und/oder diskutil verifyVolume disk0s2
. Wenn eine Reparatur erforderlich ist, verwenden Sie in den obigen Befehlen repair (anstelle von verify) als Präfix, aber kontaktieren Sie mich, bevor Sie es reparieren, und senden Sie mir die Fehlermeldung .
Weitere Untersuchungen über TeamViewer-Sitzungen ergaben, dass die EFI-Partition und die Recovery HD-Partition beschädigt sind. Das Hauptvolumen ist verschlüsselt. Die Recovery HD enthält dann einen speziellen FileVault-Zwischenschlüssel. Wenn der Schlüssel fehlt, bootet das Hauptsystem nicht. Es war jedoch möglich, das Laufwerk mit zu entsperren diskutil cs unlockVolume ...
.
Nach der Installation eines vollständigen macOS auf einem USB-Stick und dem Booten davon wurden die EFI-Partition und die Wiederherstellungs-HD eines anderen Nicht-FileVault-Laufwerks (eigentlich die einer Sierra-VM) auf das defekte Laufwerk hinzugefügt. Immer noch vom USB-Stick gebootet, wurde das FileVault-Volume auf ein Standard-Volume zurückgesetzt, indem Sie im Finder mit der rechten Maustaste auf das Volume klickten, „Volume entschlüsseln“ auswählten und ein gültiges Benutzerkennwort eingaben. Dies muss das Passwort eines berechtigten Benutzerkontos auf dem FileVault-Volume sein. Andere Methoden zum Entschlüsseln des Volumes wie diskutil cs revert lvUUID
or diskutil cs decryptVolume lvUUID
- nur in einer virtuellen Maschine getestet - schienen nicht zu funktionieren. Dies könnte jedoch eine Einschränkung von VMs sein.
diskutil resizeVolume ...
Verwenden Sie das Festplatten-Dienstprogramm oder den Befehl , um die Hauptpartition (disk0s2) auf die volle Größe zu erweitern .
Das Volume wurde anfangs nicht in Systemeinstellungen > altStartvolume angezeigt, aber beim Booten des Mac wurde das Hauptvolume enthüllt. Dies hat wahrscheinlich die boot.efi des Volumes ordnungsgemäß neu gesegnet. Das (jetzt Standard-)Volume erscheint wieder im Startvolume.
gpt
? Wie können Sie die Grenzen wieder finden, um sie erneut hinzuzufügen?dd | vis
? Gibt es eine Möglichkeit, diese Ausgabe als Hex anzuzeigen?Dieses Problem kann auch während einer laufenden APFS High Sierra-Sitzung auftreten ! diskutil
Ich habe dieses Problem gestern bekommen, nachdem ich Änderungen mit der Anwendung und den Befehlen des Festplattendienstprogramms vorgenommen habe , habe ich Folgendes gefunden:
sh-3.2# diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF 60.0 GB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +60.0 GB disk1
Physical Store disk0s2
1: APFS Volume APPLESSD 47.1 GB disk1s1
2: APFS Volume Preboot 19.4 MB disk1s2
3: APFS Volume Recovery 517.8 MB disk1s3
4: APFS Volume VM 1.1 GB disk1s4
sh-3.2# gpt -r show /dev/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-BA4B-00A0C93EC93B
409640 117111080 2 GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
117520720 859584307
977105027 32 Sec GPT table
977105059 1 Sec GPT header
Ich glaube nicht, dass es in dieser Konfiguration neu starten würde (oder vielleicht mit der GPT-Sicherungstabelle? Keine Ahnung). Dank der obigen Erklärung konnte ich das Problem während der Live-Sitzung lösen, aber ich musste eine etwas andere Lösung verwenden ( diese Lösung funktioniert nur mit deaktiviertem SIP, wenn sie aktiviert ist, müssen Sie neu starten, deaktivieren und die vorherige Lösung verwenden . Wie auch immer , hängt dieses Problem möglicherweise mit deaktiviertem SIP zusammen, sodass es bei aktiviertem SIP nicht auftritt? Ich weiß es nicht.)
Selbst wenn es nicht disk0
gemountet ist, scheint gpt
es nicht möglich zu sein, das GPT während einer Live-Sitzung zu ändern:
sh-3.2# gpt remove -i 2 disk0
gpt remove: unable to open device 'disk0': Resource busy
Also habe ich stattdessen ein Drittanbieter-Tool verwendet gdisk
(ich habe es über Homebrew bekommen), um den Typ von zu ändern disk0s2
:
sh-3.2# gdisk /dev/disk0
GPT fdisk (gdisk) version 1.0.3
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): i
Partition number (1-2): 2
Partition GUID code: FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF (Unknown)
Partition unique GUID: B40FA371-D92C-4EBF-B846-B0A9FB6DCD71
First sector: 409640 (at 200.0 MiB)
Last sector: 117520719 (at 56.0 GiB)
Partition size: 117111080 sectors (55.8 GiB)
Attribute flags: 0000000000000000
Partition name: 'Apple_HFS_Untitled_2'
Command (? for help): t
Partition number (1-2): 2
Current type is 'Unknown'
Hex code or GUID (L to show codes, Enter = af00): 7C3457EF-0000-11AA-AA11-00306543ECAC
Changed type of partition to 'Unknown'
Command (? for help): i
Partition number (1-2): 2
Partition GUID code: 7C3457EF-0000-11AA-AA11-00306543ECAC (Unknown)
Partition unique GUID: B40FA371-D92C-4EBF-B846-B0A9FB6DCD71
First sector: 409640 (at 200.0 MiB)
Last sector: 117520719 (at 56.0 GiB)
Partition size: 117111080 sectors (55.8 GiB)
Attribute flags: 0000000000000000
Partition name: 'Apple_HFS_Untitled_2'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/disk0.
Warning: Devices opened with shared lock will not have their
partition table automatically reloaded!
Warning: The kernel may continue to use old or deleted partitions.
You should reboot or remove the drive.
The operation has completed successfully.
Auschecken:
sh-3.2# gpt -r show /dev/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-BA4B-00A0C93EC93B
409640 117111080 2 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
117520720 859584307
977105027 32 Sec GPT table
977105059 1 Sec GPT header
sh-3.2# diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 60.0 GB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +60.0 GB disk1
Physical Store disk0s2
1: APFS Volume APPLESSD 47.1 GB disk1s1
2: APFS Volume Preboot 19.4 MB disk1s2
3: APFS Volume Recovery 517.8 MB disk1s3
4: APFS Volume VM 1.1 GB disk1s4
Dann letzte Prüfung mit diskutil verifyDisk disk0
und diskutil verifyVolume disk0s2
ohne Warnung oder Fehler. Neustart erfolgreich.
gpt
Befehl in einer Live-High Sierra-Sitzung mit deaktiviertem SIP verwenden. Sie müssen nur die -f
Option hinzufügen, damit eine gemeinsame Sperre verwendet wird.
Auf halbem Wege
Auf halbem Wege
klanomath