Hackintosh

OSx86是把苹果公司出品的macOS操作系统在x86架构的非苹果电脑上运行的骇客协作计划。此计划的构思始于2005年6月的苹果全球开发者大会（WWDC 2005），当时苹果宣布他们将把其个人电脑从PowerPC架构转向英特尔架构。
OSx86名字源于macOS系统的原名“OS X”与英特尔处理器架构名“x86”。此计划有一些广为人知的名字，比如Hackintosh或Hackint0sh（黑客“hack”与现苹果电脑机型名“Macintosh”的混成词）。在中国大陆和台湾还有很多人形象的称其为“黑苹果”。
苹果公司的最终用户许可协议（EULA）不允许将macOS安装在一台没有苹果商标的硬体上。一些公司试图以此计划牟利，如Psystar和PearC。苹果使用数字千年版权法，赢得对Psystar等公司的诉讼。

**历史**

**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）。这些电脑上使用了统一可延伸韧体介面（UEFI），而非传统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模拟新指令集的内核，不过对性能有一定的影响。

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

**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™ 和 iAtkosdate=20120217223929 。自从10.6.2的Nawcom后，Qoopz和Andy Vandijck为不支持的CPU开发传统内核（Legacy Kernel）。

**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）发布。

**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发布。

**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破解版本。

**OS X 10.10 "Yosemite"及之后版本**
运行OS X Yosemite的 Hackintosh自从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 成为主流引导器。2019 年，OpenCore 引导开始成为主流。在 macOS Big Sur 中，苹果更新了 macOS 的引导方式，导致现有的引导器均无法引导此版本的 macOS。目前，OpenCore 和 Clover 已支持到 macOS Ventura。

**破解方式**

**内核破解**
当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的破解内核。

**引导程序与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 修改版本 。这种方法允许用户使用从零售店里买来的 Mac OS X Leopard 光盘，将 Mac OS X Leopard 直接安装在电脑上，还能直接下载并安装更新，而无需使用 JaS 与 Kalyway 等破解版本。Boot-132 启动器会在系统上加载一个用于启动 Mac OS X 的基本环境，引导会将一些必要的文件（如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。由于 Clover 的流行，Chameleon 的使用人数越来越少，目前已停止更新。

**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加载并启动系统。

**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电脑。

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

**硬件支持**

**CPU**
intel的CPU大多可以安装黑苹果，AMD可以通过AMD Vanilla的方法进行安装（仅需将内核补丁合并OpenCore的config.plist即可）。

**显卡**

**AMD**
由于Mac使用的显卡大多为 AMD 显卡，所以很多 AMD 显卡在macOS都是免驱或可以仿冒的，注意，APU的核心显卡是无法驱动的。

**Nvidia**
Nvidia 的显卡，除部分Kepler架构的显卡免驱(苹果曾经使用过，最高可到BigSur版本，但代号GK106及GK208会于10.12.6以上花屏)，其它型号需安装 WebDriver 驱动(但只限于700系列至1000系列，其它如1600，2000，3000系列等，皆不支援任何一个版本的苹果系统)，且 Nvidia 不再提供驱动，因此大部份 Nvidia 显卡最高只能安装到 macOS High Sierra版本。

**笔记本电脑**
对于笔记本电脑来说，除了某些支持 SLI 技术的笔记本外，大多数只能驱动核心显卡（集成显卡）而无法驱动独立显卡，因此在笔记本上面安装后显示性能会较低。

**安装方法**
目前，黑苹果的安装技术已经成熟许多，包括中国在内的许多国家都有很多关于黑苹果的论坛，如中国大陆的远景论坛等网站，因此安装起来相对容易很多。目前使用比较多的是 OpenCore 引导器来引导并安装 macOS 系统（因为大部分 kexts 驱动的作者已经停止了对 Clover 引导的兼容性测试），只需要配置好合适的配置文件（config.plist）并放好合适的 kexts 驱动文件就可以安装黑苹果，部分情况下需要更换 macOS 所支持的无线网卡，也可以使用 USB 无线网卡（不建议）。声卡可以使用仿冒声卡驱动（AppleALC）或者万能声卡驱动（VoodooHDA）。
目前共有clover与opencore两种引导方式，opencore相对较新，在配置配置文件时也较复杂，但opencore因其受到较多kexts作者的兼容和本身的易用性而得到相当数目使用者的追捧，关于两者不同，在条目Opencore中有表格体现。

**法律问题**
苹果没有将macOS授权给其他x86电脑使用。从宣布迁移到英特尔平台开始，苹果就采取了一些技术手段（被误认为是可信平台模块，事实上是苹果专门开发的System Management ControllerSMC），阻止非苹果电脑运行macOS。。
苹果公司的最终用户许可协议（EULA）并不允许将macOS安装在一台没有苹果商标的硬体上。2008年7月3日，苹果向Psystar公司提起诉讼，宣称Psystar违反了数位千年版权法（DMCA），避开苹果保护macOS的防复制技术。具体来说，苹果指控Psystar通过“避开、绕过、移除、解扰、解密、停用、破坏苹果保护机制”等途径，获取未经授权的代码等。
2009年11月13日，法院批准苹果的简要判决。2012年苹果公司最终赢得了对Psystar的诉讼。
2008年12月1日，连线网站的Gadget Lab板块上发布了一则在MSI Wind笔记本电脑上安装macOS的视频教程，但随后被苹果投诉，网站将视频删除。尽管文字说明仍存在，但放上了免责声明。

**是否终结**
2020年11月11日，苹果公司发布M1芯片，M1是采用5纳米制程的SoC芯片，其架构为ARM。2020年11月至2021年11月，苹果陆续发布了搭载M1(M1 Pro)芯片的Mac Mini、MacBook、iMac等产品发布。这是否会终结基于x86的黑苹果，还有待观察。
M1芯片发表后，苹果的笔记本电脑、台式机、迷你机等陆续在新机种舍x86改搭载M1芯片，但Mac Pro CPU的选择尚未明朗。于2019年发布的Mac Pro搭载了Intel Xeon W 处理器，根据相关媒体的猜测2022年即将发布最新款的Mac Pro将会使用英特尔至强W-3300系列（IceLake-SP）处理器。M1 CPU效能未必足以支援高端使用场景，因此新系统在短时间内还需支援x86架构，推断无法在未经转译下不能使用此技术尚有一段时间。尚且就算苹果完全转换为ARM架构，以虚拟机或是转译等方式继续进行亦未尝不可。
同时Opencore已经可以仿冒CPU，但不知道对于apple更换至自主研发的Apple M1导致的问题是否会有帮助。

**参见**
苹果的英特尔平台迁移
*Macintosh clone

**参考**

**外部连结**
 OSx86 计划主页date=20050923151807 - InsanelyMac 论坛date=20100803215425 - tonymacx86 网站date=20170313172240 - AppleLife.ru 网站date=20200306160334 - macOS86.it 网站date=20200715202242 - 远景论坛date=20110713055644 - AMD Vanilla网站 date=20200526073556