p.H 发表于 2012-4-26 15:42

黑苹果必读FAQ---初阶篇(5月14日更新)

本帖最后由 p.H 于 2012-6-19 16:27 编辑

当你初次听说黑苹果的时候,是不是满腔热血准备自己亲手尝试一番?
当你带着问题来到远景黑苹果论坛的时候,是不是被铺天盖地的帖子吓到了?
当你望着图文并茂的安装教程却还是无从下手时,是不是想半路放弃?

无论怎样,都希望下面的内容能够对你有所帮助

以下将以一问一答的形式,对一些黑苹果的基础知识或者相关问题进行解答
由于个人水平有限,错误之处敬请包含并欢迎指正 Credits to www.insanelymac.com
禁止转载,谢谢合作
                                                         p.H1                                                                         @PCbeta内容概要:
黑苹果必读FAQ---初阶篇黑苹果必读FAQ---进阶篇

注:本文长期更新,内容概要中红色部分表示最近更新的内容章节零:                                                                                                            点我传送
[*]OS X 86的简介与其合法性
章节一:                                                                                                          点我传送
[*]VendorID与DeviceID
[*]硬件驱动初步预览
章节二:                                                                                                            点我传送

[*]Kext相关内容
[*]开机参数flag使用
[*]Lion启动缓慢以及新的缓存机制UseKernelCache(5月12日更新)
[*]是否需要重建缓存,又该如何重建?(5月14日更新)
[*]PCI Configuration Begin五国解决方法(5月3日更新)
[*]Waiting for DSMOS 与 DSMOS has arrived五国解决方法(5月5日更新)
章节三:                                                                                                            点我传送

[*]芯片组以及数据控制器
[*]DSDT
章节四:                                                                                                            点我传送
[*]QE/CI特效
[*]Appstore无法登陆,网卡内建问题
[*]如何(显示/隐藏)系统默认隐藏文件
[*]内核日志(kernel.log)
[*]Memory Slot Utility烦人提示解决方法(5月3日更新)




p.H 发表于 2012-4-26 15:42

本帖最后由 p.H 于 2012-4-27 08:06 编辑

原文链接:http://www.insanelymac.com/forum/index.php?showtopic=277422Credits to JamesLittler@InsanelyMac

OS X 86项目到底是什么?OS X 86项目是指在非苹果硬件上运行苹果OS X系统有许多限制使得非苹果硬件不能运行OS XOS X 86旨在突破这些限制并且在现有的硬件上实现OS X全部应有的功能,也就是非虚拟机安装方式
我能在我的PC或笔记本上安装OS X么?如果你的硬件比较新,那成功的概率就比较大了使用AMD处理器或者Intel32位处理器(撰写此文时)只能够运行10.6.8其实论坛里面已经有不少AMD处理器坛友已经装上了Lion了,破解内核也已经是第五版(version 5)了如果你的CPU是64位的Intel处理器,那么恭喜你,你将能运行Lion原生内核总的来说,安装相对简单。在非苹果硬件上安装OS X并非想象中那么困难但试图驱动所有的设备例如USB,无线网卡,蓝牙,触控板,键盘等等在某些情况下才是真正的挑战鉴于此,如果你新配的PC想尝试安装OS X的话,最好先了解一下硬件的兼容性推荐一个HLC(Hardware Compatiblity List硬件兼容表)网站:(可能需要FQ,该网站同样可以为你的硬件寻找Kext)http://olarila.com/kexts/
我准备尝试了,下一步该做什么?备份所有有价值的东西。如果可能,把你现在硬盘的数据拷贝到另一个硬盘做备份了解你的硬件与OS X兼容性如何。一个好的方法便是使用谷歌搜索“你的硬件 OS X”(论坛右上角的高级搜索,就能搜到很多相关信息善于搜索是黑苹果很重要的一部分,有时提问的解答速度还没有搜索的解决速度快)下载“引导”并写入光盘或者USB或者硬盘Nawcom的ModCD是一个不错的选择HJMac,Win版变色龙(主安装),Mac版变色龙(主进阶),XPC,Clover等都是可以选用的引导获取SL或Lion(雪豹或狮子,下同)10.6.3或10.7.X的零售版并准备开始网上有许多安装教程,记得确认你用的教程是否适用于零售版的安装
启动盘是什么?启动盘包含了能够引导操作系统启动的引导因为Darwin(苹果自带的引导)并不会在非苹果硬件上引导OS X,所以你需要另外的引导HJMac,Win版变色龙(主安装),Mac版变色龙(主进阶),XPC,Clover等都是可以选用的引导启动盘同样包含Kext文件
如何启动安装光盘?放入引导光盘并从光盘启动PC(改变的你的bios设置或者使用启动菜单(boot menu),通常按F12进入,类似于光盘安装Windows)当你看到引导的GUI(图形用户界面,下同),弹出引导盘并插入安装盘(引导盘只含有引导,到此引导盘的任务便完成了一半,安装盘上则是真正要安装的系统镜像)(你可能需要按一个按键来停止启动过程,另一个按键来重新检测安装媒介通常他们分别是F8和F5,但因为引导或启动盘的不同而产生差异,无论如何屏幕上一般都提供有指示)
无法启动!你可能需要更改你的BIOS设置,一般设置如下:硬盘设置为AHCI,如果不支持AHCI那么使用RAID(但不要使用RAID队列)如果可以,把HPET设置为64位激活USB Legacy Support
还是无法启动!在GUI输入“-v”(不含引号)回车”-v“模式将把启动过程输出到屏幕上在论坛相关板块发帖求助,并提供尽可能多关于硬件和问题的信息(SL就发到SL版,Lion就发到Lion版,不要不看板块就直接发帖了)
我已经进入了安装界面并且已经按照XXX安装教程安装好了,下一步做什么?现在你需要使用引导盘启动硬盘上安装好的系统一旦首次进入OS X,你需要在硬盘上安装引导这将使你不再需要引导盘来引导(只要安装好了硬盘引导,引导盘就功成身退了)启动OS X安装会有一些必要的Kext例如fakesmc.kext(安装时建议使用2.5版本的,安装完之后可以换新版的也可以不用,点我传送)你同样需要smbios.plist和org.chameleon.boot.plist(Rev 1104之前版本则是com.apple.boot.plist)设置好之后放置在/Extra/下,以后用/E/简称





