OSx86

**OSx86**は、Apple製ではないPC/AT互換機で、Appleのオペレーティングシステムである**[[macOS]]**を動作させようという、コミュニティを通じた共同作業によるハッキング・プロジェクトである。その手法はインテル製マイクロプロセッサ搭載マシンを対象にしたものが多いが、コミュニティの参加者の手によりAMDのマイクロプロセッサやVMwareで動作するもの、更にはLiveDVDで動作するものなどがその歴史の中で開発されている。最近では、OSx86を動作させるPCのこと、またはOSx86そのものをさして、“Hackintosh”（HackとMacintoshをもじった造語）とも呼ばれる。

## 概要

### 初期の試み
2005年6月のWWDC（Worldwide Developers Conference、ワールドワイド デベロッパーズ カンファレンス）で、Appleがそれまで採用していたPowerPCマイクロプロセッサを、インテル製品に切り変える計画を発表した直後からこの試みは見られた。初めの頃は、Appleが開発者向けに999ドルで配布した、*Developer Transition Kit* （デベロッパーズ トランジション キット）のDVDの一部がコピーされ、出回ったことでこの動きが広まった。 
2007年には、Mac OS X v10.4.9をベースにしたインストールDVDがリリースされている。

### 周辺ソフトウェアの進化と拡大
当初はマニア向けの試みであったOSx86プロジェクトであるが、その手法は次第に洗練されていった結果、USBメモリ一1本と実験用のマシン1台、そしてmacOSインストーラをApple公式サイトからダウンロードできる環境があれば誰でも試すことができるようになった。その背景として、OSx86向けのドライバおよびそれをパッケージ化したものが飛躍的に充実してきたことがあげられる。あるものは有志により開発され、あるものは本家Macから移植され、市場の多くのパーツが「OS X対応」になったのである。OSx86インストールの手順を詳しく解説するウェブサイト・個人ブログも増え、大手ブログメディアであるLifehackerまでもがOSx86を紹介した。 Mac Pro並の性能を持つハードウェアが格安で手に入ること、安定性の向上などから、OSx86は一部のユーザーのメインマシンにもなっている。

一方でAppleは、新製品にインテルプロセッサの採用を取りやめた。これに伴い、第11世代インテルCoreアーキテクチャ以降のプロセッサが持つ機能（グラフィックアクセラレーションなど）のmacOS用ドライバは少なくともAppleから提供されることはない。

## 各バージョンにおける手法の変遷

Mac OS X v10.4 "Tiger"

Appleが自社製コンピューターをインテルベースに切り替えることを決定した時点での現行OSであり、OSx86プロジェクトはこのバージョンのMac OSから始まった。
2006年1月10日、Appleは初のインテル製マイクロプロセッサ向け製品として、Mac OS X v10.4.4をiMacおよびMacBook Proとともにリリースした。これらの製品には、ほとんどのx86マザーボードに見られるBIOSに代えて、EFI (Extensible Firmware Interface) が採用された。

2006年2月14日、初のクラッキング方法が、*Maxxuss*というユーザ名のハッカーによりインターネットに流れた。数時間のうちに、Appleは10.4.5アップデータを配布したが、その後また2週間を待たずに*Maxxuss*はこれに対してクラッキングを可能にするパッチを配布した。2006年4月3日、Appleは 10.4.6 アップデータを配布。するとまた2週間を待たずして、アップデートされたOS Xを非Apple製PCへインストールを可能にするパッチが配布された。このパッチは、*SemjaZa*というハッカーによるもので、*JaS*によってコンパイルされた。*JaS*は同年6月に、10.4.4のカーネルを使用した非Apple製PC向けの10.4.7をリリースした。以降、コミュニティに参加する複数の参加者の手によって、このプロジェクトは進行していく。

10.4.8アップデータに至るまで、すべてのOSx86プロジェクトによるパッチは、10.4.4のカーネルを採用している。より新しいカーネルを採用した取り組みに関しては、10.4.8のOSx86ユーザは、多くの問題点に遭遇している。

Appleはハードウェアに対して、SSE3（ストリーミングSIMD拡張命令）拡張命令をより多く採用するようになり、SSE2のみをサポートするCPUを採用しているハードウェアでシステムを動かすことを困難にさせている。しかしコミュニティは、この問題も克服して行く。

2007年3月、OSx86コミュニティは、ハードディスクドライブにインストールすることなしに Mac OS X v10.4.8を起動させることができる、Live DVD（Live CDのDVD版）を開発するという特筆すべき進歩を見せた。また同月、OSx86プロジェクトを進めてきた *InsanelyMac*のウェブサイトが、イギリスのFubra Limitedに売却された。一部の人は、このウェブサイトの商業化に反対した。


Mac OS X v10.5 "Leopard"

*Uphuck*と呼ばれるハッカーが、iATKOSというコードネームでMac OS X Leopard全体を含むDVDイメージインストーラーを、インターネットを通じて配布した。このインストーラーは、Appleのライセンス同意契約に違反している。*Kalyway*と呼ばれるハッキングチームは、スタンドアローンの10.5.1 DVDイメージインストーラーを作成した。*Zephyroth*と呼ばれるハッカーは、10.5.2をAMDベースのPC用にリリースした。



