分享

在PC上吃苹果,骑雪豹Snow Leopard(2)

 昵称8799872 2012-03-03

   在上一个帖子上,有网友回:“没有驱动,神马都是浮云”。对于在PC上装苹果来说,这话不无道理。一,苹果公司本来就没有打算让非苹果电脑也能运行Mac OS X,所以操作系统内集成的驱动程序一般情况只能驱动苹果电脑原装的那些硬件,多一点儿都不行;二,即使我有钱,按照苹果公司的最新的Mac Pro的配置,自己组装一台兼容机,然后直接放上Mac OS X安装光盘,你也会发觉,你连安装程序都进不去,因为Mac OS X中有单独的驱动程序(注1),判断客户的电脑是否为苹果原装,如果不是就会无法进入系统。所以,驱动是安装黑苹果的最大的障碍,“没有驱动,神马都是浮云”。

    以下部分文字虽酌情简化,仍有一定技术难度,如果你不想明白这些复杂问题,请直接移步“六、上面这些我看得不太懂,可我又想用苹果操作系统,怎么办?”

一、Mac OS X的驱动什么样?

   首先,我们了解一下Mac OS X驱动的样子。

    苹果系统的驱动程序体系与Windows完全不同,它没有WDM模型,所有的驱动主要以Kext文件包的形式存在,在Windows下你会发觉这种文件包在其实就是以.kext结尾的一个个文件夹,在苹果下却是这样的,如同Lego积木一样。每次开机的时候,Mac OS X都会自动扫描和载入/System/Library/Extensions文件夹(以下简称“/S/L/E文件夹”)中需要的驱动(注2)。你的显卡驱动,主板芯片驱动,网卡驱动,声卡驱动,以及前文提到的防盗版驱动都在这里。(注3)

二、绕过Mac OS X防盗版驱动

    防盗版驱动是这样工作的:当系统“/S/L/E文件夹”中加载防盗版驱动后,就会根据驱动程序指示,在主板上找一颗名叫SMC的芯片,里面记录了这台Mac的序列号,生产记录,主板编号等等。然而普通PC是没有这颗芯片的,因为它是苹果公司为每台Mac特别订制的。

     我们有两种办法解决:

    1. 使用破解过的防盗版驱动程序替换系统的防盗版驱动程序。这种方法在几年前Mac OS X安装的时候一度盛行,当时出现过各种破解过的防盗版驱动程序,其中最有名的当属DSMOS.kext。不过后来,人们发觉这种方法稳定性不足,经常莫名地死机,所以就引出了第二种方法。

    2. 使用驱动程序伪装SMC芯片。目前最流行的这样的驱动程序叫fakesmc.kext。技术成熟,相对稳定,还有很多附加功能(这一点以后在讲)。

    这里需要插一句,苹果电脑是没有传统BIOS的,它的启动是通过EFI机制完成的,在传统BIOS的PC上是无法启动的,所以我们还需要安装特别的引导工具模拟EFI,让Mac OS X以为我们的电脑是通过EFI启动的。常见的引导工具包括Bootthink, Chameleon(变色龙),PC-EFI等, 其中Bootthink较好安装,Chameleon功能较多,建议安装时选用Bootthink。这些引导工具都有一个共同的特点,他们不仅能模拟EFI,还能够在系统/S/L/E文件夹外额外载入驱动程序,这对于伪装SMC芯片很重要。我们只需把fakesmc.kext放入指定文件夹中即可。(请见注3)

关于Chameleon的安装和使用以后再讲

 