原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278291Credits to Alessandro17@InsanelyMac

PC上安装OS X合法么?如果你拥有正版的OS X副本的话,黑苹果并不违法事实上从法律的角度来说,使用盗版的Windows情况比这更严重黑苹果最多也就是违反了EULA(Apple和你之间的合约)EULA的法律地位各个国家都不尽相同无论如何,只需记住你不可能因此而坐牢况且违反EULA和警察没有任何关系(这并不是刑事犯罪criminal offence)想了解更多的话,请进入:http://www.insanelymac.com/forum/index.php?showtopic=205396&上述观点仅代表Alessandro17个人并不代表InsanelyMac,远景或其所有人其次,我不是律师,上面的观点是在我全部的法律认知范围内得出的欢迎指正任何错误与遗漏

p.H 发表于 2012-4-26 15:42

本帖最后由 p.H 于 2012-5-22 18:21 编辑

原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278055Credits to PookyMacMan@InsanelyMac

VendorID和DeviceID到底是什么?
系统中的每个设备都有他的VendorID(厂商ID)和DevieID(设备ID,用来标识这个特定的设备)两者共同构成了PCI ID
设备不仅仅拥有VendorID和DeviceID,还有subsystem-vendorID和subsystemID

VendorID和DeviceID有什么用?
如果你打算给Kext打上patch的时候,你需要知道你的PCI ID才能把它写入驱动之中
打上Patch的Kext能使他们在你特定的系统上运行
这样你的设备便有了驱动
subsystemID有时可以用来patch无线和声卡驱动

VendorID和DeviceID哪里获取?
这取决于你的操作系统:
Windows:
你可以使用以下程序:Unknown Devices,windows版的System Info或者是设备管理器
Unknown Devices和System Info是十分明显的,但是如果你使用设备管理器,右键你的设备,选择属性
单击Details的选项卡,在弹出的菜单中选择HardwareID(Vista或Win7)或者DeviceInstanceID(XP)
VEN_后的4位数字便是你的VenderID,DEV_后的四位数字则是你的DeviceID
subsystemID则需要寻找SUBSYS_,之后有8位数字,前四位是subsystem-vendor ID,后四位是subsystem ID,如图:这是我的ATI Radeon HD 5650 Mobility(5650M)
如图可以得到:
VendorID=Ven_1002(ATI公司标识)
DeviceID=Dev_68C1(5650M显卡的特定标识)
SUBSYS_04561028 --> subsystem-vendor ID=0456,subsystem ID=1028

