装错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 执行清理脚本,操作完成
- E* U7 s4 C) u' O) n$ O7 c3 A5 x* q4 I) ^
再次共享我的删除NVinject以及还原GeForce.kext,NVDANVx0Hal.kext,NVDAResman.kext脚本。
注:利用文本编辑工具可以对脚本进行编辑,请按你的源文件存放位置进行相应修改。

附件:脚本下载



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

/ w+ g! `+ D4 w7 c @根目录位置是 / 核心 Mach_kernel 就在这里,
* x$ X) w& V! e! M+ D! _驱动所在位置 /Systme/Library/Extensions
$ B, [: o7 S4 i7 N" R" V; E) a: H用户文件夹位置 /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

$ U! E$ w+ ]3 {8 o3 s1 S+ {注意:在 Unix系统中是区别大小写字符的,A.txt 不等于 a.txt。
6 }( T) z! n3 J4 A2 a 根目录标志 / 不是可有可无,cd /System 表示转到跟目录下的System中,而cd System 表示转到当前目录下的 System中2 k+ k! {0 i+ F7 Z- ?

2 c- z4 N3 S- C6 o) w2 j- r——————————————————————————————————————————————
- M# H( u8 _9 f0 F6 [5 k% z7 a) U U# w4 _
如何进入命令行操作模式5 i' w' B" Z7 R( V$ w/ \
再图形界面下,用finder 打开 应用程序 》实用程序》终端; |" }6 O; _2 v. F
如果连图形界面都进不去了(比如安错了显示驱动),开机时按 F8,用-s参数启动,然后输入命令 mount -uw /
* P' O( f# i( e, I* v
! l$ E6 K1 O _; p+ F2 s' d/ ^. V- I3 J) b" N* L
获得权限/ H5 Q% c( \% x3 m( \4 `
为了防止误操作破坏系统,再用户状态下时没有权限操作系统重要文件的,所以先要取得root权限
" i& g+ y3 B2 w2 ]sudo -s
4 P' F9 r5 Q4 I& _然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。
% K; A# h+ ?4 R2 U$ Q* G% V) E& Y1 y) E w8 u
——————————————————————————————————————————————. B/ G8 z+ q' ?/ k

