Noch eine beschädigte Partitionstabelle unter macOS Mojave

0

Ich habe hier einige Posts gesehen, die sich mit ähnlichen Problemen befassten. Da ich nicht genau verstehe, was schief gelaufen ist, muss ich beschreiben, was in meinem Fall passiert ist, und hoffen, dass Sie mir helfen. Vielen Dank.

MBP 15 ", Retina, Mitte 2012. Mojave.

  1. Ich habe den OSX-Speicherplatz über das Festplatten-Dienstprogramm verkleinert (64 GB entfernt), rEFInd und dann Ubuntu 18.04 installiert. Das hat super geklappt. Ich könnte booten, was immer ich wollte.
  2. Dann habe ich beschlossen, den osx-Speicherplatz etwas zu verkleinern und den resultierenden leeren Speicherplatz (weitere 64 GB) über das Festplatten-Dienstprogramm in FAT zu formatieren. Danach habe ich über ein USB-Laufwerk gebootet und versucht, Windows 10 Pro auf dieser neuen Partition zu installieren.

Während des zweiten Schritts mochte Windows Installer diese FAT-Partition nicht, so dass ich sie löschte (bereinigte). Es hat mir immer noch nicht gefallen. Ich habe es gelöscht. Und das neue aus dem entstandenen leeren Raum neu erschaffen. Es hat mir immer noch nicht gefallen. Ich beschloss aufzuhören und bis morgen zu gehen. Meine Maschine neu gestartet. Scheitern . macOS bootet nicht mehr und der Prozess geht direkt zu Ubuntu, von dem ich gerade schreibe. Ich werde diese Nachricht aktualisieren, sobald ich die erforderlichen Befehlsausgaben erhalte.


-bash-3.2# diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:          Apple_CoreStorage                         371.5 GB   disk0s2
   3: DE94BBA4-06D1-4D40-A16A-BFD50179D6AC               523.2 MB   disk0s3
   4:                        EFI                         104.9 MB   disk0s4
   5:         Microsoft Reserved                         16.8 MB    disk0s5
   6:       Microsoft Basic Data                         63.9 GB    disk0s6
   7:                 Linux Swap                         4.0 GB     disk0s7
   8: 0FC63DAF-8483-4772-8E79-3D69D8477DE4               60.0 GB    disk0s8
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        *1.2 GB     disk1
   1:        Apple_partition_map                         30.7 KB    disk1s1
   2:                  Apple_HFS Mac OS X Base System    1.2 GB     disk1s2
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *524.3 KB   disk2
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *524.3 KB   disk3
/dev/disk4
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *524.3 KB   disk4
/dev/disk5
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *524.3 KB   disk5
/dev/disk6
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *524.3 KB   disk6
/dev/disk7
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *6.3 MB     disk7
/dev/disk8
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *2.1 MB     disk8
/dev/disk9
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *1.0 MB     disk9
/dev/disk10
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *524.3 KB   disk10
/dev/disk11
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *524.3 KB   disk11
/dev/disk12
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *1.0 MB     disk12
-bash-3.2# gpt -r show 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  725609832      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  726019472        624

  726020096    1021952      3  GPT part - DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
  727042048     204800      4  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
  727246848      32768      5  GPT part - E3C9E316-0B5C-4DB8-817D-F92DF00215AE
  727279616  124825600      6  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  852105216    7813120      7  GPT part - 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
  859918336  117186560      8  GPT part - 0FC63DAF-8483-4772-8E79-3D69D8477DE4
  977104896        131

  977105027         32         Sec GPT table
  977105059          1         Sec GPT header
-bash-3.2# dd if=/dev/disk0 bs=512 skip=409640 count=1
rY
  +?,C??)?NXSB??g??蝳C??T?"[?L9?
                            9?),lߌ???W9?-d?s?s1+0 records in 1+0 records out 512 bytes transferred in 0.006626 secs (77273 bytes/sec) -

bash-3.2#

Entschuldigung, die letzte Befehlsausgabe hexdumpist im Wiederherstellungsmodus meines Computers nicht verfügbar. Ich arbeite von einem verkrüppelten Terminal aus.