三、我应该怎样装驱动?

    准确的说,这个问题应该是“我应该怎样驱动硬件”。因为,我们想让PC上跑雪豹跑得快,跑得好,我们其实并不一定非要“安装”驱动,我们也可以欺骗驱动来为我们服务。

  1. 安装传统驱动:将驱动程序.kext拷贝到/S/L/E文件夹下,或引导器指定文件夹(见注3)下,之后打开终端,敲入命令:

    sudo -s (开启管理员模式)

    <输入密码> (管理员的密码,这里不会显示任何字符)

    chmod -R 755 /System/Library/Extensions (设置文件权限,找含义请查Unix手册)

    chown -R root:wheel /System/Library/Extensions (设置所有权限,同上)

    rm -rf /System/Library/Extensions.* (删除缓存)

    diskutilrepairpermissions / (修复权限)

 

//也可以安装kextutility(需从kext.com上寻找),之后,把kext文件向kextutility上一拖就成了。

 

   2. 引导工具识别硬件:只对Chameleon适用。在Extra/com.apple.Boot.plist中加上参数,让Chameleon强迫系统驱动某些硬件,常用于显卡,声卡的驱动。

 

   3. EFI-String命令方法:在引导工具加上参数,使得模拟EFI时导入含有硬件配置信息的EFI-String,强迫系统已有驱动程序识别所装硬件。常用于显卡驱动,具体方法后面介绍。

 

   4. 配置DSDT文件方法:很具有挑战性的方法,一般当上面两种方法都解决不了问题时,才会配置DSDT。这种方法需要一定编程基础,查错过程很繁琐,建议新手不要尝试。 很多电脑根本不用配置DSDT就可以完美运行(当然如果你是完美主义的话除外)具体方法以后有时间再说。

   5. 刷BIOS方法:如果你是顶级发烧友,且自己的主板是带有EFI功能的(貌似P43以后的很多主板都有了),可以直接刷高手做好的现成的EFI信息。(其实这样连引导工具都不用安装了),建议新手不要尝试。

 

四、我应该装什么驱动?

    每个人电脑都不一样,应该装什么驱动我也不好一概回答。我这里给大家一些建议,希望能够帮助大家。

   1. 显卡:其实苹果下想要驱动显卡,一般都是用系统自带的驱动来驱动的,所以如果你有S3, SIS, VIA的显卡可能一辈子也不可能驱动不了,因为系统里根本就没有带能够驱动他们的驱动程序。

    那为什么还要安装驱动呢?因为默认情况下系统不能识别你的显卡,所以你要想办法告诉系统,我在PCI - E x16插槽上安装了一块儿显卡,是什么型号的。一些驱动程序可以帮你完成这个工作;这样的驱动程序包括:

  NVinjector.kext (64位系统为NVinjector64.kext), Natit.kext 等

    如果你不用驱动程序也可以告诉系统你的显卡型号和位置,那么也可以不用安装这样的驱动,这些方法包括:Chameleon自带检测显卡功能,DSDT配置法, EFI-String导入法,刷EFI法。

    建议:按以下顺序尝试:1.使用Chameleon的自带显卡检测功能; 2.安装NVinjector.kext; 3.EFI-String导入;4.DSDT。

  

我的显卡被驱动效果,由DSDT方法驱动

 

  2. 声卡驱动:

    初级方法:安装一种“万能驱动”VoodooHDA.kext,基本上所有声卡都可以出声。  

    进阶方法:VoodooHDA.kext并不完美,系统概述里不会有正确的声卡信息显示;而且insanelymac论坛上的情况显示,一些主板会出现爆音的现象,部分驱动无法加载。这时就要使用仿冒驱动了。具体方法以后再说。

  

