MacBookPro2011显卡门HighSerria解决方案软件篇

2022-08-16 21:42:46
标签: macbookpro

制作Arch Linux启动U盘

  • 首先你需要一台可以用的mac和一支U盘。
  • 下载Arch Linux

,在china的镜像里,我看到了163镜像,选择最新的archlinux.iso。

  • 打开mac的终端,输入以下命令,列出所有的设备。
diskutil list

你的USB设备会以/dev/disk1

这样的形式列出来。根据你的U盘的名称和容量确定你的盘符名称,他的命名方式应该大致是/dev/diskX

  • USB 设备在Mac系统里一般会自动装载,在执行dd块写拷贝命令之前,你必须在终端里卸载(卸载不等于推出)它。
diskutil unmountDisk /dev/diskX
  • 现在通过终端命令,拷贝镜像文件到U盘,注意dd命令里有个r在 disk前,意思是原始文件模式,为的是传输文件更快。
sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m
  • 传输完成之后Mac系统会提示此电脑不能读取您插入的磁盘

,选择忽略就好,现在这个U盘已经是可以引导的了。

启动Arch Linux修改EFI参数

  • 把U盘插入到MacBook Pro,按住按键启动电脑,选择“EFI boot”启动方式,在选中Arch Linux archiso x86_64 UEFI CD菜单的情况下,按下按键“e”来编辑启动参数;在启动命令的最后加入空格nomodeset,然后按回车,如果没什么问题,Linux就会开始启动了,需要一点时间,请耐心等待。
  • 启动完成后输入如下命令。
cd /sys/firmware/efi/efivars
  • 列出目录下所有文件
ls

你将会看到有“gpu-power-prefs-…”为前缀的文件名列出(…的地方是UUID的值)。如果你有没有看到“gpu-power-prefs-…”这个文件,也不用着急,因为我也是这个情况,那么请跳过下面步骤,直接去创建“gpu-power-prefs-…”文件

的部分;

有“gpu-power-prefs-…”文件的情况

  • rm

命令删除“gpu-power-prefs-…”文件(按Tab键,可以补足“…”的字符串部分

rm gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9

也会发生权限不够的情况,如果运行rm

命令报错提示如下。

operation not permitted

说明在当前状态下efivarfs目录被装载成可读权限,你需要重新装载为可读、可写权限才能删除它,逐行运行下面的命令重新装载。

cd /
umount /sys/firmware/efi/efivars/
mount -t efivarfs rw /sys/firmware/efi/efivars/
cd /sys/firmware/efi/efivars/
rm gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9

如果这时候还是报错,你需要用chattr命令来消除文件的持久性,然后再删除它,命令如下。

chattr -i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9”
cd /sys/firmware/efi/efivars/
rm gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9

我看到另外一个教程里的情况,就是一直到最后一步,才删除了“gpu-power-prefs-…”这个顽固的文件。

创建“gpu-power-prefs-…”文件

如果找不到 “gpu-power-prefs-… ” 文件,不存在就没必要删掉它了,在有些年份的机器里就找不到这个文件,比如我的机器就是这样。

  • 接着我们自行创建这个“gpu-power-prefs-…”文件,按我们给的参数,命令如下。
printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9
  • 锁定“gpu-power-prefs-…”文件,让它只能被超级用户修改,这样启动的时候你的设置就不会被EFI程序所修改,命令如下。
chattr +i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9"
  • 卸载efivars目录并重启,命令如下。
cd /
umount /sys/firmware/efi/efivars/
reboot

移动AMD驱动

禁用SIP(System Integrity Protection)

SIP(System Integrity Protection)模式会锁定系统文件夹,开启状态无法移动系统目录的文件;

SIP模式的开启和关闭,只能在Recovery模式下,通过终端运行命令开启或关闭,默认状态为开启。

  • 开机启动时,同时按住++R,进入网络Recovery模式。因为我电脑没有安装本地Recovery模式,只能通过网络Recovery模式进入,你们可以直接按+R进入本地Recovery模式,这样更快。
  • 点击实用工具,进入终端,输入以下命令。
csrutil status
  • 如果结果反馈为enable,则为开启;为disable,则为关闭;输入以下命令,关闭SIP模式。
csrutil disable
reboot

移动AMD显卡驱动文件

  • 开机按下+S,进入命令模式,逐行键入以下命令。
fsck -fy(进行磁盘检测)

mount -uw /(装载root文件系统,并获得读写权限)

sudo mkdir /AMD_Kexts/(创建一个目录,来移动和备份AMD驱动文件)

sudo mv /System/Library/Extensions/AMD*.* /AMD_Kexts/(移动所有AMD驱动文件到刚才创建的目录里)

# 这一步我遇到了系统反馈,我没有权限,因为我没有关闭SIP「苹果系统保护」,而我又无法进入recovery模式,通过终端关闭SIP,所以我只好把硬盘拆下来,装进一个移动硬盘盒里,然后通过其他电脑,将/System/Library/Extensions/目录下的AMD相关驱动,移动到我们刚才创建的/AMD_Kexts/目录下。

# 完成上面操作后,再次将电脑回到命令模式

sudo rm -rf /System/Library/Caches/com.apple.kext.caches/(删除所有的驱动缓存)

sudo mkdir /System/Library/Caches/com.apple.kext.caches/(创建一个空的驱动缓存目录,以防系统出错)

sudo touch /System/Library/Extensions/(更新驱动缓存文件的时间戳,这样系统会重新生成驱动缓存)

sudo umount /(卸载分区,以确保修改被保存)

sudo reboot(重启)

修改NARAM参数

  • 开机按下+S,进入命令模式,输入以下命令。
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=
sudo reboot

再次重启后,你应该就可以看到熟悉的Mac系统登录界面了,到这里软件修复的工作也基本完成了。你可以继续使用这台电脑再战些时日了。

软件修复之后的其他问题

无法调节背光亮度

合上笔记本无法关闭显示器背光,同时也无法调节亮度,笔记本的显示器会始终以最亮的状态(或者上一次正常显示的亮度)显示,这样对眼睛和对显示屏灯管本身也有伤害,推荐Mac AppStore里有个叫Brightness Slider的软件。

无法使用外接显示器

网传这里有个例外,就是如果你在接了外界显示器的同时,开机屏幕亮起后迅速合上笔记本屏幕,就可以单独使用外接显示器(但是我没有成功过)。

重启后集成显卡驱动失效

有时候用外置移动硬盘启动系统后,可能会造成驱动再次失效的问题,可以在开机时,按下+S,进入命令模式,输入以下命令。

nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=
sudo reboot


阅读(0) 收藏(0) 转载(0) 举报/Report
相关阅读

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有