Các giải pháp được đưa ra cho đến nay chỉ là lời khuyên đủ tốt để giúp máy khởi động đủ xa để tạo bản sao lưu và tiếp tục. Làm theo lời khuyên ở đây sẽ chỉ cung cấp cho bạn một máy Mac khởi động với màu sắc mà bạn có thể đăng nhập nhưng không có khả năng tăng tốc thích hợp của GUI. Điều đó làm cho MacBook gần như không sử dụng được. Đây là một giải pháp thay thế vô hiệu hóa chip AMD bị lỗi nhưng cung cấp cho bạn đồ họa Intel được tăng tốc đúng cách và quản lý nhiệt tốt hơn nhiều so với việc loại bỏ tất cả các phần mở rộng hạt nhân liên quan đến AMD / Ati.
Bối cảnh và giải thích
Chương trình Apple Repair Extension không còn khả dụng nữa. Cách thực sự duy nhất để khắc phục vấn đề này là chỉ thay thế chip AMD. Không phải bảng logic. Không "tái bóng", không "phản xạ", không "nướng". Apple đã thay thế một con chip bị lỗi bằng một con chip bị lỗi. Hết lần này đến lần khác. Chỉ thay thế chip đồ họa vẫn là một thủ tục phần cứng tốn kém cho một máy tính xách tay cổ điển như vậy.
Cách duy nhất được biết - đó là: chỉ với phần mềm - để có được MacBook Pro 2011 (8.2) với "chỉ" một chip đồ họa AMD bị lỗi gần như bật lại một cách đáng tin cậy và có thể sử dụng được với GUI tăng tốc là hướng dẫn này hoặc một biến thể của nó. Hầu hết các mẹo trước đây chỉ loại bỏ tất cả AMD-kexts và điều này dẫn đến trải nghiệm người dùng khủng khiếp.
Nó là cần thiết để biết phiên bản hệ điều hành chính xác của bạn. Hướng dẫn sau đây sẽ đơn giản hơn cho Yosemite nhưng giả sử El Capitan hoặc mới hơn. El Capitan, Sierra và High Sierra cần SIP (Bảo vệ toàn vẹn hệ thống) bị vô hiệu hóa. Trên các hệ thống trước đó (10.6 mật10.10), các bước này là không cần thiết.
Hướng dẫn này giả định rằng tất cả các kexts vẫn ở vị trí mặc định / Hệ thống / Thư viện / Tiện ích mở rộng. Có tất cả AMD-kexts ở đó trừ một cái có lợi cho hoạt động 'đúng'.
Để lấy lại khả năng tăng tốc hiển thị, cần phải buộc máy không khởi động trong đồ họa rời (dGPU) mà trực tiếp vào đồ họa tích hợp (iGPU). Điều này sẽ cung cấp cho bạn trở lại máy tính xách tay của bạn - nhưng bạn sẽ mất một số tính năng: ví dụ: khả năng lái màn hình ngoài. Kết nối dữ liệu Thunderbolt nên hoạt động.
Thủ tục ban đầu:
- Để bắt đầu từ một bảng xếp hạng sạch: đặt lại SMC và PRAM / NVRAM:
Tắt máy, rút tất cả mọi thứ trừ nguồn điện, hiện đang giữ
<leftShift>+<Ctrl>+<Opt>+<Power>
phát hành cùng một lúc;
- Bây giờ bật lại và giữ
<Cmd>+<Opt>+<p>+<r>
cùng một lúc cho đến khi bạn nghe thấy tiếng chuông khởi động hai lần.
- Khởi động vào Recovery bằng cách giữ
<Cmd>+<r>+<s>
- Vô hiệu hóa SIP:
csrutil disable
- vô hiệu hóa dGPU khi khởi động
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
- bật chế độ khởi động dài dòng:
nvram boot-args="-v"
- khởi động lại vào chế độ người dùng bằng cách giữ
<Cmd>+<s>
khi khởi động
- gắn kết phân vùng gốc có thể ghi
/sbin/mount -uw /
- tạo một thư mục sao lưu kext
mkdir -p /System/Library/Extensions-off
- chỉ di chuyển MỘT kext vi phạm ra khỏi đường đi:
mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/
- hãy để hệ thống cập nhật kextcache của nó:
touch /System/Library/Extensions/
- chờ quá trình kextcache kết thúc
khởi động lại bình thường: bạn sẽ có màn hình iGPU được tăng tốc, nhưng hệ thống không biết cách quản lý năng lượng cho chip AMD bị lỗi. Vì vậy, bạn phải tải một cách cẩn thận kext sau khi khởi động bằng cách:
sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
Tự động hóa điều này với Đăng nhập sau:
sudo mkdir -p /Library/LoginHook
sudo nano /Library/LoginHook/LoadX3000.sh
với nội dung sau:
#!/bin/bash
kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
exit 0
sau đó làm cho nó thực thi và hoạt động:
sudo chmod a+x /Library/LoginHook/LoadX3000.sh
sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh
Các biện pháp phòng ngừa để sử dụng trong tương lai
Có hai thông báo cần biết thêm: Điều này có thể đảo ngược khi đặt lại SMC / PRAM / NVRAM. Nếu điều đó xảy ra, nvram GPU-power-pref có thể / phải được đặt lại để buộc sử dụng iGPU từ lúc khởi động.
Vì điều này có thể xảy ra khá dễ dàng (và thường được đề xuất sai cách quá nhiều lần so với thực tế hữu ích), có lẽ bạn nên chuẩn bị cho một kịch bản như vậy và tạo một tập lệnh đơn giản để tăng tốc quá trình và cũng làm cho việc nhập biến cần thiết nhiều ít bị lỗi hơn:
sudo nano /force-iGPU-boot.sh
- Nhập nội dung sau vào tập tin này:
#/bin/sh
sudo nvram boot-args="-v"
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
exit 0
- Bây giờ làm cho nó thực thi:
sudo chmod a+x /force-iGPU-boot.sh
Trong tương lai, khi SMC / PRAM / NVRAM được đặt lại về giá trị mặc định, giờ đây có thể khởi động vào SingleUser với:
<Cmd>+<s>
- Và sau khi gắn đọc-ghi khối lượng khởi động của bạn để thực hiện chỉ:
sh /force-iGPU-boot.sh
Thiết lập này hiện có một kext ở một nơi mà các trình cài đặt của Apple không mong đợi. Đó là lý do tại sao trong hướng dẫn này SIP không được kích hoạt lại. Nếu một bản cập nhật có chứa các thay đổi đối với trình điều khiển AMD sắp diễn ra, bạn nên chuyển trở lại AMDRadeonX3000.kext về vị trí mặc định của nó trước quá trình cập nhật. Mặt khác, trình cập nhật ghi ít nhất một kext khác của một phiên bản khác vào vị trí mặc định của nó hoặc tệ nhất là bạn kết thúc với trạng thái không xác định của trình điều khiển không khớp một phần.
Sau khi cập nhật bất kỳ hệ thống nào, thư mục / Hệ thống / Thư viện / Tiện ích mở rộng phải được kiểm tra cho kext vi phạm. Sự hiện diện của nó ở đó sẽ dẫn đến ví dụ như một bốt treo trên Yosemite và Sierra, một vòng lặp khởi động quá nóng ở High Sierra.
Hơn nữa: máy tính xách tay này quá nóng, bất kể bạn làm gì. Hệ thống làm mát không đầy đủ và số lượng lớn chip AMD bị lỗi chỉ là bằng chứng cho điều đó.
Để kéo dài tuổi thọ của cỗ máy bị hack này, bạn nên kiêng nâng vật nặng trong thời gian dài. Tuân thủ nghiêm ngặt các khuyến nghị thông thường cho máy tính xách tay: sử dụng trên bề mặt cứng, giữ cho quạt và vây bên trong sạch sẽ. Sử dụng bất kỳ phần mềm fancontrol nào có cài đặt tương đối tích cực cũng sẽ giúp ích: như smcFanControl , MacsFanControl hoặc TGPro (cả thương mại).
Tuyên bố miễn trừ trách nhiệm: Câu trả lời này là một bản sao được lặp lại từ đây cho câu hỏi này vì câu hỏi này có rất nhiều câu trả lời dưới mức tối ưu được đưa ra.