|
本帖最后由 nfsking2 于 2011-4-3 02:10 编辑
新开版块,目前看来人气不高,所以闲得无聊,发点普及帖让大家对这个区有点认识。
首先,在05年之前,并不存在黑苹果的说法。因为当初的Mac长期以来都是基于IBM的Power PC。直到05年6月,Mac全线产品转为Intel的x86平台,这才为普通PC安装Mac OS铺平了道路。
既然本帖是讨论运行于PC上的Mac OS X,因此之前的版本都不在讨论范围内,感兴趣的XD可以自行Google科普。
Mac OS X的内核以及引导方式都与Windows有很大差别,直接在PC上面安装Mac OS是行不通的,因此也有了黑苹果的说法。
首先需要了解Mac OS X及其启动方式:基于Darwin核心,此核心来自于FreeBSD,加上Apple自主的Aqua用户界面组成了Mac OS X。
虽然在x86架构的CPU上跑Unix并不是难事,但问题在于,Mac使用了EFI作为机器的引导设备,而非BIOS。此处的EFI,并不是普通PC主板采用的UEFI,因此即使PC主板采用UEFI,也无法直接引导Mac OS X。另外,Mac OS使用的磁盘分区格式并非MBR,而是GPT,磁盘格式也非FAT或者NTFS,而是HFS,因此在安装Mac OS X之前,还有很多准备工作要做。
首先,需要解决系统的引导问题。这也是为什么我们需要第三方引导程序的原因。
目前比较常用的引导器主要有两种:Chameleon(变色龙)和Boot Think。其作用是,模拟出EFI环境,让Mac OS误认为是运行于EFI之上的。(小插一句:Mac安装Windows,也需要采用类似方式,使用BootCamp或uEFIr模拟出BIOS环境或UEFI环境,从而引导Windows,Mac的EFI不同于任何通用EFI环境,是特殊的封闭标准)。
还有其他很多种引导器,比如AserBLN,MultiBeast等,都是由前面两种引导器修改而来。
磁盘分区格式也算比较好解决的问题:我的做法通常是,使用引导器从光盘启动,将硬盘格式化为Mac OS X可识别的格式,然后安装系统。对于希望在单盘内安装双系统或多系统的人来说,此方法不适用。应该首先在Windows下为Mac OS X预留好足够的磁盘分区空间,然后再使用Mac OS安装程序,甚至DiskGen之类的软件单独格式化这个分区。
解决了引导和磁盘问题后,只是在PC安装Mac OS X的道路上仅仅迈出了一小步。阻碍PC完美运行Mac OS X的最大问题在于:硬件配置和驱动程序。
众所周知,Mac的硬件配置相对与PC来说,基本属于固定不变的,例如去年年初,Mac Pro的最高配置版本使用的显卡,仍然是HD4870,也可自行够买Mac版GTX285。相对于PC来说,Mac的硬件配置更新换代速度可以算是龟速的。这也就为配置千变万化的PC运行Mac OS X带来了不小的困难。
就目前来说,由于Mac从未使用过Intel Core系列之外的CPU,因此非Intel Core平台用户要想安装Mac OS X,就必须使用破解内核(例如全体AMD平台用户,Atom用户等等)。
其次是对主板的要求。Mac OS X自上市之初,就采用了一系列较新的技术,比较典型的便是AHCI。这也造成了不含AHCI选项的主板,或没有打开AHCI的主板,在安装Mac OS X会遇到一些困难。解决办法是,在BIOS内打开AHCI,或使用特殊的驱动强制让Mac OS识别IDE设备。另外,由于Mac在05年才转入Intel平台,因此对于05年之前上市的大部分硬件设备,支持都不算很好。
剩下需要解决的问题几乎都来自于驱动:磁盘控制器驱动,显卡驱动,声卡驱动,网卡驱动(特别是无线网卡,99%都无解)等。
目前磁盘控制器的驱动比较健全,AMD平台甚至VIA平台都有相应驱动可用。比较难办的是显卡以及声卡驱动。
由于显卡BIOS的问题,要想让Mac OS X正常识别显卡(注意,只是识别,还不是驱动),就需要特殊的文件来实现。NV显卡主要依靠Bootloader或者Injector或者EFI String实现这个目的。AMD显卡没那么幸运,必须从几十甚至上百个采用不同FrameBuffer的Boot文件中找到一个适合自己显卡的文件,替换掉系统原版boot文件。同时,两家厂商的非公版显卡又是最难解决的,甚至连输出接口类型和顺序都会影响到显卡的正常工作。(发句牢骚,曾经有一片二线品牌的5770,我硬是花了两个通宵的时间才搞定,从此发誓不在装有AMD显卡的机器上安装Mac OS X)
Mac使用过的显卡和声卡几乎屈指可数,因此官方驱动也就那么几个。目前能够支持的显卡有:NV从GeForce 6系列直到GTX 500系列(笔记本显卡类似,但不支持Optimus切换技术的笔记本显卡。GTX 500系列有Freeze Bug,这个后面再说),AMD/ATI显卡从X1000系列到HD6000系列(Raedon Mobility笔记本显卡彻底无解),Intel集成显卡貌似只支持GMA500?
Mac OS看似支持很多显卡,不过实际用起来没什么问题的显卡也就那么几张,并且AMD较新型号的显卡,例如HD5000和HD6000系列在安装时,还会有不小的难度(需要根据显卡型号不同,使用不同FrameBuffer的Boot文件,每个具体型号对应一个boot,比如5870公版和5870毒药就不能使用同样的boot文件)。
NV方面也有一些问题,GTX400显卡之前的问题是无法降频,导致显卡始终处于满载状态,同时风扇还不提速.....(我的GTX480就这样度过了一个夏天,还好安然无恙),不过目前GTX400系列显卡也能算是比较完美的被支持了。
GTX500系列,虽然也能被支持,不过离完美正常工作也有一定距离。由于GTX400~500显卡采用的驱动来自于Quadro专业卡,而Quadro专业卡几乎全是基于GF100核心,因此驱动无法正常调整GTX500 GPU的电压,频率以及风扇转速,导致显卡要么处于2D频率下工作,造成Freeze Bug,要么一直不降频,温度过高直到高温保护自动黑屏。
另外,由于普通显卡的BIOS与Mac显卡的BIOS也有区别,因此目前仅有基于GF100 GPU的显卡能够支持OpenCL,其他普通显卡一律无法使用OpenCL加速。同时,SLI,CF,双芯单卡也无法正常工作(GTX295和4870*2好像可以以单GPU模式工作.....)
同时,跟Windows下同理,能够调节分辨率,并不代表显卡已经被正常驱动。Mac OS X仅在检测到支持OpenGL的显卡后,才会启用图形加速,也就是Core Image和Extreme Quartz。不过在Mac OS X 10.6.3及后面的版本当中,Core Image和Extreme Quartz的概念已经被淡化(系统概述的显卡页面已经没有QE/CI项目),Apple将其统称为OpenGL加速。
声卡也是比较让人郁闷的问题。市面上大部分主板集成的都是螃蟹的声卡,不过型号繁多,有些能够完美支持,比如ALC888,或者以此派生出的各类OEM型号;不过还有大量声卡无法以非常完美的方式被驱动。还好yin民的智慧是无穷的,大部分集成声卡都能使用Voodoo HDA这个通用驱动来达到“发声”的目的,不过也仅仅是发声,要想音质赶上原版Mac驱动就别抱太大希望了。至于CMI之类的声卡芯片,仍然无解。
有线网卡相对来说要简单得多,这倒不是说Mac OS X内已经集成了多少网卡驱动,而是不知为何,各个网卡芯片厂家都非常好事的,主动为Mac OS X开发了网卡驱动.....因此,基于螃蟹,Intel以及Marvell的网卡,几乎全都有很完美的驱动可用。无线网卡就没那么幸运了,仅有极少数的无线网卡能够工作在Mac OS X下面,例如Intel一两款型号,Broadcom一两款型号。
接下来是I/O接口驱动和外部设备驱动。有人觉得奇怪,Windows下从来没听说过键盘鼠标还需要单独安装驱动的,但在Mac OS X下面,如果你的键盘鼠标是PS/2接口,或者你是在笔记本电脑上安装Mac OS X,那么你还需要安装PS/2 Controller驱动,否则鼠标键盘,或者笔记本触摸板之类的设备都无法工作。
同时,由于笔记本还有各类电源管理设备,因此要想让笔记本安静稳定的工作,或是想让机器能够进入睡眠状态并成功唤醒,还需要解决电源管理器或者节能器驱动的问题.....
最后一条,也是个人认为最蛋痛的问题:CPU驱动......WTF,CPU还需要驱动???至少在Mac OS X下面确实如此。之前说过,Mac OS X的内核不同于Windows,主板也不同于Windows,因此要想让多核心CPU正常工作,并且支持自动频率调节(Speed Step,CNQ),还需要修改部分系统文件,让Mac OS X不仅能成功识别多个核心,还能正常调用多个核心。
OK,黑苹果的大概情况就是这样了,我写这篇帖子都写得头大,各位要是看得不头疼还真是奇怪了.....个人建议是,如果你只是想装个Mac OS X来尝鲜,请使用虚拟机。如果你硬要在PC上安装Mac OS X并完美运行,希望你确实是由于工作或者其他原因迫不得已(至少我就是这样,不过现在还是搞了个MacBook Pro),同时,请你在安装Mac OS X之前,仔细斟酌机器配置,以免到时候抓狂~~~
谢谢观赏
|
|