这里附上3个系统的SystemInfo软件:
(win版的是Jar文件,需要Java平台才能运行,官方下载地址:http://www.java.com/zh_CN/)
Win:
Linux:
Mac:
下面附上Win下和Mac下的SystemInfo截图:




Linux:
打开终端并输入
lspci -nn > ~/Desktop/pci_ids.txt这将会在桌面生成一个名为《pci_ids.txt》并含有你全部PCI ID的文档
如果你还需要subsystemID,那指令改为
lspci -nnvv > ~/Desktop/pci_ids.txt
Mac:
Mac版的lspci也是可行的(同Linux的终端操作一样),Mac版的SystemInfo同样也行

注意,Mac版的lspci需要安装驱动并需要重启。所以如果要在Mac下使用lspci的话,安装之后是必须要重启的
解压之后得到一个pkg文件,双击按提示安装即可,安装完成不会有重启提示,但需要重启之后再执行命令


有关lspci:
lspci不仅能够用来查找PCI IDs,它同样也能用来识别DSDT中的设备
考虑到DSDT设备是十分隐秘的,这将十分有用
下图是一个例子:





原文链接:http://www.insanelymac.com/forum/index.php?showtopic=277358
Credits to PookyMacMan@InsanelyMac


我的硬件能驱动么?
很古老却又是反复被提及的问题
尽管最好的答案是去维基百科或查看其他类似的硬件兼容列表,但这个回答也并不完全
你可以按照如下的准则自己尝试一番
首先,在开始之前,有一件你必须知道的事:
计算机中的硬件都有4位的VendorID和4位的DeviceID,两者共同组成了PCI ID
VendorID是厂商的ID,DeviceID则是特定设备的ID,详情就在上方

处理器:
Intel处理器是最好的选择,尤其是任一酷睿系列(例如酷睿2双核,I5等等)和至强系列
为什么是这些CPU而不是Intel其他的CPU或者AMD的CPU呢?
原因很简单,白苹果使用的便是Intel酷睿(Core)和至强(Xeon)系列
这并不意味着不支持其他的CPU,只是说你不能使用Apple原生的内核(kernel)而需要使用其他的内核
(或许你会好奇内核是什么,内核就像是信使:
这样理解,操作系统和应用程序和内核交换信息,而内核则与计算机中的硬件交换信息
从而实现了操作系统与硬件的交流)

控制器:
控制器是用来管理你的硬盘和光驱数据读取与写入的设备
可能为SATA或者IDE,详情参见:章节四-芯片组以及数据控制器

I/O端口:
I/O端口包含了所有数据端口例如USB等。每个I/O端口的详细情况如下:
USB2.0:
大部分情况下,USB2.0能够直接识别
如果不识别的话(偶尔会在安装雪豹的时候出现),你可以使用一个被称为回溯驱动(rollback kext)
也就是之前版本系统的USB驱动
FireWire 400 & 800 (1394a and 1394b):
据我所了解,有关火线的问题并不多
如果确实有问题,我认为解决方法和USB2.0是一样的
eSATA:
eSATA端口实际上与数据控制器是相连的,所以控制器解决方法适用于eSATA
USB 3.0:
USB 3.0就比较有趣了。OSX支持USB3.0(有支持Mac的USB3.0 PCIe卡)
而且包括InsanelyMac和其他许多论坛里都有一些(实验性的)驱动
但我没有使用过USB3.0所以我也不能提供明确的解决方案
Memory Card Readers:
Memory Card Readers取决于读卡器是如何连接的(可在设备管理器中查看你的读卡器是如何连接的)
如果它是通过内置USB连接的,那么你只需要让USB工作即可
如果读卡器是通过PCMCIA,也有其他的解决方法,不过会更复杂一些
如果是其他的,那么你必须自己寻找解决方案了
PC card/ExpressCard slots (笔记本用户):
我个人并没有折腾过这些, 但我认为一些PC卡或ExpressCard卡插槽能够通过第三方驱动正常工作
PCI and PCIe (老机器可能是AGP):
不必为这个而担心,是不是很爽?只需要确保你的拓展卡与Mac兼容就行啦

网络(Networking):
网络包括有线(以太网Etherneet),无线(WiFi)以及蓝牙网络连接(Bluetooth network (Internet) connections)
有线:
有许多厂商的网卡的都有相应的驱动例如Marvell, Broadcom, VIA, Intel, Atheros等等
许多情况下,你只需要下载一个驱动并把你的有线网卡的PCI ID加入到驱动当中,这也就是给Kext打Patch
更多Patch信息,请参照:章节二-kext内容
无线:
如果无线网卡是内置的话(台式机或笔记本)那么这将更具有技巧性
如果你的是内置无线网卡并且希望在菜单栏上出现AirPort的标志,如图:

那么你必须使用Broadcom(VendorID 14e4)或者Atheros(VendorID 168c)的无线网卡
有些Ralink网卡能够工作(也有可能不能工作),Intel的网卡也有可能而且我听说Realtek也有成功的
但是以上三者都不能在菜单栏上显示AirPort的图标
笔记本的无线网卡更换很简单
寻找Broadcom或者Atheros的无线网卡(如果你愿意也可以先查询一下与OS X的兼容性)
最坏的情况也不过是你需要给IO80211Family.Kext加入网卡ID打上Patch
想要最稳妥的?买AirPort默认支持的网卡吧
台式机用户并没有被忽视
Broadcom和Atheros有许多PCI和PCIe接口的网卡
如果你想使用原生的AirPort网卡,更不用说Mini-PCIe与PCIe转接器
当然只要是与Mac兼容的USB网卡也可以
蓝牙(Bluetooth):
我不认为蓝牙会有许多问题。实在不行的话,有许多与Mac兼容又十分便宜的USB蓝牙

声卡(Audio):
现代计算机中总体上有两类声卡:AC'97 (Audio Codec '97的缩写)以及HDA(High Definition Audio的缩写)
AC'97:
有一个几乎囊括所有AC'97声卡的内核拓展——AppleAC97Audio.Kext
如果它不支持你的AC'97声卡,你可以修改驱动中的PCI ID(方法在有线网卡中提到过)
如果是AC'97的Creative SoundBlaster(应该是创新声卡一系列的),可以试试kXAudio
HDA:
要使用你的HDA声卡有三种方法:
1)你可以给AppleHDA(Apple内置的驱动)和DSDT都打上Patch(这是最难的方法)
2)你可以使用VoodooHDA(这是驱动所有音频端口中与用户最有好的方法),注意它和AppleHDA不可共存,会五国
3)你可以使用AppleAzaliaAudio(这应该是最后的救命稻草因为驱动是32位的并且只支持立体音响系统stereo audio)
如果VoodooHDA与AppleAzaliaAudio不能立即成功,用上文提及的插入PCI ID的方法再试试
更多关于VoodooHDA的问题,英文好的可以参阅   http://www.insanelymac.com/forum/index.php?showtopic=267905&st=0
中文好的参阅:
关于Voodoohda的常见疑问综合列表
最新VoodooHDA 2.7.3
如果这些不适用你的Creative SoundBlaster HDA,同样试试kXaudio

显卡(Graphics):
显卡是目前最困难也是运行OS X最重要的元素
从经验来看,nVidia的显卡(以下简称N卡)是最容易驱动的
你几乎可以在OS X下驱动任意的N卡来工作
ATI的显卡(以下简称A卡)则是一个头痛的问题,只有一部分能够驱动
Intel的显卡相当容易驱动,但是只有相当有限的一部分内置Intel芯片才能驱动
下面是方法了:
最简单的方法就是使用引导中内置的显卡驱动(GraphicsEnabler)功能
Apple原生驱动默认支持的显卡能够被驱动
这是Intel GMA/HD显卡唯一能使用的方法
A卡的话,你可以在合适的驱动当中插入设备的PCI ID并尝试GraphicsEnabler,或者使用ATY_Init,Natit或者EVOEnabler
但是通常只有Apple原生驱动中支持的A卡才能驱动
即使你尝试了向驱动中插入设备PCI ID,也只有少数时候能够驱动
N卡的话,你同样可以向合适的驱动中插入设备的PCI ID,使用GFX strings(EFI strings),或者使用NVenabler,NVInject,Titan等等类似的驱动
几乎所有的N卡(即使你是插入设备ID)都能够正常工作

p.H 发表于 2012-4-26 15:42

本帖最后由 p.H 于 2012-5-22 18:24 编辑

原文链接:http://www.insanelymac.com/forum/index.php?showtopic=277344Credits toPookyMacMan@InsanelyMac

Kext是什么?
Kext是Kernel extension(内核拓展)的缩写,它相当于Windows下的“驱动”