我的声卡被驱动效果,使用仿冒驱动方法

    3. 网卡驱动:

    有线网卡:常见网卡可以直接支持,如RTL8196;其他大部分都能找到驱动可以到kext.com上找自己的驱动,注意是32位还是64位。

    无线网卡:Atheros的芯片支持程度较好,其中AR9280兼容性最好;其次是broadcom 的无线网卡,驱动相对好找;Intel无线网卡只能用高手从unix网卡驱动里移植过来的驱动将就一下了(在http://code.google.com/p/iwidarwin/上能找到,不支持加密网络)

    4. IOAHCIBlockStorageInjector.kext:修复硬盘全是橙色现象的驱动程序;(非必须)

    5. nullcpupowermanagement.kext 对于大部分用户第一次装的时候这是必需的。因为很多主板的HPET功能不经处理是无法被苹果系统利用的(即使Bios开启,系统也不识别),这时就会出现五国语言画面(注4)而无法进入系统。

    6. 关于CPU:有人说我的CPU不支持雪豹,开机就重启。这一般是由于内核不支持,通过换驱动是无法解决的。这些CPU包括:不支持64位的CPU, intel Core i3, i5, i7(在10.6.6以下时), AMD几乎所有CPU。

    对于Core 2 Duo, Core 2 Quad,雪豹支持较好。

五、怎么装了驱动还不行?

    安装驱动后,重启可能会遇到五国语言画面,

 

  这时注意检查:

    1. 驱动是对应的系统版本的吗? 2. 缓存清空了吗? 3.除了驱动还改动过什么?

   这里有个小技巧:安装两个引导程序分别到不同的分区,当其中一个无法引导时,用另一个引导。(当然,如果你的驱动安装到/s/l/e文件夹里就不成了)

    如果这时还不能解决,你就需要在引导程序画面那里打入 -v 参数,然后进入命令行模式,察看具体卡在了那一步来分析原因了。

    你应该明白,苹果的意思是,你在PC上装不上Mac OS X才是正常,所以请不要认为处理驱动问题会很简单。

六、上面这些我看得不太懂,可我又想用苹果操作系统,怎么办?

    1. 去OSX86project.org上,找配置HCL,看看雪豹都兼容什么硬件,然后按着这些配置来攒一台机。

    2. 有些网络买场上提供黑苹果电脑的交易(部分内容不被法律保护)

    2. 去买一台印着Designed in California的真苹果电脑来

七、需要策略,更需要耐心

    本人建议,如果你安装黑苹果,请明确,这是一项复杂的任务,不要一时冲动就去安装,而要想好一些策略,提前准备应对各种情况的知识。

    面对各种五国,各种黑屏,请准备好足够的耐心,自己去探索。其实,自己所遇到的问题,百分之九十五别人都遇到过,只不过,A遇到的是这几个问题,B是那几个,C又不一样,但是大家的问题总有交集,我们应当主动去看别人遇到的问题和解决办法,化为自己的方法。记得当初,我装LEOPARD破解版失败了,显卡始终黑屏,连安装程序都进不了,如果那时我就单纯的认为雪豹也会黑屏的话,那现在就得不到这么完美的结果了。

    另外,请注意安装雪豹需要耗费时间代价,如果你很忙,请不要尝试。安装上雪豹可能1天就能完成,但想使他完美,就需要一段时间了。

 

注1:你可能发觉了,这个驱动文件就是/System/Library/Extensions/Dont Steal Mac OS X.kext (不要盗用Mac OS X)

 

注2:其实,如果每次都扫描所有的驱动,无疑会使开机时间变得漫长,所以苹果会把需要的驱动程序制作成一个缓存包,每次开机检测硬件和驱动差异,如果与上次开机时无异,就会自动加载这个缓存包,如果有差异就会重新制作缓存包。这也是安装完驱动后要删除Extensions.mkext的原因。

 

注3:当我们安装完Bootthink或Chameleon引导程序后,除了这里所说的地址外,系统还会自动加载引导程序所在文件夹中的驱动(Boothink是在 “引导分区”/Darwin/System/LibrarySL/Extensions; Chameleon是在 “引导分区”/Extra文件夹中)

 

注4:“五国语言”画面是苹果下的系统重要错误画面,相当与Windows下蓝屏画面,由于是五种语言,所以称为“五国语言”。如图:

 

--
本文仅供学习研究使用,不用于商业目的

本文不能保证阅读者按照本文所述要求操作就一定可以,可能或不可能实现部分或全部所述结果

安装有风险,请谨慎

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多