Rozwiązania podane do tej pory są tylko wystarczającą radą, aby uruchomić komputer na tyle daleko, aby wykonać kopię zapasową i przejść dalej. Postępowanie zgodnie z tą radą da ci tylko bootowalnego Maca z kolorem, w którym możesz się zalogować, ale bez odpowiedniego przyspieszenia GUI. To sprawia, że MacBook jest prawie bezużyteczny. Oto alternatywa, która wyłącza wadliwy układ AMD, ale zapewnia odpowiednio przyspieszoną grafikę Intela i znacznie lepsze zarządzanie termiczne niż po prostu usunięcie wszystkich rozszerzeń jądra związanych z AMD / Ati.
Tło i wyjaśnienia
Program Apple Repair Extension nie jest już dostępny. Jedynym prawdziwym sposobem na rozwiązanie tego problemu jest wymiana samego układu AMD. Nie tablica logiczna. Nie „ponowne kulkowanie”, nie „ponowne napełnianie”, nie „pieczenie”. Apple zamieniło uszkodzony układ na uszkodzony. Raz po raz. Tylko wymiana układu graficznego jest wciąż kosztowną procedurą sprzętową dla takiego rocznika laptopa.
Jedynym znanym sposobem - to jest: za pomocą samego oprogramowania - aby uzyskać 2011 MacBook Pro (8,2) z „tylko” uszkodzonym układem graficznym AMD, aby niemal niezawodnie włączyć się ponownie i być całkiem użytecznym z przyspieszonym GUI, jest ten przewodnik lub jego wariant. Większość wcześniejszych wskazówek po prostu usunęła wszystkie kext-AMD, co powoduje okropne wrażenia użytkownika.
Konieczna jest znajomość dokładnej wersji systemu operacyjnego. Poniższy przewodnik będzie prostszy dla Yosemite, ale zakłada El Capitan lub nowszy. El Capitan, Sierra i High Sierra wymagają wyłączenia SIP (ochrona integralności systemu). W poprzednich systemach (10.6–10.10) kroki te nie są konieczne.
W tym przewodniku założono, że wszystkie kexts wciąż znajdują się w domyślnej lokalizacji / System / Library / Extensions. Posiadanie tam wszystkich tekstów AMD oprócz jednego jest korzystne dla „prawidłowego” działania.
Aby przywrócić pewne przyspieszenie wyświetlania, konieczne będzie wymuszenie, aby maszyna nie uruchamiała się w dyskretnej grafice (dGPU), ale bezpośrednio w grafice zintegrowanej (iGPU). To da ci laptopa, ale stracisz niektóre funkcje: np. Możliwość obsługi zewnętrznego wyświetlacza. Połączenia danych Thunderbolt powinny działać.
Wstępna procedura:
- Aby rozpocząć od czystej tablicy: zresetuj SMC i PRAM / NVRAM:
wyłącz, odłącz wszystko od zasilania, teraz trzymaj
<leftShift>+<Ctrl>+<Opt>+<Power>
zwolnić w tym samym czasie;
- Teraz włącz ponownie i przytrzymaj
<Cmd>+<Opt>+<p>+<r>
w tym samym czasie, aż usłyszysz dwa sygnały dźwiękowe uruchamiania.
- Uruchom do odzyskiwania, przytrzymując
<Cmd>+<r>+<s>
- Wyłącz SIP:
csrutil disable
- wyłącz dGPU podczas uruchamiania
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
- włącz tryb pełnego uruchamiania:
nvram boot-args="-v"
- uruchom ponownie w trybie pojedynczego użytkownika, przytrzymując
<Cmd>+<s>
przy rozruchu
- zamontuj partycję root zapisywalną
/sbin/mount -uw /
- utwórz katalog kopii zapasowej kext
mkdir -p /System/Library/Extensions-off
- przesuwaj tylko JEDEN obrażający kext na bok:
mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/
- pozwól systemowi zaktualizować swoją pamięć podręczną:
touch /System/Library/Extensions/
- poczekaj na zakończenie procesu kextcache
zrestartuj się normalnie: będziesz miał przyspieszony wyświetlacz iGPU, ale system nie wie, jak zarządzać zasilaniem uszkodzonego układu AMD. W tym celu musisz ręcznie załadować kext po uruchomieniu przez:
sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
Zautomatyzuj to za pomocą następującego LoginHook:
sudo mkdir -p /Library/LoginHook
sudo nano /Library/LoginHook/LoadX3000.sh
o następującej treści:
#!/bin/bash
kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
exit 0
następnie uczyń go wykonywalnym i aktywnym:
sudo chmod a+x /Library/LoginHook/LoadX3000.sh
sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh
Środki zapobiegawcze do wykorzystania w przyszłości
Są jeszcze dwa dodatkowe zastrzeżenia: Jest to odwracalne po zresetowaniu SMC / PRAM / NVRAM. Jeśli tak się stanie, nvram GPU-power-pref może / musi zostać ponownie ustawiony, aby wymusić użycie iGPU od czasu rozruchu.
Ponieważ może się to zdarzyć dość łatwo (i jest to często błędnie zalecane zbyt wiele razy, niż jest to faktycznie przydatne), prawdopodobnie powinieneś przygotować się na taki scenariusz i stworzyć prosty skrypt, aby znacznie przyspieszyć proces, a także znacznie wprowadzić niezbędne zmienne mniej podatny na błędy:
sudo nano /force-iGPU-boot.sh
- Wprowadź następującą treść do tego pliku:
#/bin/sh
sudo nvram boot-args="-v"
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
exit 0
- Teraz uczyń ten plik wykonywalnym:
sudo chmod a+x /force-iGPU-boot.sh
W przyszłości, gdy SMC / PRAM / NVRAM zostaną zresetowane do wartości domyślnych, można teraz uruchomić SingleUser za pomocą:
<Cmd>+<s>
- A po zamontowaniu odczytu-zapisu woluminu rozruchowego do wykonania wystarczy:
sh /force-iGPU-boot.sh
Ta konfiguracja ma teraz jeden kext w miejscu, którego nie oczekują instalatorzy Apple. Dlatego w tym przewodniku SIP nie został ponownie włączony. Jeśli aktualizacja, która zawiera zmiany w sterownikach AMD, ma się odbyć, zaleca się przeniesienie pliku AMDRadeonX3000.kext do jego domyślnej lokalizacji przed procesem aktualizacji. W przeciwnym razie program aktualizujący zapisuje co najmniej inny kext innej wersji do domyślnej lokalizacji lub w najgorszym przypadku kończy się niezdefiniowanym stanem częściowo niepasujących sterowników.
Po każdej aktualizacji systemu folder / System / Biblioteka / Rozszerzenia musi zostać sprawdzony pod kątem szkodliwego tekstu kext. Jego obecność spowoduje np. Zawieszenie się buta na Yosemite i Sierra, przegrzanie pętli rozruchowej w High Sierra.
Ponadto: laptop się przegrzewa, bez względu na to, co robisz. System chłodzenia jest niewystarczający, a ogromna liczba wadliwych układów AMD jest tego dowodem.
Aby przedłużyć żywotność tej teraz zhakowanej maszyny, zaleca się powstrzymanie się od naprawdę ciężkiego podnoszenia przez dłuższy okres czasu. Ściśle przestrzegaj zwykłych zaleceń dla laptopów: używaj na twardych powierzchniach, utrzymuj wentylatory i płetwy wewnątrz w czystości. Korzystanie z dowolnego oprogramowania fancontrol ze stosunkowo agresywnymi ustawieniami powinno również pomóc: jak smcFanControl , MacsFanControl lub TGPro (oba komercyjne).
Zastrzeżenie: Ta odpowiedź jest duplikatem stąd powtórzonym dla tego pytania, ponieważ na to pytanie podano tak wiele nieoptymalnych odpowiedzi.