OSx86 项目

1. 简介

OSx86 是把苹果公司出品的 macOS 操作系统在 x86 架构的非苹果电脑上运行的黑客协作计划。此计划的构思始于 2005 年 6 月的苹果全球开发者大会(WWDC 2005),当时苹果宣布他们将把其个人电脑从 PowerPC 架构转向英特尔架构。

OSx86 名字源于 macOS 系统的原名「OS X」与英特尔处理器架构名「x86」。此计划有一些广为人知的名字,比如 Hackintosh(黑客「hack」与现苹果电脑机型名「Macintosh」的混成词)。在中国大陆还有很多人形象的称其为「黑苹果」。

苹果公司的最终用户许可协议(EULA)不允许将 macOS 安装在一台没有苹果商标的硬件上。一些公司试图以此计划牟利,如 Psystar 和 PearC。苹果使用数字千年版权法,赢得对 Psystar 等公司的诉讼。

2. 历史

2.1 Mac OS X 10.4 Tiger

2005 年 6 月 6 日,在 WWDC 2005 上,苹果公司宣布迁移至英特尔平台的计划,并向指定开发者销售 999 美元的开发者过渡工具。一些开发者尝试在非苹果电脑上运行 Mac OS X,但并没有成功。

2005 年 8 月 10 日,HardMac 网站声称一匿名黑客已经完全破解开发者版本的 Mac OS X 10.4.1 Tiger,而且该网站还收到了匿名黑客送来的两段视频,展示 Mac OS X x86 系统在一台采用 Pentium M 735(1.6GHz)处理器的 Mitac 8050D 笔记本上的运行情况。Mac OS X 10.4.1 Tiger 是最早被黑客破解的版本。

2006 年 1 月 10 日,苹果发布了 Mac OS X 10.4.4 与第一代基于 Intel x86 架构的 Mac 电脑(iMac 和 MacBook Pro)。这些电脑上使用了统一可延伸固件界面(EFI),而非传统 x86 主板中的老式 BIOS。2006 年 2 月 14 日,黑客 maxxuss 在互联网上发布了 Mac OS X 10.4.4 的最初破解版本。几小时后苹果将 Mac OS X 的版本更新到 10.4.5,maxxuss 在两周之内破解了它。2006 年 4 月 3 日苹果推出 10.4.6 更新后,两周内又有人将其破解并能够让大多数的非苹果电脑安装,尽管其内核并没有升级到 10.4.6。同年 6 月,黑客发布了使用 10.4.4 内核的 Mac OS X 10.4.7 破解版本。

直到 10.4.8 更新发行,所有 OSx86 补丁用的都是 10.4.4 版内核,而更新的系统使用 10.4.8 版内核。但是,新的框架依赖于新的内核,这导致使用 10.4.8 内核的用户遇到一些问题。同时,苹果在硬件上更多地使用 SSE3 指令集,这也让那些只支持 SSE2 的 CPU(如老版的奔腾 4)难以完全兼容。为了解决这一难题,OSx86 的成员发布了使用 SSE2 模拟新指令集的内核,不过对性能有一定的影响。

2.2 Mac OS X 10.5 Leopard

早在 Mac OS X Leopard 9A466 编译版本发布时,OSx86 社区提供一个可在非苹果电脑上运行的 10.5 版本。黑客 BrazilMac 制作出最早能在第三方硬件上安装合法的、零售版本的苹果 Mac OS X 的补丁。尽管 Boot-132 愈发流行,很多人还是利用 BrazilMac 的补丁轻而易举地制作出 Mac OSx86 的「发行版」并获得成功。五种最流行的版本依名称顺序为 JaS,Kalyway,iATKOS,iPC 和 iDeneb。然而,这些「发行版」均依赖于对内核修改。这些内核由 Lorem(9A466)、SynthetiX(9A499、9A527 和 9A559)、ToH(9A581、9B13 和 9B18)等破解。距离现在较近的是一个称为「StageXNU」(目前名为 Voodoo)的团队破解了 Darwin 9.4.0。正是由于他们的贡献,互联网上可以下载到各种的 Mac OSx86 安装器。他们仍在不断改进和发布新的版本,不只是为了保持与苹果的兼容,也为了与越来越多的第三方组件兼容。

