Nach einem Neustart kann ich auf einem 2016 Macbook Pro nicht auf meiner mit FileVault verschlüsselten macOS-Partition auf Catalina booten.
Ich kann nur von meinen Bootcamp- und Recovery-Partitionen booten. Es scheint, als ob das Problem dieser StackExchange-Frage sehr ähnlich ist: APFS-Partition nicht zugänglich, Container fehlt
Leider kann ich die Antwort von @david-anderson aufgrund mangelnder technischer Kenntnisse zu diesem Thema nicht an meinen Fall anpassen.
Kann mir bitte jemand helfen?
Hier ist ein Befehl, den ich eingegeben habe, um weitere Informationen zu erhalten:
-bash-3.2# diskutil list disk0
/dev/disk0 (internal):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 1.0 TB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_APFS 799.1 GB disk0s2
3: Microsoft Basic Data Windows 200.7 GB disk0s3
4: Windows Recovery 497.0 MB disk0s4
-bash-3.2# gpt -r show disk0
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 4 Pri GPT table
6 76800 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
76806 195082746 2 GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
195159552 48995014 3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
244154566 58
244154624 121344 4 GPT part - DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
244275968 292
244276260 4 Sec GPT table
244276264 1 Sec GPT header
-bash-3.2# diskutil cs list
No CoreStorage logical volume groups found
-bash-3.2# diskutil ap list
No APFS Containers found
-bash-3.2# diskutil list internal
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_APFS 799.1 GB disk0s2
3: Microsoft Basic Data Windows 200.7 GB disk0s3
4: Windows Recovery 497.0 MB disk0s4
-bash-3.2# diskutil info disk0s2
Device Identifier: disk0s2
Device Node: /dev/disk0s2
Whole: No
Part of Whole: disk0
Volume Name: Not applicable (no file system)
Mounted: Not applicable (no file system)
File System: None
Partition Type: Apple_APFS
OS Can Be Installed: No
Media Type: Generic
Protocol: PCI-Express
SMART Status: Not Supported
Disk / Partition UUID: 42B60681-B193-40F8-AAD5-B2B2F43BD538
Disk Size: 799.1 GB (799058927616 Bytes) (exactly 1560661968 512-Byte-Units)
Device Block Size: 4096 Bytes
Read-Only Media: No
Read-Only Volume: Not applicable (no file system)
Device Location: Internal
Removable Media: Fixed
Solid State: Yes
Hier sind einige andere Befehle, die ich ausprobiert habe, um die Festplatte zu überprüfen oder zu reparieren, ohne Erfolg:
-bash-3.2# diskutil verifyVolume disk0s2
Started file system verification on disk0s2
Verifying storage system
Storage system check exit code is 8
Error: -69716: Storage system verify or repair failed
Underlying error: 8: Exec format error
-bash-3.2# diskutil repairDisk disk0
Repairing the partition map might erase disk0s1, proceed? (y/N) y
Started partition map repair on disk0
Checking prerequisites
Checking the partition list
Adjusting partition map to fit whole disk as required
Checking for an EFI system partition
Checking the EFI system partition's size
Checking the EFI system partition's file system
Checking the EFI system partition's folder content
Checking all HFS data partition loader spaces
Checking booter partitions
Reviewing boot support loaders
Checking Core Storage Physical Volume partitions
Updating Windows boot.ini files as required
The partition map appears to be OK
Finished partition map repair on disk0
BEARBEITEN: Hier ist das Ergebnis des Befehls, den @klanomath freundlicherweise gefragt hat:
-bash-3.2# dd if=/dev/disk0 bs=512 count=1 skip=614448 2>/dev/null | vis -wc; echo
3\M-@\M^N\M-P\M-<\0|\M^N\M-@\M^N\M-X\M->\0|\M-?\0\^F\M-9\0\^B\M-|\M-s\M-$Ph\^\\^F\M-K\M-{\M-9\^D\0\M-=\M->\a\M^@~\0\0|\v\^O\M^E\^P\^A\M^C\M-E\^P\M-b\M-q\M-M\^X\M^HV\0U\M-FF\^Q\^E\M-FF\^P\0\M-4A\M-;\M-*U\M-M\^S]r\^O\M^A\M-{U\M-*u\t\M-w\M-A\^A\0t\^C\M-~F\^Pf`\M^@~\^P\0t&fh\0\0\0\0f\M^?v\bh\0\0h\0|h\^A\0h\^P\0\M-4B\M^JV\0\M^K\M-t\M-M\^S\M^_\M^C\M-D\^P\M^^\M-k\^T\M-8\^A\^B\M-;\0|\M^JV\0\M^Jv\^A\M^JN\^B\M^Jn\^C\M-M\^Sfas\^^\M-~N\^Q\^O\M^E\f\0\M^@~\0\M^@\^O\M^D\M^J\0\M-2\M^@\M-k\M^BU2\M-d\M^JV\0\M-M\^S]\M-k\M^\\M^A>\M-~}U\M-*un\M^?v\0\M-h\M^J\0\^O\M^E\^U\0\M-0\M-Q\M-fd\M-h\^?\0\M-0\M-_\M-f`\M-hx\0\M-0\M^?\M-fd\M-hq\0\M-8\0\M-;\M-M\^Zf#\M-@u;f\M^A\M-{TCPAu2\M^A\M-y\^B\^Ar,fh\a\M-;\0\0fh\0\^B\0\0fh\b\0\0\0fSfSfUfh\0\0\0\0fh\0|\0\0fah\0\0\a\M-M\^ZZ2\M-v\M-j\0|\0\0\M-M\^X\240\M-7\a\M-k\b\240\M-6\a\M-k\^C\240\M-5\a2\M-d\^E\0\a\M^K\M-p\M-,<\0t\M-|\M-;\a\0\M-4\^N\M-M\^P\M-k\M-r+\M-I\M-dd\M-k\0$\^B\M-`\M-x$\^B\M-CInvalid\spartition\stable\0Error\sloading\soperating\ssystem\0Missing\soperating\ssystem\0\0\0\0bz\M^Yq\^T\^Q\^Y\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\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\0U\M-*
[~] $ echo -n '3\M-@\M^N\M-P\M-<\0|\M^N\M-@\M^N\M-X\M->\0|\M-?\0\^F\M-9\0\^B\M-|\M-s\M-$Ph\^\\^F\M-K\M-{\M-9\^D\0\M-=\M->\a\M^@~\0\0|\v\^O\M^E\^P\^A\M^C\M-E\^P\M-b\M-q\M-M\^X\M^HV\0U\M-FF\^Q\^E\M-FF\^P\0\M-4A\M-;\M-*U\M-M\^S]r\^O\M^A\M-{U\M-*u\t\M-w\M-A\^A\0t\^C\M-~F\^Pf`\M^@~\^P\0t&fh\0\0\0\0f\M^?v\bh\0\0h\0|h\^A\0h\^P\0\M-4B\M^JV\0\M^K\M-t\M-M\^S\M^_\M^C\M-D\^P\M^^\M-k\^T\M-8\^A\^B\M-;\0|\M^JV\0\M^Jv\^A\M^JN\^B\M^Jn\^C\M-M\^Sfas\^^\M-~N\^Q\^O\M^E\f\0\M^@~\0\M^@\^O\M^D\M^J\0\M-2\M^@\M-k\M^BU2\M-d\M^JV\0\M-M\^S]\M-k\M^\\M^A>\M-~}U\M-*un\M^?v\0\M-h\M^J\0\^O\M^E\^U\0\M-0\M-Q\M-fd\M-h\^?\0\M-0\M-_\M-f`\M-hx\0\M-0\M^?\M-fd\M-hq\0\M-8\0\M-;\M-M\^Zf#\M-@u;f\M^A\M-{TCPAu2\M^A\M-y\^B\^Ar,fh\a\M-;\0\0fh\0\^B\0\0fh\b\0\0\0fSfSfUfh\0\0\0\0fh\0|\0\0fah\0\0\a\M-M\^ZZ2\M-v\M-j\0|\0\0\M-M\^X\240\M-7\a\M-k\b\240\M-6\a\M-k\^C\240\M-5\a2\M-d\^E\0\a\M^K\M-p\M-,<\0t\M-|\M-;\a\0\M-4\^N\M-M\^P\M-k\M-r+\M-I\M-dd\M-k\0$\^B\M-`\M-x$\^B\M-CInvalid\spartition\stable\0Error\sloading\soperating\ssystem\0Missing\soperating\ssystem\0\0\0\0bz\M^Yq\^T\^Q\^Y\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\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\0U\M-*' | unvis | hexdump -Cv
00000000 33 c0 8e d0 bc 00 7c 8e c0 8e d8 be 00 7c bf 00 |3.....|......|..|
00000010 06 b9 00 02 fc f3 a4 50 68 1c 06 cb fb b9 04 00 |.......Ph.......|
00000020 bd be 07 80 7e 00 00 7c 0b 0f 85 10 01 83 c5 10 |....~..|........|
00000030 e2 f1 cd 18 88 56 00 55 c6 46 11 05 c6 46 10 00 |.....V.U.F...F..|
00000040 b4 41 bb aa 55 cd 13 5d 72 0f 81 fb 55 aa 75 09 |.A..U..]r...U.u.|
00000050 f7 c1 01 00 74 03 fe 46 10 66 60 80 7e 10 00 74 |....t..F.f`.~..t|
00000060 26 66 68 00 00 00 00 66 ff 76 08 68 00 00 68 00 |&fh....f.v.h..h.|
00000070 7c 68 01 00 68 10 00 b4 42 8a 56 00 8b f4 cd 13 ||h..h...B.V.....|
00000080 9f 83 c4 10 9e eb 14 b8 01 02 bb 00 7c 8a 56 00 |............|.V.|
00000090 8a 76 01 8a 4e 02 8a 6e 03 cd 13 66 61 73 1e fe |.v..N..n...fas..|
000000a0 4e 11 0f 85 0c 00 80 7e 00 80 0f 84 8a 00 b2 80 |N......~........|
000000b0 eb 82 55 32 e4 8a 56 00 cd 13 5d eb 9c 81 3e fe |..U2..V...]...>.|
000000c0 7d 55 aa 75 6e ff 76 00 e8 8a 00 0f 85 15 00 b0 |}U.un.v.........|
000000d0 d1 e6 64 e8 7f 00 b0 df e6 60 e8 78 00 b0 ff e6 |..d......`.x....|
000000e0 64 e8 71 00 b8 00 bb cd 1a 66 23 c0 75 3b 66 81 |d.q......f#.u;f.|
000000f0 fb 54 43 50 41 75 32 81 f9 02 01 72 2c 66 68 07 |.TCPAu2....r,fh.|
00000100 bb 00 00 66 68 00 02 00 00 66 68 08 00 00 00 66 |...fh....fh....f|
00000110 53 66 53 66 55 66 68 00 00 00 00 66 68 00 7c 00 |SfSfUfh....fh.|.|
00000120 00 66 61 68 00 00 07 cd 1a 5a 32 f6 ea 00 7c 00 |.fah.....Z2...|.|
00000130 00 cd 18 a0 b7 07 eb 08 a0 b6 07 eb 03 a0 b5 07 |................|
00000140 32 e4 05 00 07 8b f0 ac 3c 00 74 fc bb 07 00 b4 |2.......<.t.....|
00000150 0e cd 10 eb f2 2b c9 e4 64 eb 00 24 02 e0 f8 24 |.....+..d..$...$|
00000160 02 c3 49 6e 76 61 6c 69 64 20 70 61 72 74 69 74 |..Invalid partit|
00000170 69 6f 6e 20 74 61 62 6c 65 00 45 72 72 6f 72 20 |ion table.Error |
00000180 6c 6f 61 64 69 6e 67 20 6f 70 65 72 61 74 69 6e |loading operatin|
00000190 67 20 73 79 73 74 65 6d 00 4d 69 73 73 69 6e 67 |g system.Missing|
000001a0 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 | operating syste|
000001b0 6d 00 00 00 00 62 7a 99 71 14 11 19 00 00 00 00 |m....bz.q.......|
000001c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.|
00000200
Ich mag die Erwähnung von "Ungültige Partitionstabelle. Fehler beim Laden des Betriebssystems. Fehlendes Betriebssystem" :(
Hier wurde der aktuelle Superblock des APFS-Containers (block0 von disk0s2) mit einem MBR überschrieben. Dadurch wird verhindert, dass der Bootloader (und diskutil/Disk Utility) den APFS-Container als solchen erkennt.
Ein normaler Superblock (aber anderer Mac und andere Containergröße) sieht so aus:
Es konnte kein wirklicher Grund gefunden werden, warum der Superblock überschrieben wurde!
Um dies zu beheben (über TeamViewer & externes Boot-Volume mit installiertem Catalina) wurde ein anderer (älterer) Superblock von disk0s2 verwendet, um die MBR-Daten zu überschreiben.
Installieren Sie HexFiend und suchen Sie nach den magischen Bytes eines Superblocks: NXSB
auf der Partition disk0s2. Das erste Auftreten war nach den ersten ~3 GB von disk0s2. Der Metadatenteil eines APFS-Containers beherbergt normalerweise verschiedene ältere Superblocks. Der aktuelle Superblock ist normalerweise die Kopie eines " älteren" Superblocks, wenn der Mac zuvor ordnungsgemäß heruntergefahren wurde.
Obwohl es nur einen Container gibt, sind mehrere Kopien des Container-Superblocks (eine Instanz von nx_super block_t) auf der Festplatte gespeichert. Diese Kopien enthalten den Zustand des Containers zu vergangenen Zeitpunkten. Block null enthält eine Kopie des Container-Superblocks, der als Teil des Mount-Prozesses verwendet wird, um die Checkpoints zu finden. Block Null ist normalerweise eine Kopie des neuesten Container-Superblocks, vorausgesetzt, das Gerät wurde ordnungsgemäß ausgehängt und zuletzt durch eine korrekte Implementierung des Apple-Dateisystems geändert. In der Praxis verwenden Sie die Block-Null-Kopie jedoch nur, um die Checkpoints zu finden, und verwenden für alles andere die neueste Version des Checkpoints. Quelle
Die Größe eines Superblocks scheint 1382 Bytes zu sein . Da ein MBR eine Größe von 512 Bytes hat, habe ich erwartet, dass die letzten 870 Bytes (1382-512) des Superblocks nicht überschrieben wurden und mich entschieden, nur die ersten 512 Bytes eines älteren Superblocks zu kopieren, um so viel wie möglich davon zu behalten die Reste des Originals.
Fügen Sie die 512 Bytes dieses älteren Superblocks in eine Datei auf dem Desktop hinzu:
sudo dd if=/dev/disk0s2 of=/Users/user_name/oldsuperblock.bin bs=1 count=512 skip=3063808000 #"3063808000" is just an example Byte offset because the zsh history file with the original command is lost
füge die Datei zu block0 hinzu:
sudo dd if=/Users/user_name/oldsuperblock.bin of=/dev/disk0s2 bs=512 count=1
Reparieren Sie den APFS-Container (mit verschlüsselten Volumes!):
diskutil repairVolume disk1
diskutil (oder besser fsck_apfs) hat sich über eine falsche Prüfsumme des Superblocks beschwert, aber es ohne Probleme behoben.
Abschluss:
Ich konnte in der Apple APFS-Dokumentation oder beim Vergleich der verschiedenen älteren Versionen des Superblocks, die ich gefunden habe, kein Nummerierungsschema oder Zeitstempel für Superblöcke finden.
Es ist unklar, ob es reines Glück war, einen funktionierenden älteren Superblock zu holen. Es war kein aktuelles Backup verfügbar, daher ist es umso unsicherer, ob die Wiederherstellung eines alten Superblocks zu Datenverlust führt. Immerhin bootete der Mac und die verschlüsselten Volumes konnten entsperrt werden.
klanomath
dd if=/dev/disk0 bs=512 count=1 skip=614448 | hexdump -Cv
in der Terminal-App im Internet-Wiederherstellungsmodus (Menüleiste > Dienstprogramme > Terminal) hinzu. Sie können auf apple.stackexchange.com zugreifen und Ihre Frage im Wiederherstellungsmodus mit Safari bearbeiten (und Ihre Anmeldeinformationen hier).klanomath
export LC_CTYPE="ASCII"
thendd if=/dev/disk0 bs=512 count=1 skip=614448 2>/dev/null | vis -wc; echo
. Fahren Sie dann wie in Meine APFS-Partition verloren nach Verwendung des EaseUS-Partitionsmanagers auf Bootcamp > Alternative Methode zur Bestimmung der genauen Größe für disk0s2 1. und 2. beschrieben fort!aus
klanomath
klanomath
aus
aus
aus