Utwórz startową partycję systemową EFI z plików oprogramowania układowego instalatora macOS (.scap, .fd)

1

Każdy instalator macOS zawiera folder (np. EFIPayloads ) z plikami oprogramowania EFI o nazwie MP61_0116_B17_LOCKED.scap , MBP114_0172_B09_LOCKED.fd lub podobnie.

Jak z nich utworzyć działającą partycję EFI?

Co już wiem:

  1. Partycji EFI wymaga szczególnych wartości w GPT .

  2. Partycja EFI to wolumin FAT32 o strukturze folderów podobnej do tej:

    EFI
        APPLE
            EXTENSIONS
                Firmware.scap                  (always there)
            FIRMWARE                           (optional)
                EfiUpdaterApp2.efi
                MP51_0087_00B_LOCKED.fd
    

Czego nie rozumiem:

  • Jakie pliki mogę pobrać z Instalatora macOS i gdzie umieścić je w woluminie EFI? Np. Czy używam .scappliku pasującego do modelu komputera Mac i zmieniam jego nazwę na Firmware.scap, podczas gdy plik pasujący do modelu .fd(który może być opcjonalny) przechodzi następnie do FIRMWAREfolderu?

  • Czy EfiUpdaterApp2.efikonieczne jest uruchomienie oprogramowania układowego, czy jest to tylko pozostałość po starszym procesie aktualizacji oprogramowania układowego i można go usunąć?

  • Czy mogę utworzyć uniwersalną partycję rozruchową EFI , zawierającą oprogramowanie układowe dla dowolnego modelu komputera Mac, aby można ją było umieścić na dysku zewnętrznym i uruchomić praktycznie z tego komputera Mac, dla którego załączyłem plik .fd lub .scap?

Aktualizacja

Ta odpowiedź sugeruje, że pliki w folderze FIRMWARE nie są ładowane podczas uruchamiania systemu, ale służą jedynie do flashowania pamięci ROM. Tak więc, jeśli konkretny komputer Mac już raz zainstalował dany plik na swojej pamięci Flash ROM, nie będzie już potrzebny i można go usunąć z partycji EFI.

Zrobiłem również test, w którym zmieniłem nazwę górnego folderu „EFI” na „EFI-OFF” i ponownie uruchomiłem MacBook Air 2015. Spowodowało to utworzenie nowego folderu EFI na partycji EFI z tym samym plikiem Firmware.scap. To sugeruje, że pliki neiter muszą być w ogóle obecne podczas uruchamiania, przynajmniej na najnowszych komputerach Mac. Oznacza to, że nie ma potrzeby tworzenia partycji EFI z możliwością rozbudowy. Zastanawiam się, czy nadal może zawierać dodatkowe wsparcie dla komputerów Mac, których ROMów rozruchowych nie można zaktualizować, na przykład dodanie obsługi rozruchu z woluminów APFS .

Tło:

Ostatnio znajomemu nadpisano partycję rozruchową EFI, podczas gdy główna partycja rozruchowa komputera Mac pozostała nienaruszona. Bez tej partycji EFI komputer Mac nie uruchomiłby się więcej.

Następnie próbowałem naprawić uszkodzenie, kopiując partycję EFI mojego Maca na jego Maca, używając iBored (co sam napisałem, więc wiem, co robiłem, zaufaj mi w tym).

Ale to nie pomogło - komputer Mac nadal nie uruchamia się.

Po pewnym czasie doszedłem do wniosku, że jego raczej stary Mac (MacBook Pro z początku 2009 roku) prawdopodobnie wymagał innego oprogramowania EFI niż inny Mac, z którego próbowaliśmy skopiować oprogramowanie EFI.

Po kopaniu znalazłem wspomniane pliki .fd i .scap w instalatorze macOS, co wydaje się potwierdzać moją teorię. Dlatego chciałbym teraz uzyskać więcej informacji o tym, jak to wszystko do siebie pasuje.

Thomas Tempelmann
źródło

Odpowiedzi:

1

macOS uruchomi się dobrze bez partycji EFI. W przeciwieństwie do większości systemów operacyjnych macOS przechowuje pliki rozruchowe na partycji systemu operacyjnego. Komputery Apple są dostarczane z oprogramowaniem układowym, które może odczytywać partycje HFS + (modele 2016 i nowsze mogą również domyślnie odczytywać woluminy APFS), dzięki czemu mogą odczytać plik boot.efi z partycji. Po uaktualnieniu komputera do High Sierra aktualizuje się również oprogramowanie układowe, uzyskując możliwość rozruchu z partycji APFS.

Twój przyjaciel prawdopodobnie zrobił coś więcej niż tylko zastąpienie partycji EFI. Prawdopodobnie będziesz musiał wykonać kopię zapasową danych i ponownie zainstalować system macOS.

pixelomer
źródło
Mac znajomego nie działał poprawnie po podłączeniu komputera Mac za pomocą trybu docelowego dysku do innego komputera Mac i uruchamianiu z tego komputera Mac przy wciśniętym klawiszu opcji, a następnie wybierając wolumin systemowy „złego” komputera Mac. Jak myślisz, co jeszcze może zostać zepsute, jeśli nie jest to wolumin macOS, a nie partycja EFI?
Thomas Tempelmann,
Po trochę googlingu, odkryłem, że MacBook Pro w latach 2008-2009 może mieć wadę z GPU. Czy próbowałeś uruchomić komputer w trybie awaryjnym?
pixelomer
Masz rację, że nie potrzebujesz plików na partycji EFI: Właśnie usunąłem partycję EFI na moim MacBooku Air 2015. Potem nadal się uruchamia. Jednak Mac tego przyjaciela był modelem z 2009 roku, w którym zainstalowano High Sierra. W tym celu uważam, że część EFI zawierała obsługę APFS, której brakuje pamięci ROM rozruchu.
Thomas Tempelmann,
Nie zaszliśmy nawet tak daleko, ponieważ nawet przytrzymanie klawisza Option nie przedstawiałoby żadnych opcji rozruchowych. Czy wiesz cokolwiek na temat tego, do czego służą pliki oprogramowania układowego? Dlaczego miałby je nawet MB Air 2015, jeśli nie są potrzebne do rozruchu?
Thomas Tempelmann
Nie wiem, jak przeprowadzane są aktualizacje oprogramowania układowego niskiego poziomu, ale myślę, że ponowna instalacja systemu operacyjnego może rozwiązać problem. Ponowna instalacja systemu operacyjnego nie kasuje dysku, po prostu instaluje ponownie pliki systemowe.
pixelomer