2.3 Mac OS X 10.6 Snow Leopard

当 Mac OS X Snow Leopard 雪豹系统发布后,俄国黑客 netkas 做出一个能够启动 Mac OS X 10.6 的 Chameleon 版本,不过由于某些特殊问题,许多人需要修改 DSDT 或使用特定的 kext。与此同时,黑客 modbin 和 dmitrik 也开发出了能够在 AMD 平台上启动的雪豹内核。Qoopz 与 Pcj 发布了稳定版的雪豹 XNU 内核。有很多破解版都是基于官方零售版的,如 Universal(只支持 Intel 平台)、Hazard、Mike™ 和 iAtkos. 自从 10.6.2 的 Nawcom 后,Qoopz 和 Andy Vandijck 为不支持的 CPU 开发传统内核(Legacy Kernel)。

2.4 OS X 10.7 Lion

当苹果发布第一个开发者版本后,俄国开发者 usr-sse2 首先找到破解方法。在闪存盘中部署 OS X Lion 镜像,然后通过 XPC UEFI 引导来启动。Chameleon 经过某些源代码的改动后,修改过的 OS X Lion 的镜像也可以通过它启动。Dimtrik(Bronzovka)制作了支持 AMD CPU 的内核,几个月后带 AMD 支持的 10.7.3 破解版与 iAtkos L2(10.7.2,仅支持 Intel)发布。

2.5 OS X 10.8 Mountain Lion

首个开发者预览版释放后,一些开发者使用稍作修改的 Chameleon 引导成功启动该版本的 OS X。OS X Mountain Lion 的安装方式与 OS X Lion 基本相同,Chameleon 等引导及其他工具也随之更新。至于破解版系统,Niresh 的 10.8(只支持 Intel)率先发布,接着更新到了 10.8.2(支持 AMD 与 Intel),10.8.5(加入 UEFI 支持);iAtkos ML2 紧接着 Niresh 的 10.8 发布。

2.6 OS X 10.9 Mavericks

OS X Mavericks 的安装方式与 OS X Mountain Lion 基本相同,只是原镜像内核位置改变。许多为 10.9 设计的新内核仍在开发中,这些内核允许 AMD(K10 架构等)和较旧的 Intel CPU(如 Core Duo)运行,这些 CPU 缺乏新指令集支持(SSSE3 等)。开发者通过模拟的方法让缺少新指令集的 CPU 支持 10.9,但或多或少有一些小问题。从推土机架构开始,AMD 的 CPU 几乎包含所有新指令集,一些为 AMD 开发的、带有完整 SSE4 支持的内核也随之发布。Niresh 的 10.9 破解版支持 AMD 及最新的 Intel CPU,甚至还提供英特尔 Atom 的内核支持。不过,iAtkos 团队选择通过接受捐赠,为特定硬件制作 10.9 破解版本。

2.7 OS X 10.10 Yosemite 及之后版本

自从 OS X Yosemite 首个公开测试版发布,开发者不断更新系统引导器。Niresh(一个独立 OSx86 开发者)发布了 Yosemite Zone,该软件能在非苹果电脑上自动安装新系统,并附带多种实用功能。Yosemite Zone 软件通过 BT 协议下载系统镜像,并使用 MacPwn 部署到闪存盘进行安装。使用 InsanelyMac 的 Pandora Box 与 tonymacx86 的 UniBeast 也可以安装 OS X Yosemite。需要注意的是,与之前的系统版本不同,为了保证系统的稳定性,OS X 10.10 及之后版本,需要使用未修改的 OS X 安装程序进行,而非互联网上的破解版,并且尽可能少使用 kext(驱动)。

从 OS X El Capitan 开始,UniBeast(和 MultiBeast)将原先的 Chimera 引导(基于 Chameleon)替换成 Clover 引导。

Clover、Chameleon、UniBeast、Pandora Box 和 MacPwn 等引导与工具均已支持到 macOS High Sierra。

3. 破解方式

3.1 内核破解