Kexts在哪?
Kexts通常是在/System/Library/Extensions目录下(中文系统对应:/系统/资源库/Extensions,以下简称/S/L/E)
但如果你使用的是雪豹或者更老的Mac系统(或者一些自定义过的Lion系统)
Kexts也有可能在/Extra/Extensions(以下简称/E/E)下出现

Kext如何安装?安装到哪个路径?
大部分时候,选择路径是随意的除非你的Kext有特殊指明特定的安装路径/E/E下的Kexts是要取代/S/L/E下同名的驱动的例如(IOATAFamily)/E/E下的Kexts版本必须比/S/L/E下同名驱动版本高(这个可以在Kext的Info.plist里面检查)那些有许多依附关系的Kext需要安装到/S/L/E下,也就是他们需要许多其他驱动已经加载的前提下才会加载而那些有可能在更新中被Apple原装驱动替换的Kext(例如IONetworkingFamily)则应该放在/E/E下如果你还是感到困惑的话,那就自己尝试一下看看哪个适用于你
而安装Kexts的方法则取决于你所要安装的位置
对于/S/L/E来说,系统会严格根据它的权限来决定是否加载
所以你如果只是简单的把驱动拖到/S/L/E下那样是不够的
你还需要打开终端机(应用程序->实用工具)并且执行下列指令:
cd /System/Library/Extensions
chmod 775 驱动名.kext
chown root:wheel 驱动名.kext这样你的权限就正确了
如果你觉得终端机指令麻烦的话,那你可以使用第三方软件来安装驱动
我推荐使用Kext Utility,Kext Utility v2.5.1- 支持10.8
KextWizard同样可以使用,
如果你是安装到/E/E下,好消息是这里没有上述的权限的问题
只要把驱动移动到E/E下应该就成功安装了
只要你安装了新驱动,那么你必须重新启动
重启之后在开机选择菜单的时(按任意键显示菜单),输入“-f”之后回车
这将重建你的系统缓存
有时候安装Kext的过程中,系统会默认重建缓存
但建议最好手动确认一遍,修复磁盘权限,重建缓存
当然,手动重建了之后,就不需要-f参数了
重建缓存要等待一会,毕竟这不是瞬间就完成的事

Kext如何patch?
首先你必须知道你的kext所在路径,它是在/E/E下还是/S/L/E呢?
当你知道了之后打开终端机根据你的kext的路径,选择下面一条指令执行:
sudo nano /System/Library/Extensions/kext名.kext/Contents/Info.plist
sudo nano /Extra/Extensions/kext名.kext/Contents/Info.plist如果你是要给kext里面的一个插件(plugin,)patch的话,那你需要将上面的指令做一点修改注意:插件也是一个Kext
sudo nano /System/Library/Extensions/kext名.kext/Contents/PlugIns/插件名.kext/Contents/Info.plist
sudo nano /Extra/Extensions/kext名.kext/Contents/PlugIns/插件名.kext/Contents/Info.plist通常情况下我们patch Kext的时候就是把你的PCI ID写入驱动当中
(PCI ID的问题请参考:章节一-VendorID与DeviceID)
通过键盘的方向键翻页并找到<key>IOPCIPrimaryMatch</key>或者<key>IOPCINameMatch</key>
如果发现找不到上述的两个键值,但能够找到<key>IOPCIClassMatch</key>的键值
那么把IOPCIClassMatch改为IOPCIPrimaryMatch
在名字后面,你应该至少能看到一串以0x开头的数字
除非是之前所说的IOPCIClassMatch的情况下,将会是pci而不是0x
删除所有的内容(包括&)并将你的ID按照0x 的顺序输入
同样,如果是IOPCIClassMatch的情况的话,改为pci,
举个例子,如果你有vendor ID为8086(Intel)且Device ID为27dc的有线网卡
那你就应该输入0x27dc8086
如果是IOPCIClassMatch的情况,那么输入pci8086,27dc
完成之后,按下Control+O(保存)和Control+X(退出)
重启,-f进入就可以了
上面所说的是涉及终端的方法,或许你觉得太繁琐了,也有很直观简便的方法
安装PlistEdit Pro,专门用来编辑plist文件的工具

为避免权限问题,你可以把你需要Patch的Kext复制到桌面
在桌面的Kext上单击右键“显示包内容”之后找到Info.plist









原文链接:http://www.insanelymac.com/forum/index.php?showtopic=277192Credits tocili0@InsanelyMac

启动时如何键入参数?步骤与引导有关:a.带有图形界面的变色龙:
倒计时显示时马上按下除回车键的任意一个键选择你要启动的系统,现在就可以键入你想要键入的参数(例如-v)
你所输入的内容将在屏幕左下角显示,按回车开始启动系统b.Darwin引导 / 没有引导界面的变色龙: 出现倒计时时按F8停止倒计时使用方向键选择你需要启动的系统输入需要的启动参数,按下回车开始启动






原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278928Credits to.lostandstupid@InsanelyMac


Lion启动缓慢以及新的缓存机制UseKernelCache从10.7.0开始,Lion的缓存机制(kextcache mechanism)发生了改变
使用"Extensions.mkext"的机制已经成为过去了
新系统默认采用的是内核缓存(kernelcache),而内核缓存和之前mkext文件处在同一位置(/System/Library/Caches/com.apple.kext.caches/Startup)
系统启动速度缓慢是因为变色龙没有使用这些缓存
变色龙默认设置UseKernelCache=No
即不使用内核缓存而是一个一个的加载驱动所以启动速度缓慢
(也正因此,能够同时加载 /Extra/Extensions和/System/Library/Extensions下的驱动,效果和-f参数是一样的)
如果想让启动速度变快的话,可以使用UseKernelCache=Yes的参数设置
如图,可以用ChameleonWizard软件直接设置:

不过需要注意的是,如果你使用了这个参数那么你所有的第三方驱动必须都存在于/System/Library/Extensions下
因为 /Extra/Extensions下的驱动将被忽略
你可以在终端里面输入以下命令来手动强行执行重建缓存sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches也可以用下面的指令达到同样的效果sudo touch /System/Library/Extensions





