Jak naprawić zepsuty GPT, GUID i niemożliwy do zamontowania wolumin typu bez?

10

Mam Macbooka Pro z siatkówką, Yosemite i dyskiem twardym 500 GB. Próbowałem zainstalować system Windows za pomocą Bootcamp i przypadkowo usunąłem partycję, teraz mój komputer Mac nie może się już uruchomić. To jest wynik zsudo gpt -r show disk0

  gpt show: disk0: Suspicious MBR at sector 0
    start       size  index  contents
        0          1         MBR
        1          1         Pri GPT header
        2         32         Pri GPT table
       34          6         
       40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   409640  776617328      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
778296728        616         
778297344  198807552      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
977104896        131         
977105027         32         Sec GPT table
977105059          1         Sec GPT header

Muszę tylko zrobić drugą partycję o indeksie 2 i wpisać, FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFaby można ją było ponownie uruchomić. Ta partycja ma włączoną funkcję FileVault 2.

Ale w tej chwili nie mam pojęcia, co robić.

P / S: Postępowałem zgodnie z instrukcjami z @klanomath Boot z zewnętrznego dysku twardego z pełnym systemem Yosemite, ale przy ostatniej komendzie, aby zmienić typ partycji

sudo gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0

Wystąpił ten błąd:

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no space available on device

To jest wynik z sudo gpt -r show /dev/disk0

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1          1         Pri GPT header
         2         32         Pri GPT table
        34          6         
        40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    409640  776617328      2  MBR part 218
 777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        131         
 977105027         32         Sec GPT table
 977105059          1         Sec GPT header

Postęp:

Wykonałem polecenie sudo gpt destroy /dev/disk0

Ale kiedy próbowałem dodać pierwszą partycję z powrotem za pomocą tego polecenia sudo gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0

Od razu dostałem ten błąd

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no primary GPT header; run create or recover

Teraz polecenie sudo gpt -r show /dev/disk0mi to daje

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1     409639         
    409640  776617328      2  MBR part 218
 777026968    1269760      3  MBR part 175
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        164

Postęp 2:

Wykonałem sudo gpt create /dev/disk0 i otrzymałem ten błąd:

gpt create: /dev/disk0: Suspicious MBR at sector 0
gpt create: /dev/disk0: error: device contains a MBR

i wykonałem to polecenie, sudo fdisk -i -a hfs /dev/disk0aby napisać nowy MBR i wykonałem sudo gpt create /dev/disk0ponownie, ale dostałem ten sam błądgpt create: /dev/disk0: error: device contains a MBR

Teraz sudo gpt -r show /dev/disk0daje mi to

      start       size  index  contents
      0          1         MBR
      1         62         
     63  977104997      1  MBR part 175

Postęp 3 i końcowy: D

Po pierwsze wielkie podziękowania dla @klanomath, bez pomocy nie mogłem posunąć się tak daleko.

Wykonałem to polecenie sudo gpt create -fp /dev/disk0

I to polecenie, sudo gpt recover /dev/disk0aby uzyskać dodatkowy nagłówek GPT

Następnie wykonałem, sudo gdisk /dev/disk0a dysk został zamontowany i działa poprawnie

LN
źródło

Odpowiedzi:

11

Typ zawartości drugiej partycji jest nieprawidłowy. Zamiast FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFtego musi być 53746F72-6167-11AA-AA11-00306543ECAC.

Aby edytować typ zawartości, musisz uruchomić system w trybie odzyskiwania Internetu i użyć go gpt. Dodatkowo czwarta partycja zostanie usunięta (prawdopodobnie partycja „usunięta”). Sprawdź, czy nie zawiera żadnych danych!

Przygotowanie:

  • Odłącz dowolny dysk zewnętrzny (szczególnie zewnętrzny dysk kopii zapasowej Time Machine)
  • Uruchom ponownie w trybie odzyskiwania Internetu, naciskając alt cmd Rpodczas uruchamiania.

    Warunkiem jest zainstalowanie najnowszej aktualizacji oprogramowania układowego: Ethernet lub WLAN (WPA / WPA2) i router z aktywowanym DHCP.
    Na linii 50 Mb / s zajmuje około 4 minut (przedstawiając małą animowaną kulę ziemską), aby uruchomić się na obrazie netboot odzyskiwania, który zwykle jest ładowany z serwera Apple / Akamai.

    Polecam ethernet, ponieważ jest bardziej niezawodny. Jeśli jesteś ograniczony do WIFI, a proces uruchamiania nie powiedzie się, po prostu uruchom ponownie komputer Mac, aż do pomyślnego uruchomienia.

    Alternatywnie możesz zacząć od rozruchowego napędu kciuka instalatora (najlepiej Yosemite lub El Capitan) lub napędu kciuka zawierającego pełny system (najlepiej Yosemite lub El Capitan). Jeśli uruchomisz pełny system i zalogujesz się jako administrator, musisz przygotować się sudodo wykonania specjalnych poleceń, takich jak gpt ...!