当 OSx86 计划刚开始时,开发者发现一些处理器不能正常启动 Mac OS X Tiger。Rosetta 是一个二进制转换器,能让 Intel 处理器执行 PowerPC 程序(以及当时的系统内核),需要处理器支持 SSE3 指令集。为了解决这一问题,OSx86 社区的开发者发布了内核补丁,允许处理器通过 SSE2 指令集模拟 SSE3 的指令。2005 年 10 月,苹果向开发者提供 10.4.3 更新,加入了处理器 NX 位的需求。随后社区也发布了相关破解补丁,也提供了对 AMD处理器的支持。

在 Mac OS X Leopard 发布后的数小时内,OSx86 社区很快跟进了内核的修改,发布了 AMD/Intel SSE2/3 的内核修补程序,它能从原始的 mach_kernel 文件(Mac OS 核心组件之一)移除对高精度事件计时器(HPET)的要求。

OS X Mavericks 内核使用了 SSSE3 指令,开发者也发布了模拟 SSSE3 的破解内核。

3.2 引导程序与 EFI

可延伸固件界面(EFI),现名为统一可延伸固件界面(UEFI),是一个介于操作系统与平台固件的软件接口。因为这种方法并不需要获取与修改 macOS 源文件,这被认为是在非苹果电脑上安装 macOS 的最佳合法途径。

2007 年 11 月早期,俄罗斯黑客团体 Netkas 使用了 David Elliot(又称作 dfe)修改过的 Boot-132 代码,找到了一个方法 ,让修改过的 Darwin 启动器模拟 EFI 环境,从而进入 macOS。这意味着一个满足最低硬件需求的普通 PC, 能被操作系统当作真正的 Mac 电脑。由于这种方式不用对内核进行修改,系统能运行地更加透明和稳定。这个创造性方法立刻在网上流传开,DigitMemo.com 详细介绍了这个成就以及它的使用方法。

完全的 EFI 模拟对于 OSx86 社区来说是一笔极大的财富。使用这些 EFI 补丁,Hackintosh 能从未修改的内核与内核扩展中启动。这不仅允许系统进行未来的升级,同时也增强了它的稳定性。此方法还绕过了苹果公司最终用户许可协议中的某些部分,因为其协议指出修改其非开源部分的操作系统代码是禁止的。

2008 年中期,一个全新的商业产品 EFi-X 发布,他们宣称能够完全、简单地从 Mac OS X Leopard 官方安装光盘中启动安装,并且无需额外修改与补丁。但后来,EFi-X 与 Rebel EFI(同期的另一个商业产品)被证实使用了经修改的开源 Boot-132 引导器及 OSx86 社区的开源软件,而非使用真实的 EFI。

Boot-132 与 Chameleon

Boot-132 由苹果发布,是一个用于加载 XNU 内核的开源引导程序。2008 年年中,出现了一个新的 Boot-132 修改版本 。这种方法允许用户使用从零售店里买来的 Leopard 光盘,将 Mac OS X Leopard 直接安装在电脑上,还能直接从 Apple 上下载更新,而无需使用 JaS 与 Kalyway 等破解版本。Boot-132 启动器会在系统上加载一个用于启动 Leopard 的基本环境,引导会将一些必要的文件(如 Kext 文件等)放入一个本地文件夹或者转储成一个 .img 镜像文件。修改后的 Boot-132 尽管不违反数字千年版权法,但违背了 macOS 的最终用户许可协议。

Boot-132 启动器的行为类似于 Linux 内核:它使用一个与 mboot 兼容的启动器,在找到 .img 文件后会使用里面的 kext(或 mkext)文件引导系统,这就不用替换光盘里的文件了。然而,这只能运行在那些与系统兼容的机器上。近年来,随着破解内核发布,AMD 用户也能运行零售版了。不过这些破解内核都需要在装有 Boot-132 启动器的安装盘上进行烧写。

从 Mac OS X Snow Leopard 的早期开发者版本开始,OSx86 社区的成员们使用 Netkas 的 PC EFI 或者 Voodoo 团队的 Chameleon(变色龙)引导程序来启动新的系统。Chameleon 基于 David Elliot 的 Boot-132 开发,支持 ACPI、SMBIOS、显卡和以太网等注入。macOS 能否在 PC 上运行取决于其硬件是否被 macOS 官方驱动或者 OSx86 社区支持。Chameleon 有很多不同的分支版本,目前官方的最新版本为 2.2。

