Hackintosh安装笔记

Posted by KC on May 20, 2012

购MBP之前,曾经尝试过在Dell的PC和联想的笔记本上安装黑苹果,那是去年还是前年的事情了,当时无果,印象中最好的情况是Y450的笔记本顺利进入Mac,但是内置键盘无法使用,网卡、显卡、声卡都无法驱动。现在虽然已有MBP,还是感觉我的PC应该有可能装上黑苹果,于是重新尝试了一番。

这次只在Dell Dimension E520上做了尝试。无数次重装之后仍然未完美,只是有些问题上有了点儿眉目,折腾的时间不多,权且记录下来。


系统配置

  • CPU: Intel Pentium D 925 3.0GHz;

  • 主板:Dell 0WG864;

    – 主板芯片组:Intel P965/G965;

    – 南桥:Intel 82801HH(ICH8DH);

  • 显卡:nVidia GeForce 7300 LE;

  • 网卡:Intel 82562GT 10/100;

  • 声卡:SigmaTel High Definition Audio;

PS:我的PC上装有两块硬盘,两块硬盘都有可引导的系统,HD0上有Grub引导的Linux,HD1上为Windows,都可以独立引导,GRUB能引导两个系统。现在是希望Hackintosh安装到HD1上。


osx86系统版本

尝试过多个黑苹果的版本,包括原版和各种破解版,有的只是浅尝辄止,目的是找到一个能进入安装界面的版本之后,深入研究和多番尝试,如果连安装界面都未能顺利进入,就没再这个版本上花更多时间了;

以下是尝试过的一些版本及问题: * iDeneb_v1.6_1058_Lite_Edition:硬盘安装无法进入安装界面。

  • 原版10.6Snow Leopard:需要自己提取程序,比较繁琐,没其他可行方法之前,没准备去折腾了。

  • 东皇iAntares.10.6.3.v2.2:成功安装。硬盘安装和光盘安装都能成功进入系统。不过显卡声卡网卡都还无法驱动。

  • 东皇iAntares.10.6.5.v3.2:硬盘安装助手无法识别并写入该镜像到硬盘分区。刻录光盘也无法安装。

  • iATKOS_L2:这个是OS X 10.7.2的DMG镜像,使用UltraISO转换成ISO时报错。(读入文件就报错)。硬盘安装时候时用Leopard硬盘安装助手写磁盘之前报警告,大意是“镜像Size大于它所标称的Size”,但是可以写入,写入之后发现变色龙无法识别这个硬盘镜像,而BootThink能识别安装镜像,但是一进入即引起系统重启。无法安装。

  • iATKOS_S3_version2:貌似也是无法进入安装界面。

  • iATKOS_v7:能成功安装。但是和东皇V2.2有一点区别,东皇2.2安装结束后会报告安装失败,无法重启。实际上是安装成功的,只是引导程序有问题,无法从Mac进行引导,而我是有windows版的bootthink和chameleon的,所以东皇版本不覆盖MBR正好,安装完之后还可以直接进入windows,也可以从MBR上原有的引导程序引导进入mac。而iATKOS v7则会写入引导。导致原有windows无法引导,报告“testing error”错误。需要windows安装盘或者win PE进行修复。麻烦。初次安装好之后也是无法重启,需要多方面修复。

PS:最后我用的是东皇V2.2,折腾之后可以进入系统,显卡、网卡还无法驱动,声卡已经正常。


过程详述

这个纯粹是啰嗦了。对过程做个记录。安装Hackintosh确实很复杂,需要很大的耐性,并且最终也不一定能成功。

第一部分:

之前有过很多错误,没有做太详细的记录。这里只有其中一点儿。

  • 安装过程中出现的错误是: No DSDT replacement found Leaving ACPI data as is 一闪而过,接着就是一些cpu堆栈打印的黑屏,或者是直接重启。如果没有-v参数,就是白苹果。

解决: 替换/Extra目录下的Boot.plist文件中的kernel的值,从Pcj31000替换为mach_kernel。重启。

  • 以上步骤之后,使用verbose模式重启,看到系统出现still waiting for root device信息。系统找不到跟设备。

东皇V2.2版本,10.6.3系统,安装时出现usbmsc identifier (non-unique) HT081HL02170 错误,然后系统停止在waiting for root device 界面。