原文链接:http://www.insanelymac.com/forum/index.php?showtopic=279023Credits toPookyMacMan@InsanelyMac


是否需要重建缓存,又该如何重建?
重建缓存是十分必要的无论如何,只要你安装了新的kext,如果你不重建缓存,这将使你安装的kext无效/System/Library/Extensions 与 /Extra/Extensions都有各自的缓存无论你安装kext到以上两个路径的哪个,你都必须要相应的重建缓存如果你的kext安装到/System/Library/Extensions那么你必须重建/System/Library/Extensions 的缓存,但是你不必担心/Extra/Extensions的缓存,反之亦然

更新缓存的方法,主要有下面这两种:1.图形化界面应用程序你可以下载Kext Utility并双击运行(传送门)它能够为10.5 Leopard版本以上的系统自动重建/System/Library/Extensions 与 /Extra/Extensions下的缓存这个程序对新手来说是最好不过的,但是有时它也会出点小问题偶尔可能不能够正常的重建缓存,尤其是针对Lion系统2.命令行方式(通过终端输入命令的方法)分两类情况讨论,取决于要重建缓存的路径
[*] /Extra/Extensions
在终端中输入以下指令:sudo kextcache -v 1 -a i386 -a x86_64 -m /Extra/Extensions.mkext /Extra/Extensions
[*]/System/Library/Extensions
这取决于你的系统版本:10.4 Tiger/10.5 Leopard
进入/System/Library/下,把 Extensions.mkext 和 Extensions.kextcache删除就可以了
10.6 Snow Leopard和 /Extra/Extensions的指令差不多,只不过路径要做相应修改sudo kextcache -v 1 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions10.7 Lion以下两种,任选一种即可:sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches或者
sudo touch /System/Library/Extensions





原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278624
Credits toPookyMacMan@InsanelyMac

