装错MacOS驱动遇四国,简单步骤告别重装(转载)

目前Mac系统已经很容易装上,至于AMD,只是时间问题。所谓苹果难啃,难在驱动,没有完美驱动的系统等于有辆名牌车但却没有加油。由于使用的是破解 版,安装驱动很容易四国(四国语言提示重启),无法启动系统。遇此问题千万别选择重装,早期我就犯了这个大忌,硬盘都不知遭受了多少损伤,心疼。

出现四国界面,即驱动未安装正确,此时将错误驱动删除即可。

启动倒计时,按任意键,-s 回车进入命令模式。

首先:务必掌握一个小技巧: 用 Tab 键 自动 补齐命令。比如想到 /System 目录中去,输入 cd /Sy 然后按一下Tab 键,命令就会自动补齐成 cd /System注意大小写,Mac系统大小写很严格。

开始吧。以NVIDIA显卡驱动为例(显卡驱动最难安装)2d7d3d6e

mount -uw /
rm -rf /System/Library/Extensions/NVinject.kext
chown -R root:wheel /System/Library/Extensions
chmod -R 755 /System/Library/Extensions
rm -rf /System/Library/Extensions.mkext
rm -rf /System/Library/Extensions/Caches/
rm -rf /System/Library/Caches/


此时我们只删除了NVinject.kext文件,而NVIDIA显卡很多都要添加ID到GeForce.kext,NVDANVx0Hal.kext,NVDAResman.kext 三个文件。因此,在修改驱动文件前最好养成做备份的习惯。
假设GeForce.kext,NVDANVx0Hal.kext,NVDAResman.kext 源文件备份在桌面old文件夹下,此时就将源文件拷到Extensions文件夹下,并修复权限,操作如下。

cp -rf /Users/你的用户名/Desktop/old/ /System/Library/Extensions (old后面的/很重要,否则就会将连文件夹一起拷过去)
chown -R root:wheel /System/Library/Extensions
chmod -R 755 /System/Library/Extensions
rm -rf /System/Library/Extensions.mkext


重启 -f 重新加载启动内容。 四国消失。

驱动的路程有可能很漫长,一天可能要四国N次,那么我们也就要反复输入相同的命令N次,很无聊。
这里介绍一个我的办法,将删除错误驱动文件的命令以及恢复源文件的命令脚本化。
装错驱动后,只需-s进入命令模式, sudo -s
然后找到相应的脚本文件,回车运行脚本即可。即方便又快捷。假设脚本文件放于桌面,操作如下:

/Users/你的用户名/Desktop/脚本名(带后缀)回车(利用TAB键很快就能完成)
sh /clean 执行清理脚本,操作完成

再次共享我的删除NVinject以及还原GeForce.kext,NVDANVx0Hal.kext,NVDAResman.kext脚本。
注:利用文本编辑工具可以对脚本进行编辑,请按你的源文件存放位置进行相应修改。

附件: 脚本下载