第二部分:

这部分很详细。基本上是边解决问题边在MBP上做记录。so…也很啰嗦。

试了很多版本,发现只有iatkos v7和东皇v2.2是能够顺利安装的,还是决定在这边折腾。可能由于我的系统环境原因,东皇安装结束后会报错,不会给我安装引导程序,但这正好是我希望的,我希望由win7上的变色龙引导即可。另外东皇是10.6.3,而iatkos v7是10.5.x的版本,旧了点。

重新安装,所有驱动不选,选择:

  • IOATAFamily.kext
  • IOPCIFamilly.kext

还有其他几个重要的、估摸着不会错的补丁,驱动程序一个都不选。内核选择原版。

安装成功后,进系统黑屏卡住。于是把所有内核都放入根目录下,准备一个一个试试。最终发现10.6.4的破解内核能成功进入系统!

过程:

使用10.6.4的mach_kernel -v 选项引导,非常慢,但是不会再出现still waiting for root device错误了。可以跳过waiting for root device的错误,进入系统但是无法出来初始化界面,界面大约5秒黑一次,然后亮回来。如此重复。只能强制关机。

强制关机、开机,使用 mach_kernel.4 -v -x选项引导系统,依然很慢,但是可以进入欢迎界面了。

顺利创建账户。

系统提示不能识别键盘,按照要求,系统提示不能识别左边shift右边的键,不能识别右边shift左边的键,分别按下这两个按键,可以继续。键盘可用。

顺利进入系统,键盘、鼠标,输入法正常。显示机器信息为iMac8.1,core 2内核,其实我是Pentium D 925,3.0G内核。内存只认了4GB,实际我有5GB

问题:

1
2
3
4
5
3.1 分辨率很低,也没有声音,因为没有安装任何驱动。

3.2 系统不认光驱,已经安装了NTFS-3G,但是系统没有挂载NTFS分区

3.3 系统不认网卡,不能认exFAT的U盘,插入时直接提示不可读需要格式化。但是FAT的U盘不报错,却不自动挂载,系统显示该设备的S.M.A.R.T.不被支持。重新格式化U盘,貌似到了第三次才挂载上。

继续,做了一次磁盘文件权限修复,Lion用久了,开始时候甚至一愣,不知道磁盘工具去哪里找。从修复记录来看,有很多权限系统文件权限有问题,打印了非常多修复信息。

安装网卡驱动,未果。。

不需要使用-x也能启动了,估计是修复了磁盘就好了。另外发现原来是MacFUSE服务在-x模式下是不启动的,导致NTFS分区无法加载。正常启动的时候,所有NTFS分区都已经自动挂载了。

网上找不到Intel 82562GT网卡的驱动,但是记得东皇V2.2的安装光盘中是有的,于是想到去东皇安装DVD中提取,在windows下使用WinRAR或者7Z打开iso镜像,System/Installation/Packages/Drivers目录中,能看到pkg形式的驱动,拷贝到mac下进行安装。——失败,重启之后网卡还是没有识别。

先不管了,先安装NVEnabler64.pkg的显卡驱动,失败,安装之后从-v打印的信息来看,显卡驱动模块插入失败,系统无法进入系统,直接重启了。

重启进入系统时使用-v -x参数进入再试试看。成功进入系统。-x不会尝试加载显卡驱动。执行命令:rm -rf NVEnabler64.kext命令卸载NVEnabler驱动,(杯具,还得重新找驱动了,东皇自带的网卡和显卡驱动貌似都不管用。)

重新安装一次Intel82566MM.pkg驱动,看看是否管用。还是不行。

继续显卡:尝试了以便东皇几乎所有的驱动,除了那个9500GT,全都不行。但是看到有人说NVinject应该是可以的,另外我安装Natit后会导致黑屏(好像是睡眠了,电源亮着,显示器没有信号了)无法进入系统,这个看到有人说要在32位模式下才可以进入系统并且能驱动7300LE显卡。还没有尝试。

我发现我安装的驱动都没有用,原来以为是驱动本身的问题,现在怀疑可能是缓存的问题,因为我在/System/Library/Extensions.mkext这个文件并不存在。在系统找了一下,才发现位置是: /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext

找到一种在SL系统底下禁用kext缓存的方法: sudo launchctl unload /System/Library/LaunchDaemons/com.apple.kextd.plist 执行后每次启动都会重建缓存。

重新安装了一次NVinject.kext,还是不起作用。准备再试试Natit.kext,如果不行,就睡觉了。另外我找到了一堆NVidia显卡的驱动,其中还有一个叫GeForce7xxx.kext的。如果Natit.kext在32位底下还是不行,试试这个7xxx的驱动。

32位模式使用Natit.kext驱动无果,还没进入系统就会导致直接关机。

今天寻求解决无果,睡觉了。明晚再试试其他方法。

第三部分

测试使用《N卡驱动》包里的第一种方法,也是Natit.kext驱动,这次系统正常启动,但是显卡依旧没有驱动成功。纳闷。

没有删除Natit.kext的情况下,直接修改NVinjet.kext的info.plist文件,从系统硬件属性里面找到显卡的修正版本号,也加上了,看看能不能行,另外也从kextstat命令中获取了一些其他驱动的信息修正了该plist文件。然后将该文件拷贝到/System/Library/Extensions/目录中

手工删除了/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext文件。发现系统几乎立刻会开始重新生成。过一阵这个文件就重新出来了。但是重启依然无果。分辨率还是1024X768

我感觉那次进入系统不是人品,依靠这种方式还是可以进入系统的,折腾驱动这么久还是无果,索性重装一次系统,选上各种驱动试试。显卡NVEnabler64应该是不能用的,选了其他显卡,替换了10.6.4内核,正常进入到欢迎界面,但是发现在“您已经有一台Mac吗?”的界面卡住了,选择了“请不要现在传输我的信息”并点“继续”之后,出现风火轮了,鼠标还可以栋,但是进度貌似卡住了。这时候好像还看不出来显卡是否已经正常驱动。

强制关机,重新以 -v -x 选项进系统。还是进入初始化界面,但是仍然在“您已经有一台Mac吗?”这里卡住了,点了继续后没反应。网上搜了一下,据说是网卡驱动有问题。想想这步是有可能出现网络访问。问题是我之前的网卡也是没有驱动的,却没有卡在这里。

看到一种解决方法:

開機時按下F8或Enter進入特殊的開機模式… 輸入-s進入single user mode… 然後輸入

1
2
3
4
5
sbin/fsck -fy
/sbin/mount -uw /
passwd root
touch /var/db/.AppleSetupDone
reboot 

这种方法本质上是设置root帐号,跳过欢迎见界面。但是实施遇到问题,passwd root命令无法执行,提示某文件找不到。于是直接执行了后面的生成.AppleSetupDone文件。但是重启后发现,无密码系统是不允许登录的。

于是只能重启,打算进入安装盘看看,应该会有救援模式之类的工具?结果在安装界面看到了一个密码工具,可以重设密码。

PS:发现现在装了驱动后,还是会出现

Failed to load kext com.apple.ioket.IONetworkFamily

couldn’t alloc class “IONetworkStack”

之类的错误。(-v -x模式下的打印信息。)

使用安装盘的密码重置工具重置root密码,成功进入系统。发现显卡、网卡、声卡还是未能驱动。杯具。话说那个82562GT是透明的么?跟我的网卡型号完全一样,为何不行?

无意之间看了一下“关于本机”,发现内存识别为4GB,突然想到,我进来是-x模式的,可能没有加载那些驱动!于是打开磁盘工具,修复权限,然后重启。希望修复后重启能发现驱动上了。

声卡成功,我用的是voodoo版本号最大的那个,一时忘记名字了,回头补上记录。

  • 网卡失败。
  • 显卡失败。

重启,尝试arch=i386,直接CPU挂起,直接重启了。再次进入系统后,设置网卡内建选项为n。无果。

重启,使用Universal OSx86 Installer安装GeForce7300LE的驱动,该工具列表上就有7300LE这个显卡,但是装完之后,分辨率依然不对。

使用iDSDT生成失败,报告dsl上有错,需要修复之后再编译。使用DSDTSE看看能否修复,无果。

先放放,稍后再折腾了。。有进展的话后续再行整理。。