
虽然比版上同学要慢一些,但还是成功安装了10A432,并开启了64位模式,目前为止一切正常,看起来似乎要稳定许多。
先上一张图,然后来写教程。
本教程以翻译为主,这样可以减轻我的工作量,我可以把更多的精力放在查漏补缺上。
等不及或者英文比较好的同学可以猛击此处查看英文原版,同时也请帮我检查翻译和语法的错误。
这篇文章基本上也是老生常谈,大部分内容可以在论坛上找到,但是随着不断的补充,我希望可以做到足够的详实,为大家提供一个完整的snow leopard教程。
引言
我希望大家都能够了解本文不仅仅是一个向导式的教程,更重要的是提供了安装Snow Leopard的必要知识以及处理问题的方法,只要了解这些步骤的意义,你尽可以自己安排安装Snow Leopard的步骤。
众所周知,Mac OS是安装在Apple公司所售的个人电脑里的操作系统,自从2006年乔布斯转投Intel阵营以来,Intel Mac的硬件已经很接近同时代的PC了,但这并不意味着Mac OS也兼容这些普通的个人电脑。因此,我建议搭建一台由兼容Mac OS的硬件组成的电脑,而不是使用那些不兼容的配件。因为Mac OS不一定可以正常工作在老的或者苹果电脑不提供支持的配件上。
硬件要求
如果你希望搭建一台兼容Snow Leopard的电脑,选择下面的硬件会使安装变得更加容易。你也可以对比自己电脑的配置,判断是否满足安装Snow Leopard的要求。
- CPU 推荐Intel Core 2 Duo/Quad or i7 处理器,如果你的CPU是AMD或者更老的Intel CPU需要等待破解核心
- 主板 一块支持AHCI SATA 的主板(BIOS里也要设定为AHCI). Intel芯片组优先,常见支持Mac OS的芯片组有Intel P35,P45,X58系列和Nvidia MCP7A系列,购买时尽量选择大厂产品,如Gigabyte(技嘉), MSI(微星), ASUS(华硕),目前支持Mac OS系统较为完善的是技嘉的主板
- 显卡 最近两年发布的NVidia或者ATI显卡,N卡包括G7X,G8X,G9X,GT200系列显卡,A卡主要是HD4000系列,以公版卡为宜
- 硬盘 SATA或者USB的硬盘,光驱也尽量以SATA接口为宜
- 键鼠 推荐使用USB键盘鼠标
背景知识
我希望每一位准备安装Mac OS 10.6 Snow Leopard的朋友都有成功安装Mac OS 10.5 Leopard的经验,特别是Leopard原盘安装的经验。如果你是一个黑苹果的初学者,请移步到Leopard区补课先。因为目前没有Snow Leopard的破解安装盘,我们需要一个安装好了的Leopard系统来安装10.6 Snow Leopard,所以那些只有windows和10.6镜像的朋友,也请先安装一个Leopard再来看下面的教程。
对于任何一位想要在PC上安装Mac OS的朋友来说,了解在PC上安装Mac OS有哪些限制,我们又是如何突破这些限制是很有有意义的,如此你才知道哪些文件是装黑苹果必须的,它们又起什么作用。下面我给大家揭开这个小秘密。
- Apple的电脑是基于EFI引导的,不存在传统个人电脑上的BIOS系统,因此PC机不能引导Mac OS的安装盘,也不能引导已经安装好了的Mac OS系统,所以我们需要一个引导程序来模仿EFI的行为,进而能够引导Mac OS 系统,这就是我们为什么需要变色龙(Chameleon)这样的引导程序的原因了,类似的引导程序还有PC-EFI, BootThink,你可以阅读EFI - OSx86来了解更多有关EFI的知识。
- MacOS內置了加密机制来阻止其在非Apple的机器上运行。一些完成启动所必须的文件被加密,而密钥储存在Mac电脑里的一个称为SMC的硬件里。而普通的个人电脑没有这个硬件,因此那些文件没有解密,自然导致系统无法完成启动。这就是为什么你需要一个用来解密的kext,比如dsmos,r3d3或者AppleDecrypt,对Apple加密机制感兴趣的朋友,可以看看这篇文章Understanding Apple's Binary Protection
- 一些硬件也许没有Mac OS的驱动程序,或者使用了和Mac驱动不一样的PCI设备号(PCI device ID),这个问题使很多朋友无法享受到Mac OS的美妙之处,试想,你装好系统之后不能更改分辨率,没有显示特效,没有声音,不能上网,那这样的系统装了又有什么意义?这个问题很难解决,要么购买的时候就注意选择兼容Mac OS的硬件,要么只有期待未来可能会出现驱动。
综上所述,我们可以知道任何一台黑苹果要运行Mac OS,最起码需要Chameleon和dsmos.kext,当然你也可以根据自己的喜好选择不同的引导和解密kext。
准备工作
安装过程
最简单的方法是在一个已经安装好的系统里安装Snow Leopard系统,如果你有一台安装了Snow Leopard的Mac机那就再好不过了,或者一台安装了Leopard的黑苹果也可以。简单说,安装Snow Leopard的步骤是,启动安装好Leopard/Snow Leopard系统的电脑,把硬盘连到那台电脑上,双击OSInstall.mpkg启动安装。网络上有很多用这种方法来安装Leopard的教程,不过 Snow Leopard的安装方法会有一些不一样。本文以硬盘使用GPT格式重新分区安装Snow Leopard为例,其它的情况会在翻译完成后一一补充。
- 连接目标硬盘
- 使用磁盘工具分区,分区格式是GPT - GUID Partition Table
- 注意事项:右击桌面上目标分区的图标,点属性,然后点右下那个小小的锁的按钮,取消 'Ignore ownership on this volume'复选框,否则安装完了权限会变得一团糟
复制代码
- 确保新分区的根目录的所有者是root用户,假设Snow是你要安装雪豹的那个分区,在终端里运行
- sudo chown 0:0 /Volumes/Snow
复制代码
- 加载Mac OS X Snow Leopard的DVD光盘或者镜像
- 在终端里运行
- open /Volumes/Mac\ OS\ X\ Install\ DVD/System/Installation/Packages/OSInstall.mpkg
复制代码
,选择你要安装到的分区,其余选项保持默认就好
- Snow Leopard安装结束后再安装Chameleon,安装chameleon的时候可能会碰到安装到最后出现错误的提示,事实上安装是成功的。你也可以根据Chameleon的手册手动安装(访问http://chameleon.osx86.hu获得更多信息)。Chameleon默认会建立/Extra/Extensions,并安装几个kext到那里,如果你不需要的话可以删掉它,然后添加你自己需要的kext。
- 复制DSDT.aml到Snow Leopard分区的根目录,你也可以把它放在/Extra下,Chameleon支持这两个地方。
- 把这个smbios.plist放到/Extra下,你可以根据自己的喜好编辑它。
- 修改PlatformUUID.kext里Info.plist的UUID,并确保和smbios.plist里的UUID相同。你也可以自行建立一个新的UUID,使用Google去找到生成UUID的方法。
- 复制/Library/Preferences/SystemConfiguration/com.apple.Boot.plist到/Extra下,如果已有请覆盖,你可以在里面添加Timeout等等的信息
- 修改/Extra/com.apple.Boot.plist并加入需要的EFI string,以我的plist示例如下
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
- "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- *本站禁止HTML标签噢*
- *本站禁止HTML标签噢* Kernel</key>
- *本站禁止HTML标签噢* mach_kernel</string>
- *本站禁止HTML标签噢* Kernel Flags</key>
- *本站禁止HTML标签噢* </string>
- *本站禁止HTML标签噢* device-properties</key>
- *本站禁止HTML标签噢* b20200000100000001000000a60200001000000002010c00d041030a010000000101060000010101060000007fff04000e0000004e00560050004d000000200000000100000000000000000000000000000000000000000000000000000024000000400030002c00630061006e002d0068006f0074002d0070006c0075006700000004000000220000004100410050004c002c0067007200610079002d007000610067006500000008000000010000001c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e740e0000006e0061006d00650000000b000000646973706c617922000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000006d006f00640065006c000000130000004765466f726365203739353020475422000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c617920000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616314000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d4114000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d421200000049004f004e0061006d00650000000b000000646973706c617920000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616324000000400031002c00630061006e002d0068006f0074002d0070006c0075006700000004000000100000004e00560043004100500000001800000004000000000003000c00000000000007000000001e00000072006f006d002d007200650076006900730069006f006e0000000e0000004746582d535452494e47</string>
- </dict>
- </plist>
复制代码
- 从系统预置--节能那里关闭休眠,因为可能会导致一些问题,比如一睡不起,如果你没有问题可以不关
- 用这种方法安装Snow Leopard始终会遇到一些权限问题,即便之前已经设置了'Ignore ownership on this volume'。所以下面的步骤至关重要,请不要跳过这一步
- 单用户模式启动,在Chameleon的选择界面选择Snow Leopard分区并键盘输入 -s
- 加载根目录为读写属性:
- mount -uw /
复制代码
- 移除驱动缓存文件:
- rm -f /System/Library/Extensions.mkext
复制代码
- 修复权限并重新建立驱动缓存
- chown 0:0 /
- chown -R 0:0 /System/Library/Extensions
- chown -R 0:0 /Extra/Extensions
- kextcache -v 1 -t -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
- kextcache -v 1 -t -m /Extra/Extensions.mkext /Extra/AdditionalExtensions
复制代码
细节
引导Mac OS
要想使Mac OS成功运行在普通的个人电脑上,你需要克服一些困难
- Apple的电脑是基于EFI引导的,不存在传统个人电脑上的BIOS系统,因此你不能插入安装盘就开始启动安装
- 一些硬件也许没有Mac OS的驱动程序,或者使用了和Mac驱动不一样的PCI设备号(PCI device ID)
- Mac OS內置了加密机制来阻止在非Apple的机器上运行。一些完成启动所必须的文件被加密,而密钥储存在一个称为SMC的硬件里。普通的个人电脑没有这个硬件,因此那些文件没有解密,导致系统无法完成启动。这就是为什么你需要一个用来解密的kext,比如dsmos,r3d3或者AppleDecrypt
文件下载
本文提到的所有文件都可以在作者的网站获得,网址是http://heliacal.net/~solar/mac/
你可以很容易的下载到Snow Leopard的镜像,比如FTP,BT。截至到目前,最新的版本是所谓的GM(Gold Master)版,版本号为 10a432
关于32位和64位内核
基本上我推荐使用32位的Snow Leopard内核。虽然64位内核看起来更加迷人,但是32位的提供了更好的兼容性,特别是考虑到现在的程序都是为Tiger/Leopard编译的。
何况无论哪种核心都可以运行64位的程序,而且大多数Snow Leopard的进程依然是64位的。
Netkas在这里详细阐述了32位和64位的机制,你可以通过阅读他的博客来获得更多有关Snow Leopard的信息。
DSMOS (Dont_Steal_Mac_OS_X)
Mac OS的/System/Library/Extensions文件夹下面有一个叫Dont_Steal_Mac_OS_X.kext的kext,这个kext用来解密任何被加密了的程序。这是苹果用来阻止安装Mac OS到普通电脑上的加密机制。
这个kext的工作原理是,从SMC (System Management Controller)里读取密钥,并用之来对程序每一个装载到内存里的页(Page)进行解密。非Apple的个人电脑没有SMC硬件,因此无法完成启动Mac OS。内核会一直等待,系统无法进入桌面,不过进入单用户模式是可行的。
随着Snow Leopard 10a421的发布,这个加密机制发生了变化,因此老版本的解密kext失去了作用。Netkas发布了一个新版本的kext,支持10a421和10a432(GM)版的Snow Leopard,你可以从这里或者作者的网站获得它。
Boot loader
我推荐使用Chameleon作为引导工具,你可以从官网http://chameleon.osx86.hu上下载,或者直接从这里下载http://heliacal.net/~solar/mac/Chameleon-2.0-RC2-r640.pkg
Chameleon默认启动64位的核心,你可以通过启动时输入启动参数 -x32来使用32位的内核,当然也可以在com.apple.Boot.plist设定。
Extensions
dsmos.kext_for_snow_64_10a432.tar
NullCPUPowerManagement.kext_for_snow_64.tar
OpenHaltRestart.kext_for_snow_64.tar
PlatformUUID.kext_for_snow_64.tar
dsmos.kext - 用来解密那些被加密的文件
NullCPUPowerManagement.kext - 阻止原版AppleIntelCPUPowerManagement运行,原版的在某些电脑上会导致四国和CPU过热
OpenHaltRestart.kext - 修复关机重启不断电的问题
PlatformUUID.kext - 设置平台的UUID,使你的电脑从启动开始就拥有一个唯一的UUID,这个UUID被preferences文件使用,对于追求完美的人来说,一个干净的安装包括从第一次启动就拥有一个UUID,我的体验是解决了烦人的uuid error
---------------------------------------------------------------
呵呵,换了i7 920,体质不错,搞了几天,终于可以安稳的用了,回到mac下,借着SL发布的东风,好好搞一下教程.
居然可以把920降到0.928v过ORTHOS