出现五国,提示“PCI Configuration Begin“,如何解决?首先上一张五国图片:解决方法取决于你的系统:1.如果你是Intel酷睿(Core)或至强(Xeon)系列的CPU的话当你进入开机选择菜单时(按任意键显示开机选项),按下一个键并输入:npci=0x2000如果上述方法不行的话,试试npci=0x3000如果仍然不行,在上述参数之前加上PCIRootUID=1,例如:PCIRootUID=1 npci=0x2000同样这个不行的话,换用PCIRootUID=1 npci=0x30002.如果你的CPU是AMD或者Intel非酷睿(Core)系列的话
换用10.6.8的内核(内核版本为10.8.0)
这个内核可在Nawocom的博客上找到,传送门
或者论坛内,Crazybirdy也有相关帖子:传送门 Q18内含下载
(刚刚我谷歌了一下,发现这个博客里面内容还是挺多的
有兴趣的会员也可以多留意留意,博客地址:http://blog.nawcom.com/)

3.如果你换用了内核之后,还是不行(遇到第一种情况的会员,不建议更换内核)
则继续尝试方案1中,添加npci指令的方法,如:npci=0x2000                  等等





原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278692
Credits toPookyMacMan@InsanelyMac


出现五国,提示”Waiting for DSMOS“,如何解决?
这是由于FakeSMC.kext没有正常加载所引起的(如果是老虎(Tiger)的话,则是dsmos.kext的问题)使用最新版的FakeSMC并安装到/E/E下(如果你使用的是dsmos.kext,也有专门针对Tiger的FakeSMC)如果你使用启动光盘引导,进入启动光盘的ISO镜像,并替换FakeSMC总而言之,就是要替换FakeSMC,无论你是硬盘引导还是ISO引导

虽然原文作者推荐使用最新的FakeSMC,但是结合我自己和部分坛友的经验还是认为,安装系统的时候就单单使用2.5版的FakeSMC安装完了之后,可以根据你的需要,看是否要选用最新的FakeSMC以上版本的FakeSMC下载链接: 点我传送
出现五国,提示”DSMOS has arrived“,如何解决?这是显卡驱动的问题首先,如果你设置了变色龙参数GraphicsEnabler=yes的话,把它改为No如果这样还不能解决问题,则以-s的单用户模式进入,输入以下指令/sbin/mount -uw

mkdir ~/bkupgfx

cd /System/Library/Extensions(新手建议手抄或者拍下来,请确保代码的正确性启动时如何键入启动参数在上面已经说明)

下面的代码,会在当前用户的目录中生成一个名为”bkupgfx“的文件夹
bkupgfx=backup graphics(显卡备份),执行之后所有的mv(move移动)指令后
驱动均会保存在这个文件夹中,为后续使用,附上两张截图:



如果你是N卡,继续输入mv -R NVD*.kext ~/bkupgfx如果你是A卡,继续输入mv -R ATI*.kext ~/bkupgfx如果你是Intel的集显,则输入mv -R AppleIntelGMA* ~/bkupgfx

mv -R AppleIntelHD* ~/bkupgfx

mv -R AppleIntelSNB* ~/bkupgfx

mv -R AppleIntelIntegratedFramebuffer.kext ~/bkupgfx最后输入 exit 退出即可

原文作者认为最后exit,继续启动过程而我则认为或许输入reboot,重新启动之后再以 -v -f 进入会更稳妥一点,保险起见
论坛的五国置顶帖也有这个问题的解决方法,同样值得借鉴~
https://bbs.pcbeta.com/viewthread-863656-1-1.html   Q23





p.H 发表于 2012-4-26 15:42

本帖最后由 p.H 于 2012-4-28 07:41 编辑

原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278135Credits to PookyMacMan@InsanelyMac

Chipset是什么?
引自维基百科:
芯片组抑或PC芯片组是指一堆被设计成一起工作的集成电路或芯片。他们通常以单独的产品出售
芯片组又可以分为北桥和南桥。
如果你的主板比较新的话,那么你将不会拥有芯片组而是一个囊括了南桥和北桥的芯片(Intel主板上则是PCH)
当我们谈到芯片组兼容性的时候,事实上我们所讨论的是在南桥中或者是与芯片组分离的Data Controller(数据控制器)
这个数据控制器使用Serial ATA(SATA)或者Parallel ATA(PATA)来与硬盘或者光驱传递信息

Intel controller是必须的么?
不,这是一个很大的误区。
人们普遍认为Intel控制器是必要的唯一原因是因为苹果内置的驱动只支持Intel控制器
但是网上有许多第三方驱动支持ATi,nVidia,VIA,Marvell,SiS,JMicron或者其他更多我忘记提到的
上面所说的和你的显卡无关
我们这里讨论的是硬盘或者光驱的接口,SATA和PATA

既然我可以使用别的控制器,我只能用SATA么?必须设置为AHCI么?
不必要,这又是一大误区。
通常人们认为只支持SATA的原因是SATA是与苹果的驱动联系在一起的
但事实上苹果的驱动也支持Intel的PATA
AHCI的问题也是一样。建议开启AHCI,但这并不是必须的
如果你的主板不支持AHCI,你仍然可以使用Mac系统,你只是需要像前文提及的一个第三方驱动
提示:即使你的主板确实不支持AHCI,如果你有RAID的设置那也没问题,RAID和AHCI是一样的
你可以启用RAID而不组建RAID队列
无论如何如果你在RAID或IDE模式下使用PATA或者SATA,启动速度会比AHCI慢
有趣的是有时BIOS并不显示为AHCI,RAID等,而是显示为Enhanced(增强),Combined(综合)和Native(原始)
你必须要在你的主板使用手册里面查询相关信息来决定哪个模式具体是怎样的
使用PATA需要注意一点:
你需要把你将启动的硬盘(或者光驱)设置为主硬盘
如果你只能设置为从硬盘,建议你不要从它启动
如果你一定要从它启动,确保同样有主硬盘存在。主从硬盘是否连接到第一二通道并不影响,上述两者均适用
在继续之前的一点注释:
这里还有几件你必须知道的事情:
首先,必须做好实验的准备,无论你的硬件厂商是哪个(即使是Intel)你都有遇到问题的可能
如果现在的驱动不能正常工作的话,你需要会搜索能支持你的数据控制器的驱动
如果你的控制器上既有PATA也有SATA(例如Intel ICHx控制器两者都有)
除非你清楚了解自己的行为,不然你又将遇到问题
例如,如果你在这样的控制器上开启AHCI,PATA可能将不能工作
并且无论哪个模式Mac系统都会变得十分迷惑除非你知道你做的和原因
这并不适用于下面所述情况:Intel ICHx控制器上使用SATA,JMicron控制器上使用PATA

总结上面的全部信息,最好的设置便是在Intel控制器上使用SATA模式并开启AHCI
你可以使用别的设置,但是你需要实验并且需要十分耐心






原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278170Credits to iLeopod@InsanelyMac

DSDT是什么又要如何提取?
背景知识:摘自维基百科
ACPI 全称为Advanced Configuration and Power Interface即高级配置和电源管理接口
是由HP、Intel、Microsoft、Phoenix和Toshiba共同开发
用来定义能够为主板上设备提供操作系统配置和电源管理的硬件和软件接口的公开的行业规范
它能在操作平台独立的方式下描述系统硬件并且以固定格式的数据结构或者AML形式表示
最主要的AML表便是DSDT(differentiated system description table)
DSDT是最大也是最重要的表因为它描述了主板上的设备
DSDT和其他ACPI表是储存在BIOS而且只描述主板上的硬件
因为Windows的优化可能会导致一些错误
所以我们需要用一些符合OS X系统需要的声明来绕过之前有错误的DSDT表从而使兼容性更可能的好

黑苹果使用:
通过变色龙引导加载编辑过的DSDT而不是工厂预设的,可以达到以下效果:
      ▪      DSDT中的仿冒device-id能够取代仿冒驱动
      ▪      系统更新可能会使修改过的驱动或者仿冒驱动失效但无法使DSDTpatch失效
      ▪      DSDT修改能使系统睡眠并开启原生降频
      ▪      大规模的修改能够加速启动过程

我一定需要DSDT么?
不一定。要使你的黑苹果能够工作并不一定需要DSDT
但是DSDT能够让你的系统更稳定更高效(修改DSDT可以取代许多额外的驱动)

DSDT如何提取?
OS X:
确认没有加载DSDT的前提下进行
在终端中运行这个脚本
这个脚本将把所有的ACPI表都提取到/Users/你的用户名/ACPI目录下
也有像DSDTSE,Chameleon Wizard类似的软件都行

Linux
终端里面输入指令
cat /proc/acpi/dsdt > dsdt.aml
Windows:
AIDA64或其他类似的工具
下面附上AIDA64提取DSDT和SSDT的流程图:








.dsl与.aml——编译与反编译
当从系统中提取出DSDT以及其他ACPI表时,他们的格式是ACPI Machine Language(ACPI机器语言,后缀为.aml)
要修改的话,DSDT需要先反编译成.dsl文件
用来编译和反编译ACPI表的程序叫做 iASL
4.20号最新版本:
使用方法很简单:如图

OS X的最新版本可以在这里下载:http://www.insanelymac.com/forum/index.php?showtopic=189272

编译错误:
使用比原始DSDT编译时所用的iASL版本更高的iASL来编译的话将会产生编译错误
要解决错误和适应新的编程准则的话,看看这个帖子:http://www.insanelymac.com/forum/index.php?showtopic=189272

编辑DSDT:
DSDT.dsl文件可以用任意的文本编辑器编辑
我们将会在后面讨论DSDT patch
但是这将需要一些时间因为我们想给出详细的解释和背景信息希望使得这些patch能对任何硬件都有效
一个好的编辑方法便是使用Textmate并选择C++标记高亮
也有其他包含iasl编译器的程序:
DSDTEditorhttp://www.insanelymac.com/forum/index.php?showtopic=223205
DSDTSEhttp://www.osx86.es/?p=610

为什么使用别人的DSDT可能出现问题:
即使是细小的硬件差别都会得出不同的DSDT表并出现问题
如果要确认一份修改过的DSDT是否与你的系统兼容,比较下面这两行:
OperationRegion (BIOS, SystemMemory, xx(一些16进制值)xx
OperationRegion (^LPCR, SystemMemory, xx(一些16进制值)xx
如果这些值和你的DSDT中的不同,用你自己的DSDT里面的值替换要使用的修改好的DSDT

验证自定义DSDT是否加载:
首先确认你的DSDT文件命名为DSDT.aml并且放置在/DSDT.aml或/Extra/DSDT.aml下
你已经使用了自定义的DSDT但并未发现改变,你不确定DSDT是否被引导所加载时
这里有几种检查是否加载了DSDT的方法
1)使用bdmesg
bdmesg和变色龙引导绑定在一起并位于/usr/bin
bdmesg可以在启动后从终端运行所以你可以检查变色龙在系统启动时做了什么
下面是bdmesg信息的摘要,最后一行显示加载了DSDT.aml
Loading Darwin 10.7
Loading kernel cache /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache
Read HFS+ file: 4096 bytes.
Read HFS+ file: 18150026 bytes.
Read HFS+ file: 22762 bytes.在Chameleon Wizard软件中也内置了bdmesg,也可以很方便的查看


2)提取OSX上的DSDT
如果得到了修改过的DSDT,那么也就意味着DSDT加载了

DSDT修改资料:
ACPI规范
InsanelyMac-DSDT板块
白苹果相关数据
紫米 Lion 完善紀實之二
DSDT修改第一季(包括App store登陆问题,自动降频),附上mac下和win下安装Lion教程









p.H 发表于 2012-4-26 15:42

本帖最后由 p.H 于 2012-5-3 15:10 编辑

原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278159Credits to cili0@InsanelyMac

Quartz Extreme and Core Image是什么?
Quartz Extreme and Core Image也就是我们经常看到的QE/CI的全称
他们是Mac系统里两种用来保证显卡加速的技术
查看系统是否开启了QE/CI的方法:(Leopard因为没有使用过,所以不清楚对应中文翻译,但大体都是系统设置里面的有关图形或显示的选项)Leopard:
打开SystemProfiler/Monitor检查"Core Image" and "Quartz Extreme"
是否分别显示为"Accelerated Hardware" and "Supported"
SL&Lion:
在系统设置里面将无法看到相关信息,但可以通过查看任务栏来分辨是否驱动
如果任务栏是透明的那基本可以确定QE/CI已经开启了
没驱动的话任务栏不透明而且带有白色
当然也可以打开DVD Player来检查,如图:(任务栏透明,可以看见桌面的内容,就是开启了)

所有系统通用方法:
在Dashboard中添加一个widget,如果有水波纹特效,那么QE/CI便开启了
(Dashboard的方法有一个前提,就是系统偏好设置中将“Dashboard显示为空间”关闭如图:

如果开启了QE/CI的话,那应该能看到如下水波纹:

或者打开国际象棋,如果移动棋子的时候是动画显示,那么QE/CI也同样开启了

QE/CI没有开启,我会遇到问题么?
大部分Mac软件都需要QE/CI为开启状态(例如Toast Titanium)
因为没有开启QE/CI时,CPU是唯一承担全部运算任务的组件
你将不能观赏高清电影例如DVD,DivX,而且系统运行将变得迟缓(所有的动画效果都是由CPU渲染)






原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278279
Credits to PookyMacMan@InsanelyMac


无法登录App Store和iCloud提示无法验证您的设备或电脑
造成这个问题的原因可能是下面三个原因中任意一个或是其中的组合:
1)不合适的smbios.plist
2)有线网卡表示为en1而不是en0(没有有线网卡的,无线网卡应为en0)
3)网卡未被识别为内建
因为以上任一一个或者组合都会导致无法登录的问题
建议你按如下顺序一一检测并再每完成一步之后重启并查看问题是否解决
a)下载适合你的smbios.plist
如果你已经有了smbios.plist,但我仍建议你还是使用一份新的smbios.plist
它可以和之前设置的模板一样,但是你将使用公认没问题的smbios.plist
最简单的方法便是使用Chameleon Wizard,下载然后打开它
进入SMBIOS选项卡

点击Edit(编辑)并从预先设定好的smbios.plist中选择一份smbios.plist


之前已经有smbios.plist的坛友可以选择和现在使用相同的模板
之前没使用过smbios.plist的则需要根据CPU的类型来挑选一个模板(IntelCPU)
如果是AMD的话,随便挑选一个即可
保存。重启之后,你将会得到所有你需要的SMBIOS信息


b)en0信息保存在/Library/Preferences/SystemConfiguration的NetworkInterfaces.plist文件里
复制这个文件到桌面并打开它,找到
<key>UserDefinedName</key>
<string>Ethernet</string>在这上面几行代码你应该同样能找到
<key>BSD name</key>
<string>en0</string>如果它是en0的话,那么配置就正确了
如果它是en1(或者是其它的,只要不是en0),就把它改为en0
如果你需要把Ethernet改为en0的话,在文件下方寻找原来为en0的那个网络接口(可能是无线或者其他的)
并把原来的en0改成之前Ethernet的en值
如果不使用Ethernet,那么就把无线的值设为en0
这时你应该查找“WI-FI”(Lion下)或者“Airport”(雪豹及之前的系统)并做相应必要的改变


c)内置Ethernet相当简单
进入/E目录,查看里面的是com.apple.boot.plist还是org.chameleon.boot.plist
如果是org.chameleon.boot.plist的话,可以使用Chameleon Wizard
只需要简单点击里面的org.chameleon.boot.plist标签页并选中Ethernet Built In,保存即可,如图
如果是com.apple.boot.plist,下载Lizard并打开,勾选Built In Ethernet,保存即可,如图






