Znalazłem to zgodnie z moim problemem w tym wątku:
Boot zawiesza się na szarym ekranie (nawet podczas uruchamiania z napędu USB ze świeżą instalacją OS X)
Mój MacBook Pro 15 "na początku 2011 r. Z AMD Radeon HD 6750M wykazywał uszkodzenie wyświetlacza i związane z nim awarie / resetowanie systemu przez okres dwóch tygodni, zanim całkowicie się nie uruchomił. Uruchamianie przechodziło przez szary ekran z logo Apple i pokrętłem, ale właśnie wtedy, gdy wydaje się, że powinien przełączyć się na ekran logowania, logo Apple i pokrętło zniknęły i wisiały na pustym szarym ekranie.
Początkowo podejrzewałem uszkodzenie dysku twardego i próbowałem temu zaradzić. Bezskutecznie próbowałem wykonać następujące czynności, a każdy z nich nadal się zawieszał, jak opisano powyżej:
Bezpieczny rozruch
Uruchomienie do odzyskiwania (w tym Odzyskiwanie Internetu)
Uruchomienie z nośnika instalacyjnego na dysku USB
Uruchomienie z instalacji OS X na dysku USB
Wyczyść NVRAM
Zresetuj SMC
Wiele razy przeprowadzałem również test sprzętu Apple, nie znajdując żadnych problemów.
Verbose safe boot (Cmd + Shift + V) wyświetla wszystko, co oczekiwałbym zobaczyć, ale zawiesiłoby się jak opisano powyżej.
Po napotkaniu kolejnych postów na forach dyskusyjnych Apple na temat problemów związanych z procesorami graficznymi powróciłem do tego jako przyczyny:
2011 MacBook Pro i dyskretna karta graficzna lub 2011 MacBook Pro i dyskretna karta graficzna
Próbując uruchomić Ubuntu z napędu flash USB, mogłem dostać się tylko do GRUB-a. Podczas próby uruchomienia Ubuntu Desktop lub uruchomienia testowania grafiki w GRUB, system się zawiesił.
W tym momencie uruchomienie Apple Hardware Test zawiesiło się tuż przed końcem standardowego testu, prawdopodobnie [zgadywanie] podczas wykonywania testu wideo.
W oparciu o porady zawarte w powyższych postach w dyskusji Apple wykonałem następujące czynności:
Uruchom w trybie pojedynczego użytkownika
Wykonaj następujące polecenia:
/sbin/fsck -fy /
/sbin/mount -uw /
mkdir /Disabled_System_Library_Extensions
cd /Disabled_System_Library_Extensions
mv /System/Library/Extensions/ATI* .
mv /System/Library/Extensions/AMD* .
touch /System/Library/Extensions
exit
Tym razem maszyna uruchomiła się całkowicie. Jednak grafika jest bardzo wolna, nawet tylko przejścia przy minimalizacji okien. Zabiorę mojego MBP do Apple, aby zażądać wymiany, ponieważ duża liczba raportów innych osób mających podobne problemy sprawia, że wygląda to na powtórzenie podobnej awarii związanej z GPU, która spowodowała, że wycofali się.
Ale kiedy używam polecenia „mv”, pliki nie zostaną przeniesione (ani usunięte) i pokazuje mi:
Sandbox deny (01) file-write-unlinked…
Jakieś rozwiązanie?
Odpowiedzi:
Tło i wyjaśnienia
Proszę przeczytać cały ten post przynajmniej raz od początku do końca przed podjęciem jakichkolwiek działań.
Wszystkie komputery MacBook Pro z 2011 roku mają poważną wadę projektową . Zarządzanie temperaturą i generowane ciepło w połączeniu z wytrzymałością dyskretnych układów graficznych AMD nie do siebie pasują. Apple wiedział o tym i zachowywał się jak typowy Soapy Smith , reagując na to dopiero po oburzeniu. Ten skandal przybrał nazwę RadeonGate. Tylko w przypadku groźby pozwu zbiorowego Apple zostało ostatecznie zmuszone do zaoferowania tak zwanego „Programu przedłużenia naprawy” .
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 prawie niezawodnie włączyć się ponownie i uruchomić system macOS i być całkiem użytecznym z przyspieszonym GUI jest tym przewodnikiem lub jego odmianą. Większość wcześniejszych porad po prostu usunęła wszystkie kext-AMD, co powoduje straszne wrażenia użytkownika bez żadnego przyspieszenia GUI.
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.
Ważne: w tym przewodniku założono, że wszystkie kexts nadal 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. Poprzednie włamania w tym kierunku mogły nakazać Ci ruch, lub gorzej: usuń wszystkie rozszerzenia jądra AMD * / ATI *. W takim przypadku: przenieś kexts z powrotem do ich domyślnej lokalizacji lub zainstaluj ponownie wybrany system. Posiadanie większości kextów AMD na miejscu, a następnie załadowanie X3000-kext z opóźnieniem, umożliwi zarządzanie energią GPU, które w przeciwnym razie spaliłoby prąd za darmo (i mogłoby przyspieszyć ostateczną śmierć chipa na gorąco). Powtórzmy: tylko plik
AMDRadeonX3000.kext
naprawdę był nieobecny podczas rozruchu, aby umożliwić pomyślne uruchomienie, ale wszystkie inne (potrzebne) sterowniki AMD powinny znajdować się w domyślnej lokalizacji, a X3000-kext ładuje się później / opóźnia, aby wrócić do królestwa prawie rozsądnego zarządzania energią i temperaturą.Obejście dyskretnego układu graficznego
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) i pozostała w tym trybie.
Uruchamianie w trybie dGPU jest domyślne w komputerach Mac z dwiema przełączanymi kartami graficznymi. Poniższa procedura spowoduje ustawienie zmiennej NVRAM, która wyłącza dGPU i zmusza system do korzystania ze zintegrowanej grafiki Intel nawet podczas uruchamiania.
Zmienna NVRAM jest nieudokumentowana, ale wydaje się, że ma uniwersalne zastosowanie do wszystkich komputerów Mac z dwoma przełączanymi kartami graficznymi. Oznacza to, że powinien działać na komputerach Mac i Pro MacBook Pro. Niezależnie od tego, czy mają układy AMD czy NVIDIA. Szczegóły dotyczące sterowników, które mogą być konieczne do przeniesienia, dotyczą tylko AMD w tym przewodniku. Ale zmienna NVRAM w każdym przypadku ominie dyskretny układ graficzny.
To przywróci ci maszynę - ale stracisz niektóre funkcje: np. Możliwość obsługi zewnętrznego wyświetlacza z DisplayPort, trochę wydajności 3D. Połączenia danych Thunderbolt powinny działać.
W przypadku, gdy ten przewodnik zawiedzie lub nie będzie już potrzebny: ta procedura jest czystą konfiguracją oprogramowania i dlatego jest w pełni odwracalna w dowolnym momencie dzięki prostemu resetowaniu pamięci NVRAM .
Wstępna procedura:
Część 1: Wyłącz SIP, wyłącz dGPU, przenieś jedno rozszerzenie jądra
Aby rozpocząć od czystego konta: zresetuj SMC i NVRAM:
zamknij, odłącz wszystko oprócz zasilania, teraz przytrzymaj
leftShift+ Ctrl+ Opt+ Power
i zwolnij wszystkie jednocześnie;
Teraz włącz ponownie i przytrzymaj
Cmd+ Opt+ p+ r
w tym samym czasie, aż dwa razy usłyszysz dzwonek uruchamiania.
Uruchom do odzyskiwania dla pojedynczego użytkownika, przytrzymując
Cmd+ r+s
Wyłącz SIP: wprowadź:
csrutil disable
wyłącz dGPU podczas uruchamiania, ustawiając następującą zmienną:
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
podłącz partycję root do zapisu
/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/
poinformuj system, aby zaktualizował pamięć podręczną:
touch /System/Library/Extensions/
uruchom ponownie normalnie:
Powinieneś teraz mieć akcelerowany wyświetlacz iGPU, ale system nie wie, jak zarządzać zasilaniem uszkodzonego układu AMD. (W tym stanie GPU zawsze pracuje na biegu jałowym ze stosunkowo dużą mocą, zużywając sporo baterii po odłączeniu i prowadząc do temperatur GPU od 60 ° C w górę [średnio 60-85 ° C], mimo że nie jest używane przez system .)
Część 2: poprawa zarządzania temperaturą i energią
Aby poprawić zarządzanie energią wyłączonego procesora graficznego, musisz ręcznie załadować jeden kluczowy kext po uruchomieniu przez:
Jeśli masz aplikację z czujnikiem temperatury, możesz chcieć ją otworzyć przed wydaniem powyższego polecenia i obserwować spadanie temps…
Zautomatyzuj to za pomocą następującego LoginHook, który zostanie wykonany po następnym restarcie:
o następującej treści:
następnie uczyń go * 1 wykonywalnym i aktywnym:
* 1: Nieudokumentowane użycie tego polecenia pmset wydaje się poprawiać zachowanie w trybie uśpienia / budzenia / zamknięcia. Jeśli nie, eksperymentuj z pominięciem tego.
Zobacz wyłączenie odpowiedzialności poniżej. To tylko spekulacje: sen / budzenie / wyłączenie mogą pozostać kłopotliwe. Teoria jest taka, że „coś powoli psuje” to, co jest zapisane w SMC. Dlatego zresetowanie SMC i ponowne zastosowanie zmiennego hacka wydaje się na jakiś czas złagodzić sytuację. (Trwałe rozwiązania tego powitania!) W celu obejścia krótkiego czasu możesz spróbować uniknąć „snu zamykania pokrywy”, który wydaje się przysporzyć więcej problemów niż inne metody (Apple-Menu, Keyboard-Shorcut). Widoczne zawieszanie się przy zamykaniu to zwykle bardzo długie opóźnienia, które zamykają się, ostatecznie, czysto i skutecznie.
Nienaukowe pobieranie próbek sugeruje, że Yosemite jest najgorszy do tego, a El Capitan i Sierra znacznie lepiej zachowują się pod tym względem.
Ręczne lub w inny sposób opóźnione ładowanie tego kluczowego rozszerzenia jądra pozwala systemowi nieco lepiej zarządzać zarządzaniem energią. Bateria będzie rzadziej używana, a temperatury emanujące z nieużywanego GPU spadną do zakresu znacznie poniżej 50 ° C (średnio między 15-50 ° C).
Aby zapewnić prawidłowe zarządzanie energią, minimalny zestaw załadowanych tekstów jest uruchamiany (wersje dla 10.12.6, sprawdź za pomocą
kextstat | grep AMD
):A jeśli powyższa metoda ładowania się powiedzie, powinna pojawić się dodana do listy:
Ostatnim krokiem jest ponowne uruchomienie w SingleUserRecovery
Zrób to za pomocą Cmd+ r+ s
po uaktywnieniu wiersza poleceń, wprowadź:
i uruchom ponownie normalnie.
To nieco ostygnie dGPU.
Konieczne jest wydanie tego polecenia z SingleUserRecovery, ponieważ system z włączonym SIP zablokuje twoje próby ustawienia tej zmiennej po uruchomieniu z normalnego woluminu rozruchowego, czy to w normalnym trybie pełnego rozruchu, czy w zwykłym SingleUser. Należy zauważyć, że w związku z tym tego kroku nie można łatwo zintegrować ze skryptem force-iGPU.sh (który utworzysz za minutę) i należy go powtórzyć po zresetowaniu pamięci NVRAM.
Ten ostatni krok zakłada, że SystemIntegretyProtection został ponownie włączony. Ale jeśli SIP jest celowo i trwale wstrzymany , ten krok można zintegrować ze skryptem force-iGPU.sh powyżej.
Ale ponieważ w jakiś sposób zamierzałem wyłączyć SIP na stałe i został on ponownie włączony bez mojej uwagi, poleganie na tym, że SIP pozostanie wyłączone, może nie być najlepszym podejściem. Wyczyszczenie pamięci NVRAM, w której przechowywane są ustawienia SIP, może być jednym z takich nieprzewidzianych zakłóceń.
Środki zapobiegawcze do wykorzystania w przyszłości
Są jeszcze dwa dodatkowe zastrzeżenia: Jest to odwracalne po zresetowaniu SMC / NVRAM. Jeśli tak się stanie, zmienna NVRAM-power-pref-GPU może, a nawet musi zostać ponownie ustawiona, 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:
- Wprowadź następującą treść do tego pliku:
- Teraz uczyń ten plik wykonywalnym:
W przyszłości, kiedy 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, aby wykonać tylko ten jeden wiersz:
Pamiętaj, że zmienna agc jest teraz również czyszczona. (Patrz wyżej)
Upewnij się również, że ponownie ustawiłeś domyślny wolumin rozruchowy w Preferencjach systemowych> Dysk startowy.
Część 3: Obsługa aktualizacji od Apple
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.
Uaktualnienie do High Sierra 10.13: ten hack jest prawie prosty: pomimo zastosowania aktualizacji oprogramowania układowego proces instalacji nie powinien dotykać zmiennej NVRAM. Proces instalacji nie wykorzystuje również w pełni przyspieszonego układu AMD, ale podstawowe przyspieszenie, które nie jest problematyczne w przypadku tego hacka. Jednak, jak zauważono w powyższym akapicie, pierwszy rozruch w systemie, który został ukończony, ale zaraz rozpocznie proces instalacji, wytworzy pętlę rozruchową wywołaną przez upał / awarię. Obrażające rozszerzenie jądra należy przenieść ponownie, jak opisano powyżej. (Zaczynając od kroku 3) Po przeniesieniu kext wszystko będzie dobrze.
Najnowsze aktualizacje od Apple: Nie aktualizuj, zanim nie przeczytasz poniższych.
Do odwołania:
Najnowsze aktualizacje ponownie psują urządzenie. Aktualizuje oprogramowanie układowe, RecoveryPartition, wydaje się wyłączać możliwość rozruchu w trybie SingleUserRecoveryMode
i na dodatek instaluje - nawet z DeltaUpdate - działający AMDRadeonX3000.kext!
Bez przygotowania i tylko pod ręką maszyna utknie trochę.
Jeśli SingleUserRecoveryMode zniknie na dobre, użyj zwykłego trybu RecoveryMode. Wyniki są takie same, rozruch jest nieco wolniejszy: powyższa procedura jest nadal aktualna i szybsza dla wszystkich poprzednich wersji Mac OS X / macOS.
Jeśli jednak zaktualizujesz do wersji 10.13.6 lub nowszej:
musisz zastąpić instrukcje dla SingleUserRecoveryMode ( Command+ r+ s) zwykłym trybem RecoveryMode ( Command+ r) i wyłączyć SIP przez terminal ( przykład dla tego konkretnego przypadku użycia ).
Jeśli należysz do tych, w których nawet zwykły
tryb RecoveryMode nie działa zgodnie z oczekiwaniami: Obejścia dotyczące niemożności wyłączenia SIP za pomocą SingleUserRecovery:
Najpierw uruchom system w trybie odzyskiwania dla jednego użytkownika. Edycje csrutil nie są dozwolone w tym trybie, ale mogą ustawić właściwość nvram gpu-power-prefs. Pomoże to zrestartować komputer w trybie odzyskiwania. Następnie musisz zastąpić instrukcje dla SingleUserRecoveryMode ( Command+ r+ s) zwykłym trybem RecoveryMode ( Command+ r) i wyłączyć SIP przez terminal ( przykład dla tego konkretnego przypadku użycia ).
Przed aktualizacją przygotuj wolumin rozruchowy. Może to być dysk zewnętrzny lub dysk. Każda wersja uruchamiająca maszynę będzie w porządku. Taki dysk można utworzyć na innym komputerze Mac.
Należy pamiętać, że na dysku zewnętrznym należy również (ponownie) przenieść AMDRadeonX3000.kext. Spróbuj uruchomić z tego napędu. Tylko jeśli działa to zgodnie z oczekiwaniami i można z nim zamontować dysk wewnętrzny: uruchom ponownie komputer z dysku wewnętrznego i kontynuuj aktualizację dysku wewnętrznego / systemu do wersji 10.13.6.
Po zakończeniu aktualizacji jedno zawieszenie się ponownie. Wymuś wyłączenie i ponowne uruchomienie z zewnętrznego dysku. Zamontuj wewnętrzny dysk i przenieś plik Radeon.kext. SIP chroni tylko system rozruchowy.
Sugerowane gdzieś w Internecie, ale naprawdę zdesperowane zgadywanie i niesprawdzone: Zamiast SingleUserRecoveryMode z Cmdrstobą możesz spróbować InternetRecoverySingleUserMode CmdOptrs. Alternatywnie, warto spróbować sprawdzić, czy SafeRecoveryMode działa CmdShiftr.
Klawisze jasności ekranu nie działają w High Sierra?
Apple zmieniło sposób, w jaki zdarzenia klawiatury służące do zmiany jasności ekranu są obsługiwane w High Sierra. Po tym włamaniu lub poniższych modyfikacjach sprzętowych klawisze nie będą działać. Jeszcze jeden powód, aby zostać z Sierra. Ale dzięki temu hackowi możesz również skorzystać z innego rozwiązania programowego. Oprócz włamywania się do własnego rozwiązania AppleScript możesz wypróbować gotowe aplikacje lub aplikacje.
Na przykład Suwak jasności w AppStore oferuje konfigurowalne skróty klawiaturowe.
Aby uniknąć zawieszania się / zawieszania / pętli rozruchowych - które nigdy nie są dobrym pomysłem dla systemu plików - podczas nowej instalacji lub aktualizacji: pamiętaj, aby przejąć kontrolę nad procesem instalacji i zawsze uruchamiać się w trybie SafeMode ( Shiftnaciskaj podczas uruchamiania aż do momentu kext zostaje przeniesiony w bezpieczne miejsce - instalacja powinna przebiegać poprawnie w trybie SafeMode.
Uwagi końcowe i zalecenia
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).
Uwaga: Cała ta procedura nie jest magiczną kulą. Stan awarii dla tych układów nie jest w 100% przewidywalny. Bardzo niewielu użytkowników ma problemy nawet z tym włamaniem: mogą wystąpić problemy z ponownym uruchomieniem komputera, pójściem spać lub budzeniem się prawidłowo, większość z nich pochodzi od użytkowników Yosemite, najmniej problemów sprawia Sierra. W takich przypadkach czasami wydaje się konieczne nieużywanie pliku AMDRadeonX3000.kext, a zatem także LoginHook z Części 3. (Ale patrz dodatkowa uwaga w * 1 powyżej.) Nieproporcjonalna liczba użytkowników zgłaszających problemy w High Sierra z ich wyświetlaczami regulacja podświetlenia. Tak więc obecnie najlepszym miejscem na wybór systemu operacyjnego jest moim zdaniem 10.12 Sierra.
W niektórych przypadkach, nawet przy wszystkich tych środkach, wydaje się, że nadal działający port Thunderbolt spowoduje pewne problemy, jeśli jakieś urządzenia peryferyjne zostaną podłączone i aktywne, gdy komputer przejdzie w tryb uśpienia. Po tym zdarzeniu może to mieć wpływ na każdy kolejny cykl uśpienia i ponownie konieczne będzie zresetowanie pamięci NVRAM z kolejnymi ustawieniami tańca opisanymi powyżej. W takich przypadkach wskazane jest, aby albo zapobiec uśpieniu komputera, albo odłączyć sprzęt na porcie Thunderbolt przed uśpieniem urządzenia.
W granicach ograniczeń przedstawionych na początku tej odpowiedzi: większość użytkowników zgłasza całkowity sukces.
Mody modów / hacki
Kilka sposobów dostępnych teraz, niektóre złe, niektóre dobre.
Złe rozwiązanie: Bardzo tania modyfikacja sprzętowa jest dostępna w / z RealMacMods: Podczas gdy stosują one stosunkowo skomplikowany sposób ustawiania niezbędnej zmiennej EFI w systemie Linux, następujące zalety mają całkowite obniżenie napięcia rdzenia do dGPU poprzez usunięcie tylko jednego małego rezystora ! (Zdjęcia pod linkiem)
Nie testowałem tego, ale powinno to wyeliminować wszelką potrzebę dbania o kexts, a także rozwiązać wszelkie problemy dotyczące snu, budzenia, hibernacji, restartu itp.
Jedno zastrzeżenie dotyczące rozważenia tej metody: ponieważ wydaje się, że polega ona na ustawieniu tej zmiennej NVRAM wygląda na to, że absolutnie niezbędna jest w pełni zautomatyzowana metoda ustawiania tej zmiennej bez interwencji użytkownika. (Podobnie jak w przypadku linuksa, który wprowadza niezbędne zmiany). W przeciwnym razie reset NVRAM może praktycznie zepsuć maszynę. Sprzedawca twierdzi, że nie ma danych na ten temat!
(Po przeczytaniu historii użytkownika ugryzionego tą metodą, co kończy się na czarnym ekranie: wydaje się, że można uzyskać zdalny dostęp do maszyny za pomocą VNC lub ssh, więc jeśli zostaną one wcześniej skonfigurowane, może rzeczywiście nie jest taka zła opcja po wszystko, ponieważ zmienna nvram może postawić w ten sposób. Pamiętaj: Nie przetestowana historia internetowa).
Trwałe, niezawodne i tanie rozwiązanie sprzętowe!
Dosdude1 najwyraźniej znalazł rozwiązanie, które wydaje się być świętym Graalem dla tego problemu: Trwale wyłącza dedykowany procesor graficzny MacBook Pro 2011 15 "/ 17" - Bypass IC gMux
To jest prawie łatwe. Potrzebne są tylko różne długości drutu . Aby rzucić okiem: Również na youtube!
„Złe rozwiązanie” z góry jest teraz przekształcane w prawie profesjonalne i gotowe rozwiązanie sprzętowe, eliminując poprzednią „wadę” takiego podejścia:
Aktualizacja do kompleksowego oprogramowania
Wydaje się, że powyższa procedura została przeniesiona do aplikacji związanej z włamaniem sprzętowym! Cóż, przynajmniej jego części. Ale z drugiej strony ta aplikacja jest bardziej uniwersalna niż powyższe południe, ponieważ wydaje się, że obsługuje również karty NVidia, to znaczy: służy do wyłączania wszystkich dyskretnych procesorów we wszystkich komputerach Mac.
Niestety, ta aplikacja wykonana przez dosdude1 i nie jest dobrze udokumentowana. Ekran Readme mówi, że ustawi zmienną NVRAM, przeniesie wszystkie sterowniki akceleracji graficznej, a następnie zainstaluje demona uruchamiającego do obsługi aktualizacji i zapewnienia, że zmienna pozostanie ustawiona.
Nie przetestowane przeze mnie i nie zatwierdzone przeze mnie, jeśli wykonałeś już procedurę opisaną powyżej!
Ale jeśli procedura w pewnym momencie nie zadziałała lub wydaje się, że po prostu zniechęcasz, możesz spróbować:
dosdude1: Inne, nieudokumentowane oprogramowanie, które napisałem, jest tutaj przechowywane: MacBook Pro dGPU Disabler.zip
Być może będziesz musiał ponownie zajrzeć do powyższej procedury, ponieważ aplikacja wydaje się tracić możliwość poprawy części zarządzania temperaturą (jeśli zmodyfikujesz sprzęt przez usunięcie tranzystora, stanie się to nastrojem: miksuj i dopasowuj).
Jeśli ktoś to przetestuje, prześlij swoją opinię tutaj w komentarzach lub przez edycję.
Wielkanocna aktualizacja 2019: rozwiązanie 20 $, które wykorzystuje 64-bitowy komputer z systemem Windows i programator HSP-USBN-2A Lattice HW-USBN-2A ICSP do zastosowania niestandardowego oprogramowania układowego na gMux IC. Dosdude1 twierdzi, że jest to „idealne” rozwiązanie, co oznacza, że nawet w przypadku akumulatorów HighSierra i Mojave, temperatura, kontrola jasności i budzenie / sen działają zgodnie z oczekiwaniami. Korzystanie z tego rozwiązania jest trwałe i powoduje, że wszystko powyżej staje się nieaktualne.
Ale to nowe rozwiązanie nie jest darmowe i wymaga sprzętu w postaci komputera z systemem Windows i programisty); a także obecnie lutuje tymczasowo kilka przewodów na płytce logicznej).
źródło
agc
nie jest katastrofalne, uruchamiałem komputer Mac przez miesiąc bez niego, zanim znalazłem tę sztuczkę. Ulepszenie różni się tylko od „trochę” do „OK, prawie świetnie”) Radykalnym szykiem byłoby użycie linuksa i ustawienie zmiennej od tam…reboot
po początkowym wyłączeniu SIPcsrutil disable
i po zmianach gpu nvram w trakcie odzyskiwania. Nie byłem pewien, jak zrestartować komputer z terminala odzyskiwania i próbowałem mocno się wyłączyć, ale zmiana SIP nie utrzymała się w ten sposóbJeśli problem polega na tym, że nie możesz przenieść tych plików, prawdopodobnie powstrzymuje Cię ochrona integralności systemu. Zakładam, że jesteś na El Capitan lub Sierra.
csrutil disable
i naciśnij klawisz Return.mv
polecenie.Jeśli to zadziałało, ponownie włącz SIP:
źródło
Dzięki tej odpowiedzi https://apple.stackexchange.com/a/295805/300460 od https://apple.stackexchange.com/users/251859/langlangc . Śledziłem to, kiedy miałem ten problem w zeszłym wrześniu 2018 roku. Jednak trochę starałem się ustalić dokładne kroki delta, które należy wykonać po raz drugi, gdy ponownie spotkałem się z tym samym problemem wczoraj, kiedy zrobiłem aktualizację zabezpieczeń OSX 2019-003. Pomyślałem więc o odłożeniu dokładnie tych kroków, myśląc o tych użytkownikach, którzy mogą spotkać się z tym problemem po raz drugi. Jeszcze raz wielkie podziękowania dla langlangc za oryginalny.
Byłem na OSX 10.13.6 w momencie, gdy zrobiłem aktualizację.
langlangc
poprosił mnie o potwierdzenie tego we wrześniu 2018 r .; ale nie mogłem wtedy odpowiedzieć, ponieważ nie mam uprawnień do komentarz)sh /force-iGPU-boot.sh
csrutil disable nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 nvram boot-args="-v"
/System/Library/Extensions-off
folder został usunięty po zrobieniu kopii zapasowej/sbin/mount -uw / mkdir -p /System/Library/Extensions-off mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/ touch /System/Library/Extensions/
nvram boot-args="agc=0"
reboot
aby uruchomić go normalnie.Cała reszta powinna działać zgodnie z oczekiwaniami, tak jak zrobiłbyś wszystkie pozostałe niezbędne kroki, kiedy uruchomiłeś ją po raz pierwszy. Wszystkiego najlepszego.
Aktualizacja 12 sierpnia 2019 r
Kiedyś polegałem na rozwiązaniu programowym sugerowanym przez @LangLangC. Jednak ostatnia aktualizacja w sierpniu wykazała, że normalne uruchamianie zostało zawieszone na pasku postępu. Mogę przejść przez tryb bezpiecznego rozruchu, ale ekran często migocze.
Aktualizacja 14 sierpnia 2019 r
Uruchomienie zakończyło się pomyślnie, gdy wyłączyłem SIP w trybie odzyskiwania. Nie pamiętam, czy robiłem to w przeszłości - ale teraz chyba tak.
Zmarnowałem dużo czasu, podejrzewając wiele różnych powodów - w tym problem z GPU pogarsza się lub potencjalne błędy w aktualizacji zabezpieczeń 10.13.6 2019-004.
Jednak teraz zauważyłem, że tym razem uruchomił się nawet z problematycznym
/System/Library/Extensions/AMDRadeonX3000.kext
miejscem !!!Aktualizacja 11 listopada 2019 r
Jest
AMD6000Controller.kext
to konieczne, aby przywrócić kontrolę jasności do normalnego działania. Ten kext musi być obecny w/System/Library/Extensions/
.źródło
/force-iGPU-boot.sh
skrypcie nie? a mójExtensions-off
katalog był już na miejscu, właśnie przeniosłem nowyAMDRadeonX3000.kext
i nazwałem goAMDRadeonX3000v2.kext
. Wydaje się, że lepiej zachować i załadować oryginał zgodnie z instrukcją @LangLangC.