Usuń czwartą partycję i zmień typ zawartości drugiej partycji

  • Uruchomiony w trybie odzyskiwania Internetu otwórz Narzędzia → Terminal w pasku menu i wpisz:, diskutil listaby uzyskać identyfikatory dysku. Poniżej zakładam, że twój główny dysk ma identyfikatory dysku disk0.

  • Najpierw musisz usunąć czwartą partycję (zrób to tylko, jeśli jest naprawdę pusta!):

    gpt -r show /dev/disk0 #to get an overview
    

    Aby usunąć partycję z gptdyskiem należy odmontować:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 4 /dev/disk0 #remove the fourth partition
    
  • Następnie musisz zmienić typ zawartości drugiej partycji:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 2 /dev/disk0 #remove the second partition
    gpt add -b StartBlock -s NumberOfBlocks -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC
    

    W Twoim przypadku:

    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    
  • Teraz powinieneś zostać zapytany o hasło FileVault. Wpisz to.
  • Wejdź exiti wyjdź z terminalu
  • Sprawdź główny wolumin Macintosh HD pod kątem błędów
  • Zamknij Narzędzie dyskowe i uruchom ponownie komputer na główny wolumin

Dodatek: Usuwanie upartego MBR

Możesz użyć fdisklub, gptaby usunąć MBR w bloku 0. Jeśli korzystasz z konta administratora, sudoużyj gpt ....poleceń.

  • Najpierw uzyskaj przegląd. Ten krok jest ważny przed zniszczeniem gpt, ponieważ jest to źródło do odbudowania go od zera:

    gpt -r show /dev/disk0
    
  • Następnie usuń gpt:

    diskutil unmountDisk /dev/disk0
    gpt destroy /dev/disk0
    
  • Utwórz nową tabelę partycji GUID:

    gpt create -f /dev/disk0
    
  • Na koniec dodaj wszystkie partycje jeden po drugim:

    gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    

    Wskazówka : Możesz dodawać i usuwać partycje w dowolnej kolejności, jeśli zachowasz odpowiedni numer indeksu. W powyższych poleceniach dodałem trzecią partycję ( ... -i 3 ...) przed dodaniem drugiej partycji ( ... -i 2 ...). Nie musisz wtedy odmontowywać dysku0, ponieważ partycje i = 1 i i = 3 nie zawierają automatycznie podłączonych woluminów, podczas gdy druga partycja tak.

    W pierwszej części mojej odpowiedzi nie udało mi się wykryć niewłaściwego typu partycji Recovery HD (trzeciej partycji z numerem indeksu 3). Dlatego użyłem:

    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    

    powyżej zamiast zła

    gpt add -b 777026968 -s 1269760 -i 3 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0 #wrong partition type of the Recovery HD
    

    aby dodać go ponownie.

    Jeśli nadal występują błędy, zmień MBR za pomocą fdisk. Jeśli korzystasz z konta administratora, sudoużyj fdisk ...poleceń:

    fdisk -i -a hfs /dev/disk0
    

    i dodaj wpisy gpt gpt ...opisane powyżej.


Zmiana rozmiaru głównego woluminu w celu zapełnienia całego dysku

Wreszcie prawdopodobnie chcesz zmienić rozmiar głównego woluminu, aby wypełnić cały dysk.

  • Uzyskaj przegląd dzięki:

    diskutil cs list
    

    Możesz mieć kilka grup woluminów logicznych CoreStorage, jeśli uruchamiasz system z dysku zewnętrznego z pełnym systemem! Użyj właściwego!

  • Zmień rozmiar całego stosu:

    diskutil cs resizeStack lvUUID size #lvUUID is the UUID of the Logical Volume. Usually it's the last one listed.
    

    Uruchomiony do Yosemite, możesz użyć 0grozmiaru, aby go powiększyć. 0g jest tutaj „magicznym” rozmiarem.

    diskutil cs resizeStack lvUUID 0g
    

    Uruchomiony do El Capitan, musisz użyć prawdziwego rozmiaru, takiego jak 500g. Jeśli pojawi się błąd, użyj nieco mniejszego rozmiaru, takiego jak 499glub 499500m.

    diskutil cs resizeStack lvUUID 500g
    
klanomath
źródło
1
Nadal utknąłem. Po pierwsze, po wykonaniu polecenia „gpt delete -i 2 / dev / disk0”, napisano „gpt: nieznane polecenie: usuń”, więc zakładam, że muszę zmienić „usuń” na „usuń”. Ale przy ostatnim poleceniu, które muszę wykonać, napisano: „gpt add: / dev / disk0: error: brak miejsca na urządzeniu”
LN
Postępowałem zgodnie z twoją instrukcją i opublikowałem wyniki w pytaniu, dzięki
LN
Postępowałem zgodnie z drugą instrukcją, niestety znowu utknąłem z błędem „gpt add: / dev / disk0: error: no podstawowy nagłówek GPT; uruchom tworzenie lub odzyskiwanie”. Dodałem postęp
LN
nie martw się, właśnie zaktualizowałem swoje postępy. wygląda na to, że nie mogłem się pozbyć MBR
LN
1
Dobrze byłoby wiedzieć, kiedy ten sam problem przydarzył mi się kilka miesięcy temu ... klanomath nigdy mnie nie dziwi, jak wiele wie o Macach. Ostatecznie straciłem wszystkie moje dane.
Flare Cat,