学习xamarin和cocos2dx以及qt后想做一些os x或者ios的开发联系,由于短时间内买不了macbook,所以只有在自己的惠普笔记本上装个黑苹果玩玩了。我的电脑是uefi+gpt的分区和启动引导,所以一下步骤都只针对于这种格式,mbr的分区可以去远景论坛找变色龙引导的相关教程。
以下步骤参考了很多远景论坛的文字和图片,如果有侵权,请联系我。
【参考】http://bbs.pcbeta.com/viewthread-1470715-1-1.html
【参考】http://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1443155&page=1#pid38306400
1,给硬盘分区
在windows下打开磁盘管理,压缩出一个 6GB 的 未分配空间 以及 建立好的>50GB 的分区(前者用于写入懒人版安装镜像 后者用于安装Mac 最小20GB 常用推荐60GB以上或更大,其中6GB的分区安装完后可以回收)以下以6GB的分区为例:
2,写入镜像
以管理员身份运行 磁盘助手 V0.3 选择好懒人版的CDR镜像,如图所示 取消勾选下面的 “在boot.ini中加入tboot”等3个选项 勾选上“写入” 单击“开始”
然后开始等待 过程中 程序可能无响应 但是什么都不要动 程序在写入镜像中
写入成功后 会是这样:
会发现 提示了:Change partition type to AF: Failed
(MBR用户这里一般都是提示 Success)
但是也很正常 AF 是 MBR分区表里 HFS+文件系统的标识 但是现在是GUID分区表 当然无法成功修改
那么看下一步。。
3,手动修改安装分区标识(仅适用于GUID分区表,全局唯一标识分区表GUID Partition Table,缩写:GPT)
以管理员权限运行 命令提示符
(Windows8/8.1用户 可以 Win+X 再按A)
输入 diskpart
输入 list disk (只有一块硬盘的用户可掠过此步骤)(确定好你的磁盘序号)
输入 sel disk 0 (我的主硬盘是 disk0)(如果你是1 那就是 disk 1)
输入 list part (在列表里 找好自己6GB分区的序号 比如分区)
输入 sel part 4 (我的是分区4,这个根据自己的分区id来设置)
接下来 是重点:
输入 set id=48465300-0000-11AA-AA11-00306543ECAC
(这一步就是设置安装分区为HFS+文件系统的关键步骤,HFS+就是mac支持的文件系统)
在这步 可能会遇到 虚拟磁盘服务错误 该分区正在被使用 等提示
这种情况 只需输入
set id=48465300-0000-11AA-AA11-00306543ECAC override
即可(反正我是没有遇到)
4,确定HFS+是否修改成功
打开 DiskGenius 专业版
从图中可以看到 6GB 的磁盘分区 被识别为 Apple HFS+ 。
ps:要把那个装>50 G的mac os的大分区也按照这样处理成HFS+分区,才能被苹果安装器识别到。
5,制作Clover 引导U盘
crazybirdy的clover工具是论坛里发布clover U盘启动引导工具的大牛,支持mac下操作和win下操作两种方法,这里采用win下操作的工具制作四叶草的U盘引导盘。
(zip压缩包里有详细图片gif教程)
注意:这里的P:是根据格式化的U盘盘符来的,实际情况可能是H: I: 等,必须对应
制作好四叶草的u盘启动项后,可以点击u盘进去看到有很多文件夹。
6,复制必要的第三方kext驱动
将kext文件夹里面的ApplePS2Controller.kext ApplePS2Conroller.kext (这两个是ps/2鼠标和键盘必备驱动)FakeSMC.kext (黑苹果必备驱动)部分机型还需要 禁用电源管理驱动
拷贝到 U盘里 /EFI/Clover/Kexts/10.9 下
如有其他需求 可随时修改/添加第三方驱动到 10.9 文件夹下
7,配置好Config.plist
在u盘里会有个clover的配置文件config.plist,需要根据自己的电脑不同配置而进行修改(我第一次没有修改直接安装,结果进系统卡在菊花无限转,安全模式下卡死最后IOBluetooth Controller 。。。这个据说是显卡没有驱动的问题)
这步是重点,请移步此帖参照新手入门进行个性化配置:
http://bbs.pcbeta.com/viewthread-1485696-1-1.html
我的电脑是Intel HD4000和NV GT730M的双显卡,目前对独显无解,只能驱动核显。需要修改config.plist
首先将Graphics里的Intel项改为true,英伟达和ATI保持false
然后进设备管理器查看自己核显的硬件ID:
根据那个DEV 0166选择一个码填入到config.plist的ig-platform-id中。
我填入的是0x01660003,恰好成功了。(关于这个值可以上远景论坛查看详细介绍)
以下就是我的config.plist修改的地方
Graphics
ig-platform-id
0x01660003
Inject
ATI
Intel
NVidia
PatchVBios
其实也可以通过修改dsdt文件达到很多目的,不过我是菜鸟,懒得弄那个 。
8,开始安装
重启电脑,bios设置从u盘启动(需要关掉的bios的安全启动选项,否则进不去u盘启动项),进入clover界面,选择6G的那个盘图标直接回车进入安装(貌似有些人推荐用空格然后选择其他模式安装,不过好像没有必要)。
安装过程中,用磁盘工具(disk ulity)将那个60g的盘抹盘,用mac 扩展日志。
开始安装,耐心等待。。。
自动重启。
9,进入mac
完成重启后,继续bios选择u盘启动,选择mac分区进入系统,
目前,发现核显已驱动(独显无解) 摄像头 触摸板和键盘都可以用 无线网卡和蓝牙无解(论坛确实找不到相关的,可以弄dsdt)。
10,声卡
用万能声卡驱动,pkg格式的是可以直接在mac下双击安装并且自动修复权限、重建缓存,缺点是卸载时会留下很多残留文件,不推荐。
推荐下载kext格式的驱动文件,然后用kext wizard这个mac下的软件安装kext,会自动将kext装入苹果的S/L/E(系统/资源库/扩展,system/libaray/extensions)下,删除时,直接进入这个目录删除对应的kext就行了。
切记:这个kext wizard的zip一定要在mac下解压缩,在win下解压缩出来在mac下会出现找不到苹果分区的现象。
装完后需要重启才可以启用声音。
如果遇到不能调控音量调节,则在win下进入kext的content目录,修改info.plist
VoodooHDAEnableVolumeChangeFix
12,将clover写到uefi分区
为了避免每次都要用u盘才能引导进入mac系统,需要将clover引导启动项拷贝到系统的uefi分区,没错,就是引导windows的uefi系统分区。
参考kavenliang大神的方法:
这个可以在mac和win下操作,这里在win下操作。
管理员运行命令提示符 diskpart命令,如图操作
双硬盘双EFI分区的同学不要搞错
管理员模式进cmd
输入:diskpart
输入:list disk
输入:sel disk 0
输入:list vol
输入:sel vol 2(对应选择uefi的系统分区,看清楚大小,因人而异)
输入:ass
这时候在资源管理器可以看到uefi分区的盘符
---------------------------------------------------重点----------------------------------------------------
在管理员模式下打开记事本,点打开,会弹出资源管理器窗口,在这个窗口里有权限对uefi的分区操作,就把clover那个文件夹拷贝到里面的EFI文件里面。
退出diskpart:
输入:remove
输入:exit
---------------------------------------------------重点----------------------------------------------------
此时重新开机,发现并没有clover的启动项,需要插入U盘,设置U盘启动,在U盘里的clover页面选择,Clover boot options,然后选择 Add Clover as UEFI boot option
有的版本只能选择,add all entries
这样以后开机按F9进入开机启动项,选择Mac那个项进入clover,然后选Mac OS就可以了
PS: 如果想修改EFI/CLOVER/里某一个单独文件
可以用鼠标右键,“打开方式”解决,以后想删掉mac,如此这般进入uefi区删掉clover文件夹就行了,然后把苹果分区回收。
13,解决时间同步问题
mac的时间和win的时间不一样
一:为什么两个系统的时间会不一样呢,先说两个概念吧:
UTC即Universal Time Coordinated,协调世界时
GMT即Greenwich Mean Time,格林尼治平时
在这里,你可以把UTC认为是GMT+0。
Windows和mac缺省看待系统硬件时间的方式是不一样的:
* Windows把系统硬件时间当作本地时间(local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的。
* Linux/Unix/Mac把硬件时间当作UTC,操作系统中显示的时间是硬件时间经过换算得来的,比如说北京时间是GMT+8,则系统中显示时间是硬件时间+8。
这样,当PC中同时有多系统共存时,就出现了问题。假如你的mac和WindowsXP中设置的时区都为北京时间东八区,而你在mac中把当前系统 时间更改为9:00AM。则此时硬件中存储的实际是UTC时间1:00AM。这时你重启进入Windows后,你会发现windows系统中显示的时间是 1:00AM,比mac中慢了八个小时。同理,你在Windows中更改或用网络同步了系统时间后,再到Ubuntu中去看,系统就会快了8小时。在实行 夏令时的地区,情况可能会更复杂些。
二解决办法:
原因知道了,那怎么来解决这种冲突呢。一种就是让Windows把硬件时间当作UTC,与mac保持一致。另一种就是让Mac把系统时间当作本地时间,与Windows保持一致。
(1)让Windows把硬件时间当作UTC(这个不见得好)
开始->运行->CMD,打开命令行程序(要以管理员方式打开命令行程序方可有权限访问注册表),在命令行中输入下面命令并回车 :
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
(2)让Mac把硬件时间当作本地时间(推荐这个)
为了让MAC OSX(INTEL)更好使用BootCamp,解决两个系统时间不统一问题,APPLE发布了个名为AppleTimeFix的WINDOWS补丁,经试用,都能很好工作。
安装完补丁后请进入系统偏好设置,时间与日期里面做如下图设置(里面的这些勾哪里需要打,哪里需要去掉还需要自己试)
如果卸载时间同步补丁:把sbin下的localtime-toggle
和System/Library/LaunchDaemons下的org.osx86.localtime-toggle.plist
删掉就可以啦~
至此,黑苹果安装之旅结束,也就勉强能用,目前还有无线网卡、电源电量、亮度调节没有弄好,懒得折腾了,所以就这样将就用着了。
后记:
1,每次开机需要按F9选择clover启动项才能进苹果,据说有个easyuefi的软件可以设置uefi启动项,没试过。
2,尽量都将U盘插在USB2.0D的口,3.0的口很多不兼容,不识别
3,可以用multibeast驱动精灵来驱动很多硬件,不过没用上。
嗯,就酱~~
如果想卸载已经安装的mac os系统(linux同理),步骤如下: