Moim zdaniem „TestDisk” dał ci GPT.
Proszę porównać wynik testu TestDisk z moimi dyskami. Dyski w moim przykładzie są jednakowej wielkości, disk0 zawiera partycję CoreStorage i dysk2 starszą partycję JHFS +. Używam dwóch oddzielnych dysków, ponieważ nie wiadomo (przynajmniej dla mnie), który typ formatowania (CS lub JHFS +) był pierwotnie używany.
PMBR / GPT i pierwsze trzy partycje (EFI / Macintosh HD / Recovery HD) powinny wyglądać następująco, jeśli wcześniej posiadałeś partycję CoreStorage:
root# gpt -r -vv show disk0
gpt show: disk0: mediasize=68719476736; sectorsize=512; blocks=134217728
gpt show: disk0: PMBR at sector 0
gpt show: disk0: Pri GPT at sector 1
gpt show: disk0: Sec GPT at sector 134217727
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 132538512 2 GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
132948152 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
lub w ten sposób, jeśli wcześniej miałeś klasyczny wolumin JHFS +:
root# gpt -r -vv show disk2
gpt show: disk2: mediasize=68719476736; sectorsize=512; blocks=134217728
gpt show: disk2: PMBR at sector 0
gpt show: disk2: Pri GPT at sector 1
gpt show: disk2: Sec GPT at sector 134217727
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 132538512 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
132948152 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
(Proszę wziąć pod uwagę, że mediasize, bloki, sektor drugorzędnego GPT, rozmiar drugiego woluminu i blok startowy trzeciego woluminu są inne niż twoje, ponieważ używam tutaj mniejszych przykładowych dysków)
Twój problem powinien zostać rozwiązany przez ponowne przepisanie GPT jeszcze raz.
Przygotowanie:
Zainstaluj pełny system waniliowy (Mavericks lub Yosemite powinien działać) na pendrive (lub dysku zewnętrznym). System odzyskiwania nie działa. Uruchom na pendrive, pobierz i zainstaluj wxHexEditor . Włącz użytkownika root i zaloguj się jako root.
Podpowiedź: Podczas pracy z wxHexEditor nie używaj kopiowania i wklejania. Wprowadź wszystko ręcznie! Możesz przypadkowo napisać bezpośrednio na dysk.
Partycja JHFS + lub CoreStorage?
Najpierw musisz określić, czy masz partycję JHFS + lub CoreStorage o indeksie 2.
Otwórz kalkulator. Otwórz wxHexEditor. Sprawdź, czy pracujesz w trybie tylko do odczytu („Opcje” - & gt; „Tryb pliku” - & gt; „Tylko do odczytu”). W menu przejdź do „Urządzenia” - & gt; „Otwórz urządzenie dyskowe” - & gt; wybierz odpowiedni numer dysku. Prawdopodobnie jest to dysk0. Dysk powinien mieć kolejne partycje (disk0s1 - disk0s5). Spróbuj uporządkować okno wxHexEditor, jak w poniższych przykładach, prostymi czerwonymi liniami.
Następnie naciśnij przycisk „Idź do przesunięcia” (oznaczony zielonym kółkiem) i wprowadź 409640 dokładnie tak, jak na poniższym obrazku. Czasami robisz to dwukrotnie, aby przejść do właściwego sektora. Ponownie sprawdź poprawny sektor, wprowadzając offset (zaznaczony na czerwono) w kalkulatorze i dzieląc go przez 512.
Pierwsze 3 sektory partycji CoreStorage wyglądają tak:
Pierwsze 3 sektory JHFS + wyglądają tak:
Jeśli masz zupełnie inny obraz, zatrzymaj się tutaj.
Gdzie zaczyna się partycja EFI?
Naciśnij przycisk „Idź do przesunięcia” i wprowadź 40 dokładnie tak, jak na poniższym rysunku:
Jeśli widzisz te same wpisy, jak na powyższym obrazku (XEBSD 4.4 ... EFI ... FAT32), jest to sektor początkowy twojej partycji EFI. Jeśli są tylko zera, to również może być ważne.
Gdzie zaczyna się partycja Recovery HD?
To prawdopodobnie najtrudniejsza część, ponieważ musisz znaleźć ciąg, który nie jest zbyt specyficzny.
Przeskocz prawie do końca drugiej partycji (w twoim przypadku ~ 400 MB / 781250 sektorów mniej niż 1164570456 = 1163789206)
Następnie wpisz „HFSJ” jak na obrazku poniżej, wyszukaj ten ciąg dwa razy i zanotuj różne przesunięcia:
Możesz mieć dwa naprawdę różne wyniki w zależności od typu partycji:
Oblicz numer sektora pierwszego znalezienia. W moim przykładzie (patrz obrazek powyżej) jest to 68069452800/512 = 132948150.
Kontynuuj wyszukiwanie i oblicz sektor drugiego znalezienia. W moim przypadku było to 68069454848/512 = 132948154 (brak obrazu).
Różnica między dwoma znaleziskami wynosi 4 bloki (= 2 KB).
Jest to typowe dla granicy między partycją JHFS + a Recovery HD.
Odzyskiwanie HD rozpoczyna się wtedy w sektorze drugiego wyszukiwania - 2 (w moim przykładzie 132948154-2 = 132948152).
Oblicz numer sektora pierwszego znalezienia. W moim przykładzie było to 67733904384/512 = 132292782 (brak obrazu).
Kontynuuj wyszukiwanie i oblicz sektor drugiego znalezienia. W moim przypadku było to 68069454848/512 = 132948154 (brak obrazu).
Różnica między tymi dwoma wynikami wynosi 655372 (~ 336 MB)
Jest to typowe dla granicy między partycją CoreStorage a Recovery HD.
Odzyskiwanie HD rozpoczyna się wtedy w sektorze drugiego wyszukiwania - 2 (w moim przykładzie 132948154-2 = 132948152).
Dzięki tym wynikom powinieneś być w stanie prawidłowo przywrócić GPT. Zamknij wxHexEditor. Jeśli zostaniesz poproszony o zapisanie zmian nie zapisuj ich! .
Przebuduj odpowiedni GPT
Zakładam, że identyfikatorem twojego głównego dysku jest disk0.
Najpierw musisz odmontować główny dysk:
diskutil umountDisk disk0
Sprawdź układ partycji, a następnie usuń trzy pierwsze partycje:
gpt -r -vv show /dev/disk0
gpt remove -i 3 disk0
gpt remove -i 2 disk0
gpt remove -i 1 disk0
Ponieważ EFI i Recovery HD mają zwykle stałe rozmiary, możemy obliczyć blok początkowy i końcowy głównego woluminu.
Najpierw przebudowujemy EFI za pomocą:
gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0
Następnie obliczamy wielkość głównego wolumenu: blok początkowy to 409640.
Blok końcowy został znaleziony w sekcji „Gdzie zaczyna się partycja Recovery HD?”: 1 mniej niż blok startowy Recovery HD.
Rozmiar to StartBlockOfRecoveryHD-409640.
Jeśli wcześniej znalazłeś klasyczny JHFS +, poniższe polecenie powinno naprawić partycję 2:
gpt add -b 409640 -i 2 -s StartBlockOfRecoveryHD-409640 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
Jeśli wcześniej znalazłeś partycję CoreStorage, poniższe polecenie powinno naprawić partycję 2:
gpt add -b 409640 -i 2 -s StartBlockOfRecoveryHD-409640 -t 53746F72-6167-11AA-AA11-00306543ECAC disk0
Aby odbudować Recovery HD wpisz:
gpt add -b StartBlockOfRecoveryHD -i 3 -s 1269536 -t 426F6F74-0000-11AA-AA11-00306543ECAC disk0
Ponownie zainstaluj dysk0 za pomocą:
diskutil mountDisk disk0
Zamknij Terminal, uruchom Narzędzie dyskowe i sprawdź swój główny wolumin (prawdopodobnie Macintosh HD) w poszukiwaniu błędów i spróbuj je naprawić, jeśli to konieczne.
Jeśli wcześniej znalazłeś partycję CoreStorage, przed naprawą woluminów za pomocą Narzędzia dyskowego może być konieczne ponowne uruchomienie komputera, ponieważ wolumin logiczny CoreStorage może nie zostać rozpoznany / poprawnie zainstalowany. W ustawieniach - 1 dysk główny i pamięć USB - wolumin logiczny powinien być dyskiem2.
Mam nadzieję, że to rozwiąże twoje problemy.
Jeśli napotkasz problemy (np. Nie możesz znaleźć właściwego sektora startowego odzyskiwania HD), masz natychmiast wątpliwości lub pytania i skontaktuj się ze mną z komentarzem @klanomath!