6 X0 K5 W6 W, n基本命令
" w4 Q0 W0 w- ^* O- D& t# X: v列出文件
: T+ g' z( `/ t0 Bls 参数 目录名
1 I% ^0 O: k- f' b4 x, B例: 想看看跟目录下有什么, m% d, L3 O5 b! i
ls /( v1 L% c" Z% i1 F, x- P" [
想看看驱动目录下有什么,
L+ z. I/ D6 Q3 A( S5 F, | 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
: R/ w4 f( z' A2 R' f 例:想到驱动目录下溜达一圈: z! U# x0 b2 o, k2 ~3 ]7 P4 h/ f+ Y
cd /System/Library/Extensions/ n& e9 P, F3 _! {

( j$ n/ P0 W9 H0 n, B( q建立新目录4 @. f4 u- z% c( {! M
mkdir 目录名& C- R' |7 ]+ n- Y
例:在驱动目录下建一个备份目录 backup
3 c% x. [) a' }4 K- \! r/ v* h mkdir /System/Library/Extensions/backup& E5 w8 O; a* n8 O8 y
在桌面上建一个备份目录 backup; |8 m; w: o5 I2 A1 ~
mkdir /User/用户名/Desktop/backup
' i2 n7 @% L: w+ I
5 Q, j2 `7 A% e% @. m) E: Z; r拷贝文件
8 J& _ z' Y# N Gcp 参数 源文件 目标文件
: z4 M' R2 _+ o# l$ y, f 例:想把桌面的Natit.kext 拷贝到驱动目录中
7 I" w4 S4 S, c, a, f cp -R /User/用户名/Desktop/Natit.kext /System/Library/Extensions8 J. R& ^" ]3 m$ Q& ?
参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。! W7 @/ ~" y$ }% {! E
把驱动目录下的所有文件备份到桌面backup
! m) \ ]. @ B8 }3 q cp -R /System/Library/Extensions/* /User/用户名/Desktop/backup : j, a- U9 H. j6 a- P$ p9 C1 g

% t4 }! X5 p5 y( H. Y3 @9 Y1 v删除文件: l& P# ~9 \& h t# N0 ^) N
rm 参数 文件
. U( g5 d7 f, R 例:想删除驱动的缓存
|1 [" h" ~ x; q, k3 N) o rm -rf /System/Library/Extensions.kextcache! |9 ~. l4 x! l& z
rm -rf /System/Library/Extensions.mkext8 C( f @% h& C2 A
参数-rf 表示递归和强制,千万要小心使用,如果执行了 rm -rf / 你的系统就全没了
$ q4 }7 C" O: j( \
; C! h" t4 g0 _
' M* J' `- z2 F$ q0 H移动文件7 G7 ]4 N- C' H3 W1 f
mv 文件 8 R2 B8 c; L& b: @9 z
例:想把AppleHDA.Kext 移到桌面
8 c5 s: o% h* I* b mv /System/Library/Extensions/AppleHDA.kext /User/用户名/Desktop
6 i/ n( u6 x( P1 o 想把AppleHDA.Kext 移到备份目录中
; _- \; j' U' X. r" \8 C% S I& V mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup+ C" \' a @! I4 H

* \" k- Z8 e: a. T4 f5 C更改文件权限5 D; q7 p' J+ x) @
chmod 参数 权限 文件
6 f, ], O( v1 \; v, U( V: Z 例:把驱动目录下所有文件设定到root读写,其他用户只读
. H# Z1 R4 U* I1 p2 E5 l 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 T# k2 _' W5 v; m 例:把驱动目录下的所有文件属主改成根用户7 C( R6 f! o$ K H
chown -R root:wheel /System/Library/Extensions
; ~) m$ t& b8 s6 c) ? 参数R 表示递归操作
A9 L0 U, U6 }5 p& P! V( T& z/ F7 K5 ]0 x1 Y; W: {
修复整个系统中文件的权限& G# g: k! c) T* v
diskutil repairpermissions /
* [2 u# x9 f# K' n 严格的说这不是一个unix 命令,而是osx一个软件,记得修改或添加的驱动就执行一次。0 y, v ~" I. ^9 b! o

" G% y/ v7 Z6 W- d3 h! N% D文本编辑* 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
$ z" u, k6 e- v+ P 编辑完成后 用 Ctrl +O 存盘,Ctrl+X 退出: y: D7 W' d6 N; W. r9 F
另一个文本编辑软件是 vi,操作有些古怪,熟了是非常好用的,而且在所有类Unix系统中都它,走遍天下都不怕了。
* R+ A' _( C8 C& s5 l0 s
; }( T2 ]# ?" K b5 {) x* t运行脚本命令4 P% ]( l0 p0 V( R
sh 脚本文件名
: W! S$ C" v# y) ~" k 例 修改驱动后所有需要的操作存成一个脚本,以后修改了驱动后只要运行一次这个脚本就可以了,方便吧, 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
; r8 D# ?5 O7 X" b7 ? rm -rf /System/Library/Extensions.mkext
5 \% D" m6 q' X) x4 @ ^ chown -R root:wheel /System/Library/Extensions' b6 ` G$ V. c, u3 h5 n
chmod -R 755 /System/Library/Extensions
; Q1 N1 y# r! t& x$ m 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
2 F/ w7 Z& T! Z2 b) B, o1 J E( ]/ U2 k9 T
————————————————————————————————————
* E6 H, V( q- X小技巧
1 E2 L# r: i0 |. p' 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
操作带名字中带有空格的文件和目录
, y- C" q: E! a7 _9 p" F' _$ l7 t空格在命令中写成 \空格, 比如要进入 My Documents,命令为 cd My\ Documents
0 }% Q& @+ A# j% K1 K5 C/ a% {/ M2 c: a+ \' b' _1 X# `$ a4 B6 m' G: y
查看命令的详细帮助
3 P+ t: I- [, L. \ g$ eman 命令名! b) F7 H* ^# e7 U8 B$ n& Z
比如要看看 ls 命令的详细用法,执行 man ls , C1 A8 V& z$ U+ x! {/ D4 R% c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值