EDIT # 1: Stil kann nicht finden hexdumpoder befindet sich odim Wiederherstellungsmodus. Das habe ich jedoch geschafft:

-bash-3.2# fsck_apfs /dev/disk0s2
Cannot run fsck repair in install environment, degrading fsck_apfs to run with [-n] 
** Checking the container superblock.
** Checking the EFI jumpstart record.
** Checking the space manager.
** Checking the space manager free queue trees.
** Checking the object map.
** Checking volume.
** Checking the APFS volume superblock.
** The volume Macintosh HD was formatted by hfs_convert (748.1.46) and last modified by apfs_kext (945.220.38).
** Checking the object map.
** Checking the snapshot metadata tree.
** Checking the snapshot metadata.
** Checking the extent ref tree.
** Checking the fsroot tree.
error: btn: invalid btn_btree.bt_key_count (expected 12785968, actual 12786023)
Fix btree: bt_key_count (12786023)? NO
   fsroot tree is invalid.
** The volume /dev/disk0s2 could not be verified completely.
OneTimeQuestion
quelle
@klanomath, bist du hier? Du hast den Leuten privat dabei geholfen. Vielleicht könntest du mir helfen ...
OneTimeQuestion
Du hast die richtige Idee. Können Sie odanstelle von verwenden hexdump? Zum Beispiel: sudo od -N 512 -t xC -v /dev/disk0s2. Ich finde es seltsam, dass Sie Core Storage für Mojave verwenden. Könnte es sein, dass der Partitionstyp von APFS auf Core Storage geändert wurde? Wenn ja, würde dies erklären, warum Sie nicht auf macOS booten können.
David Anderson
Andere Benutzer haben Probleme bei der Installation der Version von Windows 10 vom Oktober 2018. Das Problem scheint darin zu liegen, dass die install.wimDatei nicht auf eine mit FAT32 formatierte Partition passt. Anscheinend benötigen Sie für die Windows-Installationsdateien externe FAT32- und ExFAT-Partitionen.
David Anderson
Ja du hattest recht, das war nicht so. Die Partition war FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFF und wurde dann geändert.
OneTimeQuestion
@ David Anderson, gibt es eine Möglichkeit, Partitions-Metainformationen zu reparieren?
OneTimeQuestion

Antworten:

0

Wenn Sie vermuten, dass disk0s2es sich tatsächlich um einen APFS-Container handelt, ändern Sie den Partitionstyp in der GUID-Partitionstabelle (GPT) in APFS. Normalerweise würde man zuerst einen Hex-Dump von Anfang an durchführen, um disk0s2zu sehen, ob der Inhalt mit dem übereinstimmt, was für einen APFS-Container erwartet wird. Anscheinend ist das aus dem Wiederherstellungsmodus schwierig. Ein letzter Ausweg wäre zu sehen, ob die magische APFS-Zahl die Zeichen sind NXSB. Dies kann durch Eingabe der folgenden Befehle erfolgen.

dd if=/dev/disk0s2 count=4 skip=32 bs=1 2>/dev/null; echo

Wenn die Partition ein APFS-Container ist, wird Folgendes ausgegeben.

NXSB

Hinweis: Fehlermeldungen, die vom ddBefehl ausgegeben werden, werden nicht angezeigt. Zum Anzeigen dieser Meldungen weglassen 2>/dev/null. Wenn Sie dies auf einer APFS-Containerpartition tun, wird eine Ausgabe ähnlich der unten gezeigten ausgegeben.

NXSB4+0 records in
4+0 records out
4 bytes transferred in 0.020234 secs (198 bytes/sec) 

Wenn Sie sich jedoch die ddAusgabe ansehen, die bereits zu Ihrer Frage gepostet wurde, können Sie die NXSBZeichen sehen.

Wenn Sie Ubuntu booten können, können Sie den ersten Sektor der APFS-Container-Partition hexadezimal sichern, indem Sie den folgenden Befehl eingeben.

sudo hexdump -Cv -n 512 /dev/sda2

Ändern des Partitionstyps von Core Storage in APFS