原文链接:http://www.insanelymac.com/forum/index.php?showtopic=277558
Credits to buoo@InsanelyMac


如何显示隐藏文件?
至少有两种不同的解决方法:
1.使用以下两种简单的小程序任一即可:ShowAllFiles或者Invisibles


2.使用终端分两步操作
a)打开终端,并输入defaults write com.apple.finder AppleShowAllFiles -bool trueb)再输入
killall Finder任务完成了,隐藏文件现在可见了

取消隐藏文件可见:
a)打开终端,并输入
defaults write com.apple.finder AppleShowAllFiles -bool falseb)再输入
killall Finder隐藏文件便恢复不可见了






原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278189
Credits to cili0@InsanelyMac


内核日志(kernel.log)是什么?它有什么用?
有时当我们在排查问题的时候,我们必须在-v模式下启动
但有时信息显示的速度太快了我们来不及仔细观察
任何在-v模式下显示的信息都记录在内核日志(kernel.log)
内核日志同时也记录了启动操作系统时的实时错误和状态
所以它也能够帮助解决启动后的错误
但值得注意的是,这些日志并不显示程序的意外退出
但你能够在左边的选项中查看意外退出的程序但是他们在内核日志中是不显示的
首先,打开控制台(位于/应用程序/实用工具)
SL需要点击左上角的Show All Logs,Lion则点击Show Log List,如图所示为Lion下

依次点击小三角展开菜单
SL路径: /private/var/log    Lion则是:/var/log
现在我们招到kernel.log并点击

现在,仔细观察上次启动过程的日志,寻找"nvphash=4095"
(编辑此帖时,我使用的是Chameleon rev1925,-v进入但是在内核日志中无法找到"nvphash=4095")
现在你可以找到相应的错误并搜索各自的解决办法






原文链接:http://www.insanelymac.com/forum/index.php?showtopic=278240
Credits to buoo@InsanelyMac


Memory Slot Utility烦人提示解决方法
这个很普遍都又很烦人的问题可以按照以下几部解决:
1)开启Root账户,方法请参阅:(请仔细越多说明,不仅仅是开启,还有许多下面都要用到)
中文:传送门   英文:传送门
2)注销当前账户,并登录Root账户
(当出现登录界面时,选择”其他“并输入root以及你为root用户设置的密码,详情1中的传送门有详细说明)
登录之后,Memory Slot Utility像以往一样提示:“内存安装正确”
3)注销Root账户,登录你平时使用的管理员账户,应该不会再有这惹人的提示了
4)关机。开机之后,登录管理员账户(平时老是显示这个提示的账户),你会发现没有提示了
5)再次重启之后禁用Root账户(与1中开启的方法相反,在传送门中也有详细说明)

chenjars 发表于 2012-4-26 19:50

还真够全面的,2 pdf 收藏!

绝情奶牛 发表于 2012-4-26 20:04

完整看下来一遍很不错,不过这么多内容不知道会不会吓到新手{:7_500:}

p.H 发表于 2012-4-26 20:07

绝情奶牛 发表于 2012-4-26 20:04 static/image/common/back.gif
完整看下来一遍很不错,不过这么多内容不知道会不会吓到新手

潜心读读的话,还是有好处的
当然,如果连读这个都木有耐心的话,新手也就是体验一番了
木有享受到折腾之乐

绝情奶牛 发表于 2012-4-26 20:18

p.H 发表于 2012-4-26 20:07 static/image/common/back.gif
潜心读读的话,还是有好处的
当然,如果连读这个都木有耐心的话,新手也就是体验一番了
木有享受到折腾 ...

此话有理,有些东西折腾无果之后蛋疼,但现在没东西折腾更蛋疼。{:9_352:}

p.H 发表于 2012-4-26 20:19

绝情奶牛 发表于 2012-4-26 20:18 static/image/common/back.gif
此话有理,有些东西折腾无果之后蛋疼,但现在没东西折腾更蛋疼。

{:5_271:}
有时间也为论坛做点贡献哇~
搞个版主?{:5_294:}

龙心梦飞 发表于 2012-4-26 20:22

好辛苦呀{:9_376:}
版主风范,果然非同凡响{:9_381:}

绝情奶牛 发表于 2012-4-26 20:23

本帖最后由 绝情奶牛 于 2012-4-26 20:23 编辑

p.H 发表于 2012-4-26 20:19 static/image/common/back.gif
有时间也为论坛做点贡献哇~
搞个版主?
没有能力当版主,也没什么时间了,大学快结束了。要当我也只能去混个督察给别人扣PB{:9_359:}

p.H 发表于 2012-4-26 20:24

绝情奶牛 发表于 2012-4-26 20:23 static/image/common/back.gif
没有能力当版主,也没什么时间了,大学快结束了。要当我也只能去混个督察给别人扣PB

太谦虚啦
pb伤不起呀{:5_271:}
哇咔咔,不过我也快了就是

tomsdai 发表于 2012-4-26 20:29

受益匪浅呀,正想玩黑苹果呢

冷凝器 发表于 2012-4-26 20:58

谢谢P.H,给大家带来这么多学习的东西

aijiukk 发表于 2012-4-26 21:19

谢谢 我学到了 还有到时 跟你帖子 还可以知道什么没折腾

porschezhou 发表于 2012-4-26 21:25

写的真全啊

ftl19941216 发表于 2012-4-26 21:33

帮你顶个哟~~{:5_262:}

ftl19941216 发表于 2012-4-26 21:35

大概看了下.真是篇好帖.很详细啊!!{:5_269:}
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 黑苹果必读FAQ---初阶篇(5月14日更新)