Hackintosh
OSx86是把蘋果公司出品的macOS操作系統在x86架构的非蘋果電腦上运行的駭客协作計劃。此計劃的構思始於2005年6月的蘋果全球開發者大會(WWDC 2005),當時蘋果宣佈他們將把其個人電腦從PowerPC架構轉向英特爾架構。
OSx86名字源于macOS系统的原名“OS X”与英特尔处理器架构名“x86”。此計劃有一些廣為人知的名字,比如Hackintosh[1]或Hackint0sh[2](黑客“hack”与现苹果电脑机型名“Macintosh”的混成词)。在中國大陸和台灣還有很多人形象的稱其為“黑苹果”。
蘋果公司的最终用户许可协议(EULA)不允許將macOS安裝在一台沒有蘋果商標的硬體上。[3]一些公司試圖以此計劃牟利,如Psystar和PearC。[4]苹果使用数字千年版权法,赢得对Psystar等公司的诉讼。[5]
历史
Mac向英特尔平台迁移 |
---|
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电脑(iMac和MacBook 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"
早在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"及之后版本
自从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 Workstation、VirtualBox可以安装及运行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电脑使用。从宣布迁移到英特尔平台开始,苹果就采取了一些技术手段(被误认为是可信平台模块,事实上是苹果专门开发的系统管理控制器SMC)[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导致的问题是否会有帮助。
參見
- 蘋果的英特爾平台遷移
- Macintosh兼容机
参考
- Coles, Olin. . archive.benchmarkreviews.com. [2017-03-04]. (原始内容存档于2017-03-31) (美国英语).
- . [2017-03-04]. (原始内容存档于2017-04-30).
- Apple Inc. (PDF). Apple Inc. 2016-08-03 [2017-03-07]. (原始内容存档 (PDF)于2017-05-17).
- Keizer, Gregg. . Computerworld. [2017-03-07]. (原始内容存档于2017-03-14) (英语).
- . PCWorld. [2017-03-10]. (原始内容存档于2017-03-10) (英语).
- Inc., Apple. . www.apple.com. [2017-03-07]. (原始内容存档于2017-02-14) (美国英语).
- . AppleInsider. [2017-03-07]. (原始内容存档于2016-08-16) (美国英语).
- . 2005-08-10 [2017-03-07]. (原始内容存档于2005-10-18).
- . InsanelyMac Forum. [2017-03-10]. (原始内容存档于2019-10-19) (英语).
- Apple Computer. . Apple Computer. February 14, 2006 [2006-05-28]. (原始内容存档于2008-07-26).
- . InsanelyMac Forum. [2017-03-10]. (原始内容存档于2017-03-13) (英语).
- Apple Computer. . Apple Computer. April 3, 2006 [2006-05-28]. (原始内容存档于2008-08-08).
- Zone, Hackintosh. . Hackintosh Zone. [2017-03-10]. (原始内容存档于2016-12-14) (美国英语).
- Zone, Hackintosh. . Hackintosh Zone. [2017-03-10]. (原始内容存档于2016-11-24) (美国英语).
- . osx86.net. [2017-03-10]. (原始内容存档于2015-09-24) (美国英语).
- Zone, Hackintosh. . Hackintosh Zone. [2017-03-10] (美国英语).
- Computer, Hackintosh. . Hackintosh Computer. [2017-03-10]. (原始内容存档于2016-10-08) (美国英语).
- . tonymacx86.com. [2020-03-18]. (原始内容存档于2020-04-17) (美国英语).
- . [2020-03-18]. (原始内容存档于2020-03-05) (美国英语).
- . [2020-03-18]. (原始内容存档于2020-03-02) (美国英语).
- . InsanelyMac Forum. [2017-03-11]. (原始内容存档于2017-03-13) (英语).
- . 2005-10-30 [2017-03-11]. (原始内容存档于2006-09-06).
- . Tgwbd.org. [2009-04-28]. (原始内容存档于2009-02-13).
- . [2010-07-24]. (原始内容存档于2012-02-29).
- . Tgwbd.org. [2009-04-28]. (原始内容存档于2009-02-13).
- . Digitmemo.com. [2009-04-28]. (原始内容存档于2009-05-24).
- . netkas.org. [2017-03-11]. (原始内容存档于2017-06-06).
- . Tom's Hardware. 2009-09-08 [2017-03-11] (英语).
- . wiki.osx86project.org. [2017-03-11]. (原始内容存档于2017-03-14) (英语).
- Inc., Apple. . opensource.apple.com. [2017-03-11]. (原始内容存档于2017-03-13) (美国英语).
- . 2008-06-30 [2009-05-12]. (原始内容存档于2011-08-22).
- Staff, OSNews. . www.osnews.com. [2017-03-11]. (原始内容存档于2017-03-11).
- . [2009-05-12]. (原始内容存档于2009-03-01).
- . forge.voodooprojects.org. [2017-03-11]. (原始内容存档于2017-04-07) (英语).
- . InsanelyMac Forum. [2017-03-11]. (原始内容存档于2019-10-19) (英语).
- . clover-wiki.zetam.org. [2017-03-11]. (原始内容存档于2016-10-11).
- . InsanelyMac Forum. [2017-03-13]. (原始内容存档于2017-05-17) (英语).
- . forums.virtualbox.org. [2017-03-13]. (原始内容存档于2017-02-26) (英国英语).
- . InsanelyMac Forum. [2017-03-13]. (原始内容存档于2017-03-12) (英语).
- . communities.vmware.com. [2017-03-13]. (原始内容存档于2017-03-13) (美国英语).
- Singh, Amit. . www.osxbook.com. [2017-03-10]. (原始内容存档于2016-10-30).
- . 2009-10-16 [2017-03-10]. (原始内容存档于2009-10-16).
- Keizer, Gregg. . Computerworld. [2017-03-10]. (原始内容存档于2014-02-26) (英语).
- Order Re Cross Motions for Summary Judgement (页面存档备份,存于), Apple v. Psystar, No. C 08-03251 WHA
- . Engadget. [2017-03-10]. (原始内容存档于2017-03-13).
- buchanan, matt. . Gizmodo. [2017-03-10]. (原始内容存档于2017-03-13) (美国英语).
- . 2008-12-01 [2017-03-10]. (原始内容存档于2009-03-13).
- . 2020-11-11 [2020-11-11]. (原始内容存档于2020-11-29).
外部連結
- OSx86 計劃主页(页面存档备份,存于)
- InsanelyMac 论坛(页面存档备份,存于)
- tonymacx86 网站(页面存档备份,存于)
- AppleLife.ru 网站(页面存档备份,存于)
- macOS86.it 网站(页面存档备份,存于)
- 远景论坛(页面存档备份,存于)
- X.com/ AMD Vanilla网站