DUET 及 UEFI BIOS

DUET 启动器由 Tianocore 开发,它能够让不支持 EFI 的电脑进入模拟 EFI 环境。一些基于 DUET 的启动器(如 iBOOT、XPC 和 Clover),能让电脑在闪存中通过模拟 EFI 环境来启动 macOS。

自 2011 年起,大量使用 UEFI BIOS 的 x86 兼容机与主板进入了市场并逐渐流行。OSx86 社区的一些开发者通过向 UEFI BIOS 加入 Ozmosis 引导,只使用主板的 UEFI 直接引导 macOS,实现类似于 Mac 电脑的原生功能。Clover 引导器也支持直接从主板 UEFI BIOS 加载并启动系统。

3.3 Live DVD

在 Live DVD 中,您可以使用和安装 macOS。2007 年 3 月,OSx86 社区制作了 Mac OS X 10.4.8 的 Live DVD 版本,并成功引导运行。2009 年 1 月 2 日,InsanelyMac 发布了制作 Live DVD 的新方法,允许用户使用光盘或 USB 闪存盘启动完整的 Mac OS X 10.5.x 系统。新方法使用了苹果的 Netboot 和 Imageboot 功能,只需一个脚本,方便制作。值得注意的是,Live DVD 也适用于 Mac 电脑。

3.4 虚拟机

使用虚拟机软件 VMware Workstation、VirtualBox 可以安装及运行 macOS,但这种方式不受官方支持。因此使用虚拟机运行通常需要对 macOS 镜像文件或虚拟机软件进行修改(如 VMware 需要 Unlock-all 补丁解锁),而且虚拟机对 macOS 驱动支持不佳,使用模拟的显卡会无法开启硬件加速。

4. 安装方法

目前,黑苹果的安装技术已经相对成熟许多,包括中国在内的许多国家都有很多关于黑苹果的论坛,中国大陆比较大的如远景论坛等的网站。因此安装起来相对容易很多。目前使用比较多的是用 Clover 引导的 macOS 系统的安装,只需要配置合适的 config 文件以及 kext 文件就可以得到一台自己的黑苹果系统,当然很多情况下需要更换 macOS 支持的无线网卡,当然使用 USB 无线网卡也是非常方便的。声卡可以用仿冒声卡驱动或者万能声卡驱动。对于笔记本电脑,除了某些支持 sli 技术的外,目前大多数只能驱动集显而无法驱动独显,因此在笔记本上面安装性能会有些低。

5. 法律问题

苹果没有将 macOS 授权给其他 x86 电脑使用。从宣布迁移到英特尔平台开始,苹果就采取了一些技术手段(被误认为是可信平台模块,事实上是苹果专门开发的系统管理控制器 SMC),阻止非苹果电脑运行 macOS。

苹果公司的最终用户许可协议(EULA)并不允许将 macOS 安装在一台没有苹果商标的硬件上。2008 年 7 月 3 日,苹果向 Psystar 公司提起诉讼,宣称 Psystar 违反了数字千年版权法(DMCA),避开苹果保护 macOS 的防复制技术。具体来说,苹果指控 Psystar 通过「避开、绕过、移除、解扰、解密、停用、破坏苹果保护机制」等途径,获取未经授权的代码等。

2009 年 11 月 13 日,法院批准苹果的简要判决。2012 年苹果公司最终赢得了对 Psystar 的诉讼。

2008 年 12 月 1 日,连线网站的 Gadget Lab 板块上发布了一则在 MSI Wind 笔记本电脑上安装 macOS 的视频教程,但随后被苹果投诉,网站将视频删除。尽管文字说明仍存在,但放上了免责声明。


原文地址

  上一篇 下一篇  

作者:ilaoniu

牛哥,俗称哞哞。单纯的九零后理工小青年。喜欢折腾,爱玩,爱安卓,爱音乐,爱游戏,爱电影,爱旅游...