Jak naprawić uszkodzoną partycję EFI?

24

Mam iMaca z systemem OSX Lion. Zainstalowałem również bootcamp i Windows 7. Podczas instalacji systemu Windows 7 nie zwracałem uwagi na całą uwagę, usunąłem i sformatowałem partycję EFI.

Tak naprawdę nie zdawałem sobie sprawy ze znaczenia tego, ponieważ maszyna nadal działała dobrze, uruchamiając się zarówno w systemie Windows, jak i OSX.

Zauważyłem, że aktualizacje oprogramowania układowego EFI nie zostały zainstalowane, ale nie zwracałem na to uwagi.

Jednak teraz chcę zainstalować Mountain Lion i jest mnóstwo kłopotów. Mountain Lion nie zostanie zainstalowany bez prawidłowej partycji EFI.

Oto moja tabela partycji.

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                  Apple_HFS EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            799.0 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data BOOTCAMP                200.3 GB   disk0s4

Jak widać próbowałem naprawić partycję EFI za pomocą następującego polecenia:

newfs_hfs -v EFI / dev / disk0s1

Wydawało się, że to nie tworzy prawidłowego typu partycji, ale utworzyło Apple_HFS zamiast EFI.

Moje pytanie brzmi (bez formatowania dysku), jak utworzyć partycję EFI?

Dzięki Bogato

Bogaty
źródło
Zobacz także tę odpowiedź, aby zmienić typ partycji: apple.stackexchange.com/a/342139/14586
czwartek

Odpowiedzi:

31

Możesz odtworzyć partycję systemową EFI (ESP) za pomocą gptnarzędzia wiersza polecenia . Powinien rozpoczynać się od sektora 40 i powinien mieć długość 409600 sektorów (dokładnie 200 MB). Typ wpisu GPT powinien być C12A7328-F81F-11D2-BA4B-00A0C93EC93B, a jeśli masz hybrydowy MBR, typ powinien być EE. Format jest właściwie podzbiorem FAT, a nie HFS +. Możesz odczytać GPT za pomocą polecenia sudo gpt -r show disk0w oknie terminala, to daje wynik, który wygląda mniej więcej tak:

      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  447801712      2  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
  448211352    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  449480888   40753831         
  490234719         32         Sec GPT table
  490234751          1         Sec GPT header

Możesz zobaczyć poprawną partycję EFI pod indeksem 1. Jeśli ten wiersz nie pasuje dokładnie, najłatwiejszym sposobem jest usunięcie partycji na jej miejscu i odtworzenie jej.

Zanim przejdziesz dalej, upewnij się, że wiesz, co robisz - możesz stracić dane, jeśli się zepsujesz.

Nie możesz edytować tabeli partycji, gptgdy partycje na dysku są zamontowane, więc będziesz musiał uruchomić system z innego dysku (np. Pamięci USB z instalatorem OSX) lub uruchomić komputer Mac w trybie dysku docelowego i wykonać partycjonowanie z inny Mac. Może być konieczne odmontowanie automatycznie zamontowanych woluminów diskutil unmountDisk disk0przed kontynuowaniem i między poleceniami .

Aby usunąć „złą” partycję EFI, uruchom następującą komendę:

sudo gpt remove -i 1 disk0

Upewnij się, że disk0 to tak naprawdę dysk, który chcesz zmienić - liczby mogą się zmieniać między restartami. Działa to również tylko wtedy, gdy masz partycję inną niż ESP zamiast ESP - jeśli nie, usunięcie partycji 1 może być katastrofalne! W takim przypadku musisz przesunąć indeksy, ponieważ myślę, że ESP musi mieć indeks 1. Na podstawie tego, w twoim przypadku nie będzie to konieczne.

Po usunięciu ponownie dodaj partycję z poprawnym układem i wpisz:

sudo gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B disk0

Powinno to uporządkować samą partycję, ale ponieważ utworzono partycję HFS na jej miejscu, należy również naprawić jej format.

Format partycji systemowej EFI jest tutaj udokumentowany przez Apple . Jak widać, zalecają klonowanie istniejącego ESP zamiast odtwarzania systemu plików za pomocą newfs_msdos. Jeśli masz dysk zewnętrzny z tablicą partycji GPT (powinna go mieć pamięć instalacyjna OSX), możesz ją sklonować.

Upewnij się, że masz odpowiednio numer dysku i partycji, w przeciwnym razie możesz zastąpić dane:

Jeśli dysk1 jest dyskiem zewnętrznym i zawiera ESP jako pierwszą partycję (dysk1s1), a dysk0 jest dyskiem, którego ESP (dysk0s1) chcesz naprawić, uruchom następującą komendę:

sudo dd if=/dev/disk1s1 of=/dev/disk0s1

Spowoduje to skopiowanie każdego bloku ESP dysku1 i zastąpienie go odpowiednim blokiem ESP dysku0.

Alternatywnie, zagraj z newfs_msdos.

pmdj
źródło
Dzięki za bardzo szczegółową odpowiedź. W końcu udało mi się naprawić mój problem za pomocą iParition. Jednak odczytanie twojej metody wydaje się być dokładną metodą, której szukałem, gdyby iParition nie istniał. Jeszcze raz dziękuję, zaznaczam to jako poprawną odpowiedź.
Bogaty
Ta metoda działała dla mnie świetnie na 10.6 po tym, jak GParted sklonował ESP, aby zablokować 2048 na dysku SSD. Uruchamiając dysk instalacyjny i postępując zgodnie z powyższym, ddzapisywałem sklonowanego ESP w pliku przed jego usunięciem, ponownym utworzeniem i ponownym zapisaniem. Dzięki!
Nick Westgate
Działa świetnie na moim MBP z napędem hybrydowym SSD. EFI został nadpisany przez grub instal i ta metoda działała idealnie, aby go przywrócić.
sean_m
Dzięki za udostępnienie. Aby zapisać pisanie, możesz faktycznie określić EFI jako typ partycji zamiast GUID: sudo gpt add -b 40 -i 1 -s 409600 -t EFI disk0
1
Jak mogę zmienić wskaźniki partycji, aby ESP mógł mieć indeks 1?
addison,
3

