Aby dodać odpowiedź dokładnie dopasowany do przypadku I nieco zmodyfikowany moją odpowiedź w powiązana „ duplikat ” i zamieścił go tutaj ponownie.
Druga, a także trzecia partycja dysku wewnętrznego ma niewłaściwy typ partycji, prawdopodobnie Twoje dane nie zostaną utracone.
Startowa partycja OS X (z wyjątkiem Recovery HD) ma GUID 48465300-0000-11AA-AA11-00306543ECAC dla standardowej partycji OS X lub GUID 53746F72-6167-11AA-AA11-00306543ECAC dla partycji CoreStorage. FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFF jest nieznanym typem partycji (ale nie ma takiej partycji jak ta 000000-0000-0000 .... jedna).
Pierwszy blok standardowej partycji OS X nie zawiera niezerowych, pierwszy blok partycji CoreStorage zawiera pewne niezerowe. Aby uzyskać pierwsze 3 bloki partycji, musisz użyć substytutu hexdump / xxd (oba nie są dostępne w trybie rozruchowym dysku odzyskiwania w trybie odzyskiwania / OS X). Najlepsze, co znalazłem, to dd if=/dev/diskXsY count=3 | vis -c
.
Tabelę partycji GUID można modyfikować za pomocą gpt
. gpt zapisuje tylko do pierwszych 34 i ostatnich 33 bloków dysku (512) lub pierwszych 6 i ostatnich 5 bloków dysku 4k. Modyfikowanie tabeli partycji (nawet fałszywie) nie zmienia zawartości żadnego woluminu na dysku, jeśli nie zainicjujesz ani nie naprawisz woluminu / dysku na żądanie. Możesz to jednak zweryfikować.
- Uruchom system w trybie odzyskiwania Internetu lub dysk rozruchowy instalatora systemu OS X.
- Otwórz Terminal w pasku menu Narzędzia> Terminal
- Uzyskaj przegląd dzięki
diskutil list
Uzyskaj przegląd dysku wewnętrznego za pomocą identyfikatora dysku znalezionego w poprzednim poleceniu. Poniżej zakładam, że identyfikator dysku wewnętrznego to disk0 (zamień go na ten, który znalazłeś w swoim środowisku)
gpt -r show disk0
- Odmontuj dysk0 za pomocą
diskutil umountDisk disk0
względem pierwszych 3 bloków partycji FFFF ...
dd if=/dev/disk0s2 count=3 | vis -c
Jeśli miałeś wcześniej partycję standardową, pierwsze 1024 bajty zawierają tylko niedrukowalne (zera): \ 0 \ 0 ... W ~ Byte 1030 zobaczysz następującą sekwencję: \ 0HFSJ \ 0
Jeśli miałeś partycję CoreStorage, niektóre niezerowe w pierwszych 512 bajtach i ciąg CS ( ...\0CS\^A...
) są wyświetlane:
\^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\^]...
Teraz usuń trzecią, czwartą i drugą partycję:
diskutil umountDisk disk0
gpt remove -i 3 disk0
diskutil umountDisk disk0
gpt remove -i 4 disk0
gpt remove -i 2 disk0
Jeśli pojawi się komunikat o błędzie „zasób zajęty”, po prostu odmontuj dysk lub odmontuj uparte woluminy diskutil umount disk0sX
.
Ponownie dodaj partycję odzyskiwania z odpowiednim typem, ale z tym samym numerem indeksu, początkowym blokiem i rozmiarem, jaki wcześniej:
gpt add -i 3 -b 227212504 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
Dodaj ponownie partycję główną z odpowiednim typem, ale z tym samym numerem indeksu, początkowym blokiem i rozmiarem, jaki wcześniej:
Albo normalna partycja OS X (jeśli w dd ... vis
kroku znalazłeś typowe ślady normalnej partycji ):
gpt add -i 2 -b 409640 -s 226802864 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
lub (jeśli znalazłeś typowe ślady partycji CoreStorage):
gpt add -i 2 -b 409640 -s 226802864 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
Twój dysk powinien w końcu wyglądać tak, jeśli znalazłeś standardową partycję OS X:
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
lub to, jeśli znalazłeś wolumin CoreStorage:
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
Na koniec sprawdź / napraw dysk za pomocą diskutil verifyDisk disk0
i / lub diskutil verifyVolume disk0s2
. Jeśli potrzebna jest naprawa, użyj naprawy (zamiast weryfikacji) jako przedrostka w powyższych poleceniach, ale skontaktuj się ze mną przed naprawą i wyślij mi komunikat o błędzie .
Dalsze badania za pośrednictwem sesji TeamViewer wykazały, że partycja EFI i partycja Recovery HD są uszkodzone. Główny wolumin jest szyfrowany. Odzyskiwanie HD zawiera wtedy specjalny pośredni klucz FileVault. Jeśli brakuje klucza, główny system nie uruchomi się. Można było jednak odblokować dysk za pomocą diskutil cs unlockVolume ...
.
Po zainstalowaniu pełnego systemu macOS na pendrive'ie i uruchomieniu go, partycja EFI i Recovery HD innego napędu innego niż FileVault (właściwie napędu Sierra VM) zostały przeniesione na uszkodzony dysk. Wciąż uruchamiany z pendrive'a wolumin FileVault został przywrócony do standardowego, klikając prawym przyciskiem myszy wolumin w Finderze, wybierając „Odszyfruj wolumin” i wprowadzając prawidłowe hasło użytkownika. Musi to być hasło uprawnionego konta użytkownika w woluminie FileVault. Inne metody odszyfrowywania woluminu, takie jak - diskutil cs revert lvUUID
lub diskutil cs decryptVolume lvUUID
przetestowane tylko na maszynie wirtualnej - nie działały. Może to być jednak ograniczenie maszyn wirtualnych.
Aby rozwinąć partycję główną (disk0s2) do pełnego rozmiaru, użyj Narzędzia dyskowego lub diskutil resizeVolume ...
polecenia.
Wolumin początkowo nie pojawił się w Preferencjach systemowych> Dysk startowy, ale alturuchomienie komputera Mac odsłoniło główny wolumin. To prawdopodobnie ponownie pobłogosławiło boot.efi woluminu poprawnie. Wolumin (teraz standardowy) pojawi się ponownie na dysku startowym.