黑苹果(Hackintosh)是什么?

1,076次阅读
没有评论

共计 7405 个字符,预计需要花费 19 分钟才能阅读完成。

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 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)发布。
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 首个公开测试版发布,开发者不断更新系统引导器。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 系统。[37]新方法使用了苹果的 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 电脑使用。从宣布迁移到英特尔平台开始,苹果就采取了一些技术手段(被误认为是可信平台模块,事实上是苹果专门开发的系统管理控制器 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 的视频教程,但随后被苹果投诉,网站将视频删除。尽管文字说明仍存在,但放上了免责声明。

是否终结

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 导致的问题是否会有帮助。

正文完
 0
轩源
版权声明:本站原创文章,由 轩源 于2024-01-18发表,共计7405字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
支持作者

☝️用微信请我喝杯咖啡☕️

😛如果文章对您有用,请支持作者😛

支持作者

☝️用支付宝请我喝杯奶茶🧋

评论(没有评论)