Der einfachste Weg, einen Partitionstyp zu ändern, ist die Verwendung des gdiskBefehls eines Drittanbieters . Dieser Befehl kann von Ubuntu ausgeführt werden, das bereits auf Ihrem Mac installiert ist.

Sie können den Partitionstyp von Ubuntu aus ändern, indem Sie den gdiskBefehl verwenden. Sie benötigen die Version 1.0.4 von gdisk. Wenn Sie eine ältere Version haben, laden Sie die aktualisierte Version von der SourceForge GPT fdisk- Website herunter und installieren Sie sie . Der einzugebende Befehl ist unten angegeben.

sudo gdisk /dev/sda

Nachfolgend finden Sie ein Beispiel für die richtige Interaktion mit gdisk.

GPT fdisk (gdisk) version 1.0.4

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

Found valid GPT with protective MBR; using GPT.

Command (? for help): t
Partition number (1-8): 2
Current type is 'Apple Core Storage'
Hex code or GUID (L to show codes, Enter = 8300): af0a
Changed type of partition to 'Apple APFS'

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/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

Sie können den Partitionstyp auch in macOS ändern. Es gibt folgende verschiedene Möglichkeiten zum Booten.

  • Booten Sie von einem externen Laufwerk, auf dem macOS bereits installiert ist. Öffnen Sie ein Terminal-Anwendungsfenster, um die erforderlichen Befehle einzugeben.
  • Booten Sie mit macOS Recovery über das Internet . Nach dem Start über das Internet können Sie ein Terminalfenster öffnen, um die erforderlichen Befehle einzugeben.
  • Verwenden Sie einen anderen Mac, um ein bootfähiges USB-Installationsprogramm für macOS zu erstellen. Nach dem Start des Installationsprogramms können Sie ein Terminalfenster öffnen, um die erforderlichen Befehle einzugeben.
  • Starten Sie den Mac im Target Disk-Modus und stellen Sie eine Verbindung zu einem anderen Mac her. In diesem Fall wird das Laufwerk nicht disk0. Sie müssen ausführen diskutil list, um die richtige Kennung zu ermitteln.

Die einzugebenden Befehle sind unten aufgeführt.

sudo diskutil unmountdisk disk0
sudo gpt remove -i 2
sudo diskutil unmountdisk disk0
sudo gpt add -i 2 -b 409640 -s 725609832 -t 7C3457EF-0000-11AA-AA11-00306543ECAC /dev/disk0

Hinweis: Bei den meisten gptBefehlen muss das Laufwerk ausgehängt werden. Da macOS gerne Partitionen automatisch mounten möchte, müssen Sie möglicherweise den Befehl eingeben, diskutil unmountdisk disk0bevor Sie die einzelnen gptBefehle eingeben .

David Anderson
quelle
Ich danke dir sehr. Das hat geholfen. Muss ich später von einem dedizierten MacOS-Laufwerk (z. B. USB) booten, um APFS-Probleme zu beheben?
OneTimeQuestion
Sie können von dem vorhandenen Ubuntu booten. Andernfalls können Sie mit macOS Internet Recovery oder von einem externen USB-Laufwerk mit macOS oder einem macOS-Installationsprogramm booten.
David Anderson
Ich bin schon hinter diesem Punkt. Alles Stiefel großartig. Das Festplatten-Dienstprogramm gibt jedoch an, dass es Probleme mit diesem Volume gibt. Soll ich versuchen, sie wiederzugewinnen? ('fsck_apfs' besagt, dass keine Wiederherstellung aus dem Wiederherstellungsmodus heraus möglich ist) Kein Wortspiel beabsichtigt.
OneTimeQuestion
'-bash-3.2 # fsck_apfs disk0s2 Kann fsck repair nicht in der Installationsumgebung ausführen, wodurch fsck_apfs auf die Ausführung mit [-n]
herabgesetzt wird
Haben Sie versucht, First Aid über das Festplatten-Dienstprogramm auszuführen, während Sie auf dem APFS-Volume gebootet haben? Oder disktuil repairvolume disk1s1beim Booten auf das APFS-Volume? Hier disk1s1gehe ich von der Kennung des APFS-Volumes aus, auf dem macOS installiert ist.
David Anderson