Spróbuj tego:

  1. Wykonaj kopię zapasową dysku na maszynie czasu.
  2. Uruchom ponownie, ponownie uruchamiając na dysku instalacyjnym Lion.
  3. Przejdź do Narzędzia dyskowego.
  4. Usuń partycję.
  5. Usuń HD.
  6. Ponownie usuń partycję, tym razem nadając jej nazwę.
  7. Kliknij HD.
  8. Zweryfikuj HD, aby potwierdzić, że komunikat o błędzie EFI już się nie pojawia.
  9. Wróć do ekranu instalacji.
  10. Wybierz przywróć z kopii zapasowej.
Neilinc
źródło
2

Znaleziono prostsze rozwiązanie tutaj: /unix//a/174522/182014

Partycję EFI można utworzyć za pomocą GParted Live CD / USB :

  • Utwórz dysk 200 MB (całe moje wolne miejsce na początku):
    • Rodzaj: fat32
    • Etykieta: EFI
  • Sformatuj to
  • Ustaw flagi rozruchowe (opcja dostępna tylko po sformatowaniu) na "boot, esp"

wprowadź opis zdjęcia tutaj

Gotowy!

Aleksey Kontsevich
źródło
0

Wypróbuj iPartition 3 lub nowszy. Przejdź do menu Widok i wyświetl urządzenia systemowe. Ponieważ brakuje EFI 200 MB, zmniejsz pierwszą partycję na dysku miejmy nadzieję o 200 MB. Utwórz nową partycję, a następnie w oknie inspektora dysku znajdują się zakładki. Możesz wybrać wiele różnych rodzajów systemu plików. Wystarczy wybrać partycję systemową EFI.

Jesse
źródło
0

To rozwiązało problem.

1) Wykonaj kopię zapasową partycji Bootcamp za pomocą Winclone

2) Utwórz kopię zapasową dysku Mac OSX za pomocą Carbon Copy Clone na dysku zewnętrznym

3) Zainstaluj Mountain Lion na dysku flash lub dysku zewnętrznym

4) Kup kopię iPartition, pobierz na dysk flash lub dysk zewnętrzny

5) Uruchom ponownie, przytrzymując klawisz Opcja, aby uzyskać menu rozruchu

6) Wybierz dysk flash lub dysk zewnętrzny, z którego chcesz uruchomić komputer

7) Wyodrębnij iPartition i uruchom. Wybierz Widok i Inspektor z menu rozwijanego.

8) Wybierz Bootcamp Partition na karcie Partition i odznacz dwa pola na liście (aktywne i widoczne w Windows), a następnie zamknij okno.

9) Przycisk Go powinien być podświetlony, jeśli nie, zwiększ nieco partycję Bootcamp. Mój to 2 TB OSX, 500 GB Windows na dysku 2,5 TB.

10) Po naciśnięciu przycisku Go powinno rozpocząć się przetwarzanie; chociaż może być konieczne zabicie dowolnego procesu, który powstrzymuje go przed uruchomieniem (Gotowe z monitorem aktywności)

11) Po zakończeniu zamknij i wyjmij zewnętrzne urządzenie rozruchowe, a następnie ponownie włącz komputer Mac. Powinien zostać naprawiony i uruchomić normalnie - przynajmniej mój.

Używam iMaca 27, 3,2 GHz Intel Core i3 z 16 GB pamięci RAM i dyskiem twardym 2,5 TB. Większość wymienionych elementów, które zrobiłem już przed instalacją Mountain Lion, z wyjątkiem bieżącej kopii zapasowej dysku Bootcamp. Winclone działał, mimo że Bootcamp nie uruchomił się, a proces przywracania wygenerował błąd podczas zapisywania MBR. Po prostu zignorowałem błąd i kontynuowałem przez resztę procesu. Najwyraźniej Mountain Lion pomieszał się z PMBR lub EFI, a nawet z REFI Nie naprawiłoby tego, ale cokolwiek zrobiłaby iPartition; jest teraz naprawiony.

*ZRZECZENIE SIĘ**

Chociaż ten proces mógł działać dla mnie dobrze, TO MOŻE NIE PRACOWAĆ DLA CIEBIE! JAK I KAŻDY PROCES, KTÓRY EDYTUJE TABELĘ PARTITONU I DANE BOOT, STANOWISZ MOŻLIWOŚĆ UTRATY DANYCH. ZAPASUJ SWÓJ DYSK, JEŚLI CHCESZ PRZECHOWYWAĆ DANE.

Zdecydowanie polecam Carbon Copy Clone do tworzenia kopii zapasowej partycji OSX, ponieważ może stworzyć bootowalny klon, którego nigdy nie miałem awarii.

Jestem pewien, że inni odnieśli sukces w innym rozwiązaniu tego problemu i doceniam każdego, kto opublikował to, co zrobili, ponieważ pomogło mi to rozwiązać na moim komputerze iMac.

Dziękuję wszystkim i mam nadzieję, że to pomoże komuś innemu. (Opublikowany w Apple Forum) https://discussions.apple.com/message/19220149#19220149

kc5mhb
źródło