恶补OSX命令行知识(摘自网络)
OSX 的 文件 系统
OSX 采用的Unix文件系统,所有文件都挂在跟目录 / 下面,所以不在要有Windows 下的盘符概念。 ! R, H" I8 n" w; u7 M( R; E
你在 桌面上看到的 硬盘都挂在 /Volumes 下。
比如接上个叫做 USBHD的移动硬盘,桌面上会显示出一个硬盘 图标,它实际在哪里呢?
在终端里执行 ls /Volumes/USBHD, 看看显示出的是不是这个移动硬盘的内容。 % v4 g+ t! n R5 o; ^

根目录位置是 / 核心 Mach_ kernel 就在这里,
驱动所在位置 /Systme/Library/Extensions
用户文件夹位置 /User/用户名 % D: z' c8 ^# /( [3 [
桌面的位置 /User/用户名/Desktop + j9 _* E3 y0 N+ N6 Q( S( G" d
% W3 W. ~& f: a2 ]
文件通配符为星号 * 2 k1 i2 @ o, L4 X

注意:在 Unix系统中是区别大小写字符的,A.txt 不等于 a.txt。
根目录标志 / 不是可有可无,cd /System 表示转到跟目录下的System中,而cd System 表示转到当前目录下的 System中 2 k+ k! {0 i+ F7 Z- ?

——————————————————————————————————————————————
k% z7 a) U U# w4 _
如何进入命令行操作模式 5 i' w' B" Z7 R( V$ w/ /
再图形界面下,用finder 打开 应用程序 》实用程序》终端 ; |" }6 O; _2 v. F
如果连图形界面都进不去了(比如安错了显示驱动),开机时按 F8,用-s参数启动,然后输入命令 mount -uw /
d/ ^. V- I3 J) b" N* L
获得权限 / H5 Q% c( /% x3 m( /4 `
为了防止误操作破坏系统,再用户状态下时没有权限 操作系统重要文件的,所以先要取得root权限
sudo -s
然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。
) E& Y1 y) E w8 u
—————————————————————————————————————————————— . B/ G8 z+ q' ?/ k

基本命令
列出文件
ls 参数 目录名
例: 想看看跟目录下有什么, m% d, L3 O5 b! i
ls / ( v1 L% c" Z% i1 F, x- P" [
想看看驱动目录下有什么,
ls /System/Library/Extensions / W; F( z) b3 s7 p" x2 z; X+ f3 _
参数 -w 显示中文,-l 详细信息, -a 包括隐藏文件 . I" r" }7 n6 x* S
转换目录 ) z. v+ d& W, _% k* ?
cd
例:想到驱动目录下溜达一圈 : z! U# x0 b2 o, k2 ~3 ]7 P4 h/ f+ Y
cd /System/Library/Extensions / n& e9 P, F3 _! {

建立新目录 4 @. f4 u- z% c( {! M
mkdir 目录名 & C- R' |7 ]+ n- Y
例:在驱动目录下建一个备份目录 backup
mkdir /System/Library/Extensions/backup & E5 w8 O; a* n8 O8 y
在桌面上建一个备份目录 backup ; |8 m; w: o5 I2 A1 ~
mkdir /User/用户名/Desktop/backup

拷贝文件
cp 参数 源文件 目标文件
例:想把桌面的Natit.kext 拷贝到驱动目录中
cp -R /User/用户名/Desktop/Natit.kext /System/Library/Extensions 8 J. R& ^" ]3 m$ Q& ?
参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。 ! W7 @/ ~" y$ }% {! E
把驱动目录下的所有文件备份到桌面backup
cp -R /System/Library/Extensions/* /User/用户名/Desktop/backup : j, a- U9 H. j6 a- P$ p9 C1 g
删除文件 : l& P# ~9 /& h t# N0 ^) N
rm 参数 文件
例:想删除驱动的缓存
rm -rf /System/Library/Extensions.kextcache ! |9 ~. l4 x! l& z
rm -rf /System/Library/Extensions.mkext 8 C( f @% h& C2 A
参数-rf 表示递归和强制,千万要小心使用,如果执行了 rm -rf / 你的系统就全没了

 

移动文件 7 G7 ]4 N- C' H3 W1 f
mv 文件 8 R2 B8 c; L& b: @9 z
例:想把AppleHDA.Kext 移到桌面
mv /System/Library/Extensions/AppleHDA.kext /User/用户名/Desktop
想把AppleHDA.Kext 移到备份目录中
mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup + C" /' a @! I4 H

更改文件权限 5 D; q7 p' J+ x) @
chmod 参数 权限 文件
例:把驱动目录下所有文件设定到root读写,其他用户只读
chmod -R 755 /System/Library/Extensions " p: l- e; l- ~/ k; L2 F- Z2 E
参数R 表示递归,755表示各用户的权限 ! p2 |# J; Q$ b% u$ Z/ d! V
/ h9 z( W d- o
更改文件属主 , v% @) G1 k9 i b" r' O" [% Q
chown 参数 用户:组 文件
例:把驱动目录下的所有文件属主改成根用户 7 C( R6 f! o$ K H
chown -R root:wheel /System/Library/Extensions
参数R 表示递归操作
 z/ F7 K5 ]0 x1 Y; W: {
修复整个系统中文件的权限 & G# g: k! c) T* v
diskutil repairpermissions /
严格的说这不是一个unix 命令,而是osx一个 软件,记得修改或添加的驱动就执行一次。 0 y, v ~" I. ^9 b! o

文本编辑 * s" ]$ Z. h# H$ R- s2 f W" T
nano 文件名 $ U ]7 r( u1 D4 m/ X& r% j
例:编辑natit Info.plist , _8 s9 @, ?" T9 F/ B5 ^
nano /System/Library/Extensions/Natit.kext/Info.plist
编辑完成后 用 Ctrl +O 存盘,Ctrl+X 退出 : y: D7 W' d6 N; W. r9 F
另一个文本编辑软件是 vi,操作有些古怪,熟了是非常好用的,而且在所有类Unix系统中都它,走遍天下都不怕了。

运行脚本命令 4 P% ]( l0 p0 V( R
sh 脚本文件名
例 修改驱动后所有需要的操作存成一个脚本,以后修改了驱动后只要运行一次这个脚本就可以了,方便吧 , l% t" l8 q" z/ |% {
1. 终端中运行nano /clean - v8 ?" D6 D6 x
2. 把下列代码粘贴到 nano 中 9 a. F# ~, L# H+ {& u9 F* `
rm -rf /System/Library/Extensions.kextcache
rm -rf /System/Library/Extensions.mkext
chown -R root:wheel /System/Library/Extensions ' b6 ` G$ V. c, u3 h5 n
chmod -R 755 /System/Library/Extensions
diskutil repairpermissions / 9 F& D8 b4 H" Y: l! C. l
kextcache -k /System/Library/Extensions/ 1 ]# F% H A( b- A3 w
3. Ctrl +O 存盘,Ctrl+X 退出 ! }$ A0 H" I; `" z; U
4. 以后只要动了驱动,就在终端中运行一次 sh /clean
( ]/ U2 k9 T
————————————————————————————————————
小技巧
h4 K0 _% o/ f
用 Tab 键 自动补齐命令 8 g( U% Q$ {4 a* ~
比如想到 /System 目录中去,输入 cd /Sy 然后按一下Tab 键,命令就会自动补齐成 cd /System % r3 q+ x2 g) E5 ]/ s
/ d; y U, J* i
操作带名字中带有空格的文件和目录
空格在命令中写成 /空格, 比如要进入 My Documents,命令为 cd My/ Documents
# `$ a4 B6 m' G: y
查看命令的详细帮助
命令名 ! b) F7 H* ^# e7 U8 B$ n& Z
比如要看看 ls 命令的详细用法,执行 man ls , C1 A8 V&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值