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