Mac OS X v10.6 "Snow Leopard"

2009年にMac OS X v10.6 (Snow Leopard) がリリースされると、OSX86 ProjectでSnow Leopardへのアップデート方法が紹介された。10.6.5へのアップデートを経て、2011年1月の10.6.6へのアップデート方法も紹介された。
これまではインストーラーや、インストールパッケージに様々な改変が加えられたISOイメージをP2Pなどでダウンロードする、という形式が主だったのに対し、このバージョンより正規のDVDを用いたインストールが主流となっていった。Vanilla(改変されていない素のソフトウェア)状態のカーネルを利用するため、Appleによるソフトウェアアップデートを即座に受けられたり、より本来のMac OS Xに近い(第三者の手が加わっていない)状態で利用することが可能となった。これは、10.7以降のOS Xの提供方法の変化と相まって、現在のOSx86インストール方法の主流である。ブートローダとしてChameleonが利用された。


OS X 10.7 "Lion"

32bitハードウェアで起動できる最後のOS Xである。このバージョンのOS Xより、アップデータファイルがApp Storeを通じて販売されるようになり、OSx86のインストール方法にも変化が現れた。tonymacx86は起動に必要なファイルをパッケージ化したほか、それらの設定やOSインストールディスク作成を支援するスクリプトMultiBeast・UniBeastをリリースしたことで、セットアップが容易になった。


OS X 10.8 "Mountain Lion"

64bit CPU、64bit EFIが必須となった。

macOS 10.12 "Sierra"

SSE4.1が必須となった。

macOS 10.14 "Mojave"

Metal API未対応グラフィックドライバが排除されたため、未対応GPUで利用するには旧OSからドライバを流用する必要がある。またNVIDIAが提供するWeb Driverへの対応が見送られたため、当ドライバを必須とするMaxwellアーキテクチャ以降の同社製GPUを利用したアクセラレーションが出来なくなった。


macOS 10.15 "Catalina"

システム整合性保護が強化された影響で、旧来のブートローダではカーネルエクステンション（kext）をロードできなくなった。OpenCoreがこれにいち早く対応した。

macOS 12 "Monterey"

Intel HD Graphics 4000およびNVIDIA Keplerグラフィックドライバが排除されたため、該当GPUで利用するには旧OSからドライバを流用する必要がある。

macOS 13 "Ventura"

AVX2またはそれをエミュレートするCryptexFixup.kextが必須となった。
Intel HD Graphics 500番台およびIris Graphics 500番台以前のグラフィックドライバが排除されたため、該当GPUで利用するには旧OSからドライバを流用または600番台のIDに偽装する必要がある。

## ブートローダー
### Chameleon
レガシーBIOSが一般的だった当時にOSx86向けに開発された。

### Clover bootloader
UEFIから起動できるほか、レガシーBIOS向けにはUEFIに相当する仕組みも提供する。このブートローダーはEFIドライバやmacOS用カーネルエクステンションのロード、ACPIの動的パッチを提供し、これらによって

*Macコンピュータの持つ独自の機能(SMC等)のエミュレート
*GUIDパーティションテーブル未対応BIOSからの該当パーティション上OSの起動

などを可能とした。

ACPIパッチに関しては、macOSのみ、Windowsのみといった対象OSを限定することもできる。

### OpenCore
2019年に初版がリリースされた。新規開発により、システム整合性保護の強化が進んだBigSurにCloverよりも早く対応した。その後Cloverにもリリース5120から徐々にOpenCoreの成果物が取り込まれた。

このブートローダとHackintoshの知見を活用し、Apple純正の旧型機種で本来未対応の新型macOSを利用することを目的とした OpenCore Legacy Patcherがリリースされた。

## 問題点
Appleは、自社製品以外のインテルプロセッサ搭載PCで、macOSを動かすことは認めないと明言している(ただし、現在まで摘発等の対応はしていない模様)。また、前述の様にクラッキング済みのインストールDVDイメージがP2Pを通じて、不正に流通していることは著作権の侵害行為に当たる。また、配布されているドライバやソフトウェアは有志により制作され、その妥当性は保証されず、故意または過失によりユーザーに損害を与えるソフトウェアをインストールしてしまうリスクがある。
技術的な問題として、macOSは本来Macハードウェアに向け設計されたソフトウェアであるため、それを他のPCで起動することによるハードウェアおよびソフトウェアに対して潜在的なリスクが存在する可能性がある。

## 脚注

### 出典


## 外部リンク
* Lilu macOSへの動的なパッチを行なうためのkextファイル。
* VirtualSMC macOS純正の電源管理システム等を利用するための、上記Liluを併用するパッチシステム。
* WhateverGreen macOS純正のグラフィックドライバを利用しつつ純正未対応ハードから出力するための、上記Liluを併用するパッチシステム。
* AppleALC macOS純正のオーディオドライバを利用しつつ純正未対応ハードから出力するための、上記Liluを併用するパッチシステム。