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

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

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

历史

Mac OS X 10.4 "Tiger"

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

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"是最早被骇客破解的版本。[8]

2006年1月10日,苹果发布了Mac OS X 10.4.4与第一代基于Intel x86架构的Mac电脑(iMacMacBook Pro)。这些电脑上使用了统一可扩展固件接口(UEFI),而非传统x86主板中的老式BIOS。2006年2月14日,骇客maxxuss在互联网上发布了Mac OS X 10.4.4的最初破解版本。[9]几小时后苹果将Mac OS X的版本更新到10.4.5,[10]maxxuss在两周之内破解了它。[11]2006年4月3日苹果推出10.4.6更新后,[12]两周内又有人将其破解并能够让大多数的非苹果电脑安装,尽管其内核并没有升级到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"

Thumb
一台正在安装Mac OS X 10.5联想手提电脑.

早在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安装器。他们仍在不断改进和发布新的版本,不只是为了保持与苹果的兼容,也为了与越来越多的第三方组件兼容。

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)。

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)发布。[13]

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支持);[14]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支持的内核也随之发布。[15]Niresh的10.9破解版支持AMD及最新的Intel CPU,甚至还提供英特尔Atom的内核支持。[16]不过,iAtkos团队选择通过接受捐赠,为特定硬件制作10.9破解版本。

OS X 10.10 "Yosemite"及之后版本

Thumb
运行OS X Yosemite的 Hackintosh

自从OS X Yosemite首个公开测试版发布,开发者不断更新系统引导器。Niresh(一个独立 OSx86 开发者)发布了 Yosemite Zone,该软件能在非苹果电脑上自动安装新系统,并附带多种实用功能。Yosemite Zone 软件通过BT 协议下载系统镜像,并使用 MacPwn 部署到闪存盘进行安装。[17]使用 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。[18][19][20]

破解方式

内核破解

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

在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。[23][24][25]这意味着一个满足最低硬件需求的普通PC, 能被操作系统当作真正的Mac电脑。由于这种方式不用对内核进行修改,系统能运行地更加透明和稳定。这个创造性方法立刻在网上流传开,DigitMemo.com详细介绍了这个成就以及它的使用方法。[26]

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

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

Boot-132与Chameleon

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

Boot-132 启动器的行为类似于Linux内核:它使用一个与 mboot 兼容的启动器,在找到 .img 文件后会使用里面的kext(或mkext)文件引导系统,这就不用替换光碟里的文件了。然而,这只能运行在那些与系统兼容的机器上。近年来,随着破解内核发布,AMD 用户也能运行零售版了。[33]不过这些破解内核都需要在装有 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 的使用人数越来越少,目前已停止更新。[34]

DUET及UEFI BIOS

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

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

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系统。[37]新方法使用了苹果的Netboot和Imageboot功能,只需一个脚本,方便制作。值得注意的是,Live DVD也适用于Mac电脑。

虚拟机

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

硬件支持

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)[41],阻止非苹果电脑运行macOS。[42]

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

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

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

是否终结

2020年11月11日,苹果公司发布M1晶片,M1是采用5纳米制程SoC晶片[48],其架构为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导致的问题是否会有帮助。

参见

参考

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.