Хакинтош: разворачиваем macOS Sierra на Intel-PC подробно и понятно

в 10:35, , рубрики: apple, hackintosh, mac, системное администрирование, хакинтош

Данный мануал/гайд/etc написан для тех, кому лень собирать по кускам ту или иную информацию об установке «мака» на PC, все понятно и по полочкам.

Для начала, перед, собственно, установкой самой системы на ПК, нужно определиться, нужна ли она нам или нет, так как сама система очень специфична в плане установки и настройки, если у вас, конечно, не яблочный девайс. Нет смысла объяснять, что разворачивание системы, которая изначально не планировалась для настольных ПК — дело сложное и на это все можно убить от 2-ух до N часов, в зависимости от совместимости железа.

Теперь, разберемся в том, что же такое Хакинтош (Hackintosh): слово «хакинтош» образовалось от слияния двух слов «Macintosh» и «Hack», что по сути означает «взломанный макинтош», хотя ничего общего со «взломом» тут нет.

В данном гайде рассмотрим создание установочной флешки из-под Windows (так как это наиболее популярная система среди «начинающих хакинтошников»), установку системы на чистый диск, расширения ядра под ваше железо и, собственно, установку и настройку загрузчика (именно на этом моменте и многих и возникают проблемы)

Машина автора:

CPU: Intel Core i5 4460 3,2 GHz (Haswell)
Memory: 16 GB Crucial Ballistix Sport
Graphics: MSI GeForce GTX 760 2048MB
Motherboard: Gigabyte GA-H81-S2V (UEFI Bios)

ACHTUNG

Автор НЕ ГАРАНТИРУЕТ работоспособность системы на таком же уровне, как и у него. Система работает на разных машинах по-разному и не нужно корить автора за «кривую инструкцию»

Также хочу обратить внимание, что в этой статье работа идет с видеокартами NVidia и UEFI BIOS'ом.

Что ж, поехали.

Шаг 1. Оценка и анализ железа

Да, несмотря на то, что Хакинтош так или иначе запускается на почти любых конфигурациях, делает он это всегда по-разному. Поэтому сразу стоит проанализировать наше железо.

Процессоры

Итак, начнем с того, что на машинах на процессорах AMD система работать НЕ БУДЕТ (то предсмертное состояние агонии, в котором она будет прибывать, «работой» назвать очень сложно). Да, по сути, можно поставить кастомное ядро, перепрошить его и так далее, но смысл изобретать велосипед из палок, если так или иначе он все равно сломается. Система встает без проблем на процессоры Intel, начиная с Core i3 (мы говорим конкретно про macOS Sierra 10.12, предыдущие выпуски могут встать также и на процессорах Core 2 Duo и Pentium). В моем случае выпал камень i5 4460 (4 ядра, 4 потока, турбобуст до 3,4 ГГц).

ACHTUNG 2

Наблюдаются проблемы на процессорах сокета 2011-3, в частности на чипсете X99. Обычно проявляется из-за слишком больших наворотов материнской платы.

Видеокарты

Далее, определяемся с графикой. Если вы пользуетесь встроенной графикой Intel (в моем случае это HD4600), то скорее всего понадобится отдельный «завод» графики (хотя могут завестись нативно).

Список поддерживающихся графоядер Intel
Intel HD 3000
Intel HD 4000
Intel HD 4600 (лэптопы)
Intel HD 5000

Радеоны (AMD) заводятся, но опять же с треском. Например, новые карточки (RX-4**), а также всем известная R9 380 или R9 380x могут просто вывести загрузку в черный экран.

Список точно поддерживающихся карт AMD

Radeon HD 4000 series
Radeon HD 5000 series
Radeon HD 6000 series (Желательно 6600 и 6800)
Radeon HD 7000 series (Желательно 7700, 7800, и 7900)
Radeon R9 200 series (R9 290 не заводится)
Radeon R9 300 series (С R9 380 могут быть проблемы. Лично не проверял, но судя по отзывам на Реддите с этими карточками есть проблемы)

В этом мануале рассматривать завод графики AMD не будем, так как все это сводится к патчам фрэймбуффера и подменам Device ID в загрузчике (что для каждого индивидуально). Подробнее о картах AMD тут: тык (English).

Совсем другое дело обстоит с карточками от NVidia. Заводятся почти все, за исключением некоторых особо-одаренных. Проблемы наблюдаются на 10-ой серии, но, скорее всего, их не скоро будет. На картах GTX графика заводится с полпинка, карты выпуска GT тоже не отстают, хотя там и есть некоторые исключения.

Список рабочих карт NVidia

Geforce 7000 series
Geforce 8000 series
Geforce 9000 series
Geforce 200 series
Geforce 400 series
Geforce 500 series
Geforce 600 series
Geforce 700 series
Geforce 900 series

Более чем уверен, что вы найдете в списке свою карту.

Сетевой контроллер

Думаю, не нужно разжевывать, как можно определить свою сетевую карту…

Ньюби гайд

Открываем Диспетчер задач → вкладка «производительность» → Ethernet (Windows 10), там большими черными буквами будет сетевуха.

image

К слову, еще можно в BIOS'e посмотреть

Так или иначе, на этом подробно останавливаться не будем. Сетевую карту в любом случае придется заводить, так что просто предоставлю список поддерживаемых сетевых карт.

Сетевые карты

Intel Gigabit

5 Series – 82578LM/82578LC/82578DM/82578DC
6 and 7 Series – 82579LM/82579V
8 and 9 Series – I217LM/I217V/I218LM/I218V/I218LM2/I218V2/I218LM3

Realtek

RTL8111, 8168, 8101E, 8102E, 8131E, 8169, 8110SC, 8169SC
RTL8111/8168 B/C/D/E/F/G
RTL8101E/8102E/8102E/8103E/8103E/8103E/8401E/8105E/8402/8106E/8106EUS
RTL8105/8111E/8111F/8136/8168E/8168F

Atheros

AR8121, 8113, 8114, 8131, 8151, 8161, 8171, 8132,8151, 8152, 8162, 8172
AR816x, AR817x поддерживаются

Broadcom

BCM5722, 5752, 5754, 5754M, 5755, 5755M, 5761, 5761e, 57780, 57781, 57785,5784M, 5787, 5787M, 5906, 5906M, 57788, 5784M

Marvell

88E8035, 88E8036, 88E8038, 88E8039, 88E8056, 88E8001

Killer

E2200

Память

Ограничений нет. Система запускается на двух гигабайтах. Рекомендовано 4. Автор рекомендует 8.

С железом, собственно, разобрались. Если на этом этапе вы не передумали, идем дальше.

Шаг 2. Делаем загрузочную флешку и развертываем на нее установщик

Итак, вот мы и подошли к практике. Напомню, что делаем мы все это из-под Windows. Сразу говорю, что мы не будем использовать образы с рутрекера, которые так яро советуют люди, у которых все работает хакинтошники «до 18». Для начала нам потребуется утилита BDU (BootDiskUtiliy).

Потребуется флешка >8 ГБ. Любая.

Качаем: тык

1. Запускаем утилиту
2. Destination disk → выбираем нашу флешку
3. Format disk

Теперь ждем. Флешка отформатируется в Apple HFS и разобьется на два раздела, на один из которых будет установлен загрузчик (CLOVER), а второй останется чистым для того, чтобы туда можно было развернуть установщик.

После выполненных манипуляций получаем примерно следующую картину:

image

Далее необходимо развернуть установщик на второй раздел. Делаем мы это также через утилиту BDU. Однако, тут стоит вопрос, откуда взять образ. Варианта два: взять готовый, уже распакованный, либо же самолично достать его из Install Mac OS Sierra.app из AppStore. Так как второй способ требует достаточно много времени, да и искать сам этот .app очень долго, воспользуемся первым. Народные умельцы уже приготовили для этой утилиты готовые HFS файлы, извлекли их из .app за нас. Все, что нам нужно, так это скачать его (образ весит почти 5 гигов, так что можно просто поставить на закачку). Собственно, качаем macOS 10.12 Sierra отсюда.

Скачали.

1. Достаем из архива HFS Partition File (HFS+), файл с расширением .hfs.
2. В окне утилиты BDU «Destination disk» выбираем Part 2 нашей разбитой флешки.
3. Открываем «Restore partiton».
4. Ищем и выбираем наш *.hfs-файл. Обратите внимание, что он должен быть не больше PART 2 раздела.
5. Ждем его распаковки.
Все, установщик на флешке распакован и готов к работе.

Теперь нам потребуются некоторые файлы для вашей системы. Все необходимое я собрал в этом архиве. Позже объясню, что и для чего.

Скачать

Также потребуется еще этот кекст, его тоже скачиваем: тык. Распаковываем папку из архива в корень раздела с Clover'ом, а кекст в папку, которую мы распаковали. Все, готово. Флешка сделана. Идем дальше.

Шаг 3. Установка macOS Sierra на Intel-PC

Проверяем, что флешка вставлена в 2.0 порт. Перезагружаемся, заходим в BIOS. Напомню, что BIOS у нас — UEFI. Отключаем виртуализацию (Intel Virtualization). В приоритет загрузки (BOOT) указываем нашу флешку. Убедитесь, что она будет грузится именно в режиме UEFI. Сохраняем и применяем настройки, перезагружаемся. Попадаем в меню Clover'а.

Clover («Клевер») — загрузчик хакинтоша, а также его установщика.

Нажимаем стрелочку вниз до того момента, пока не попадем на меню Options. Нажимаем Enter. Все, что нам нужно здесь — это вот эта строка:

image

Прописываем в нее следующее:

kext-dev-mode=1 rootless=0 -v npci=0x2000 nv_disable=1

Объясню, что делает каждый из этих аргументов:

kext-dev-mode=1 — необходимый арг, без которого не запустится хак. Позволяет загружать в систему кексты (Изначально, FakeSMC.kext).
rootless=0 — отключает SIP (System Integrity Protection). Необходимый арг.
-v — «Verbose mode». Вместо красивого яблочка мы увидем «консольную» загрузку, чтобы можно было опознать ошибку, если таковая появится.
npci=0x2000 (или 0x3000, в зависимости от версии PCI-e) — по желанию. Предупреждаем остановку загрузки на этапе сканирования PCI. Можно не прописывать.
nv_disable=1 — по желанию. Чтобы избежать артефактов при загрузке и прочего мусора, отключаем графическую оболочку. Грузимся в нативном режиме графики в православном 144p разрешении. Можно не прописывать.

Применяем аргументы, нажимая Enter. Выбираем Boot Mac OS Sierra from OS X Base System. И вот, пошла родимая загрузка. Сразу разберем некоторые ошибки: still waiting for root device — не успевает подключиться IDE-контроллер.

Фикс

Переподключаем флешку в другой 2.0 порт, грузимся с такими аргументами:
kext-dev-mode=1 rootless=0 cpus=1 npci=0x2000 -v UseKernelCache=No

Missing Bluetooth controller transport — не включилась видеокарта, либо не подрубился FakeSMC.kext. Проверьте, что в папке kexts/other есть FakeSMC.kext. Синезуб тут не при чем.

Фикс

Грузимся так:

kext-dev-mode=1 rootless=0 -v npci=0x2000
Или так:
kext-dev-mode=1 rootless=0 -v -x npci=0x2000

Если такие ошибки все же остались, то пробуем грузится так:

kext-dev-mode=1 rootless=0 -v npci=0x3000 darkwake=0 nv_disable=1 cpus=1

В иных случаях помогут только гуглы, хотя эти фиксы должны решать эти проблемы.

Ждем. На некоторых моментах может подвисать. Если зависает больше чем на минуту — ребут. Должно помочь в некоторых случаях.

И вот мы, собственно, в установщике. Выбираем язык и кликаем на стрелочку. Пойдет подгрузка языкового пакета (может подвиснуть на минуту). Теперь открываем Утилиты>Дисковая утилита, нам нужно форматировать диск под macOS. Выбираем нужный диск, нажимаем «Стереть». Для удобства называем новый диск «Macintosh HD». Форматируем, закрываем дисковую утилиту. Далее выбираем диск, на который будем устанавливать систему (в нашем случае, Macintosh HD), устанавливаем.

Установка занимает от 15 до 30 минут, все зависит от скорости записи на диск. После установки система предложит нам настроить интернет подключение — пропускаем, это сделаем позже. Делаем пользователя. Готово, мы в системе. Вернее, в ее обрубке. Пока у нас еще ничего не работает. Если вы перезагрузите машину, то попасть в систему будет невозможно (ввиду отсутствия загрузчика).

Фикс

Если же комп все же перезагрузился или вырубился, то можно выбрать загрузку с флешки, затем в меню кловера выбрать «Boot macOS Sierra from Macintosh HD», не забывая при этом прописать boot arguments в меню options.

Идем дальше…

Шаг 4. Базовая настройка системы и установка кекстов

Итак, вот мы в системе. Пока она умеет мало, в интернет мы не выйдем, графика не работает, да и вообще все выглядит как-то ну очень плохо. Это нужно исправлять.

Разберемся, что такое кексты.

Kext (Kernel Extension) — расширения ядра, запускающие то или иное несовместимое с оригинальным маком оборудование (Например, откуда в аймаке мы найдем сетевую карту от Realtek или звуковую карту?). Вот они нам сейчас и понадобятся.

Для начала нам потребуется папка PostInstall, которую вы распаковали в раздел CLOVER на загрузочную флешку. Оттуда нам нужна, в первую очередь, утилита Kext Utility, которая позволяет устанавливать кексты в систему. Запускаем ее, вводим пароль от пользователя, ждем, пока увидем надпись «All done».

image

Устанавливаем кекст на сетевую карту (Папка Network, там по папкам рассортировал под каждую сетевую карту), просто перетаскиваем его в окно программы. Ждем, пока появится надпись «All done». Далее, заходим в раздел CLOVER нашей флешки, далее в kexts, далее в Other. Копируем оттуда FakeSMC.kext в любое место (Лучше в ту же PostInstall), далее тем же путем, что и кекст на сетевую карту, устанавливаем его. Также потребуется кекст на USB 3.0. Он был в архиве Legacy_13.2_EHC1.kext.zip, который вы распаковали в PostInstall. Устанавливаем его.

Готово, мы завели интернет, USB и позволили системе вообще загружаться (FakeSMC.kext имитирует чип System Management Control, который присутствует только на материнских платах Apple. Без этого кекста система просто не стартанет).

Теперь установим загрузчик. Заходим в папку PostInstall → Clover_v2.3k_r3949. Там есть *.pkg файл, открываем его.

image

Кликаем продолжить, читаем инфу о загрузчике (вру, тоже нажимайте продолжить). Далее, в левом нижнем углу нажимаем «Настроить».

Для UEFI-загрузки выставляем следующие настройки:

image

О легаси-загрузке поговорим позже, так как там все немного сложнее и придется патчить DSDT.
Нажимаем «Установить». Пойдем процесс установки загрузчика.
Готово, загрузчик установлен.

Шаг 5. Настройка загрузчика

После установки мы получим чистый, ненастроенный загрузчик Clover, который необходимо немного подконфигурировать. Открываем Clover Configurator (в будущем не советую пользоваться данной программой для точечного редактирования конфига загрузчика).

Для начала нам необходимо попасть на EFI раздел с загрузчиком. В левом меню нажимаем Mount EFI. Далее нажимаем Check partition, появится таблица всех разделов. Нужный нам раздел должен находится на том же разделе, что и Apple_HFS , он отображается как EFI EFI. Нажимаем Mount partition. В списке выбираем нужный нам диск (Например, disk0s1). Обратите внимание, что есть баг, когда не видно всех разделов. Покрутите колесиком мышки, так вы сможете листать между разделами и выбрать нужный.

Далее нажимаем Open Partition. Откроет «папка» с нужным разделом. Переходим EFI>CLOVER. Копируем plist.config в папку PostInstall, для удобства. Также на всякий случай копируем его еще куда-нибудь, так как тот, который мы только что скопировали, будем редактировать. А еще один для бэкапа. Копируем, открываем plist.config.

Видим примерно следующее:

image

ACPI — Фиксы не трогаем, дропаем (DropOEM) нашу видеокарту (DropOEM_DSM работает, когда встречаются два DSDT патча. Поэтому оставляем оригинальный метод автопатча загрузчиком, а наш, если таковой появится, отключаем).
Переходим в секцию BOOT.

image

Итак, вот тут нам следует покопаться. Аргументы выставляем сами, в зависимости от системы.

-v (verbose) — уже знакомый «текстовый» режим загрузки. Лучше не включать, а прописывать вручную при необходимости.
arch — архитектура. В моем случае x86_64
npci — уже известный нам ключ. Выставляем при необходимости. Рекомендую первую загрузку делать без него, но в Verbose mode.
darkwake — отвечает за режим сна и гибернацию. Имеет 7 режимов. Если сон не заведется изменением hibernatemode в терминале, то рекомендую методом проб и ошибок найти нужный режим дарквэйка.
cpus=1 — запуск с использованием только одного ядра. Не рекомендую выбирать.
nvda_drv=1 — активация вебдрайвера НВидии, который мы поставим чуть позже. Выбираем, если у вас nVidia.
nv_disable=1 — отключение графики невидии и запуск на нативном драйвере мака. Лучше не выбирать, но при необхожимости вручную прописывать.
kext-dev-mode=1 и rootless=0 уже объяснялись ранее.

Переходим в правую подсекцию.

Default Boot Volume — раздел, с которого по-умолчанию будет начинаться выбор диска для загрузки. По-умолчанию LastBootedVolume (последний выбранный раздел).
Legacy — Legacy Boot для старых версий Windows и Linux. Очень сильно зависит от аппаратной части и построения БИОСа, поэтому были разработаны несколько алгоритмов:
LegacyBiosDefault — для тех BIOS UEFI, где есть протокол LegacyBios.
PBRTest, PBR — варианты PBR Boot, тут просто перебором. В моем случае работает PBR.
XMPDetection=YES — важный параметр. Фиксирует количество оперативной памяти, слотов, плашек, частоту и количество каналов.
DefaultLoader — если на разделе несколько загрузчиков, выбираем дефолтный. Не должен быть пустым!
Timeout — время до автоматического бута.
Fast — параметр, пропускающий выбор раздела и сразу переход к загрузке.
-1 (Timeout -1) — отключение автобута.

Секцию CPU пропускаем, загрузчик сам подцепит нужные значения. Devices также лучше пропустить, если вам нечего «фэйкать». Disable Drivers — отключение ненужных драйверов при загрузке. GUI — настройка внешнего вида загрузчика. Думаю, пояснять тут ничего не нужно, особых параметров тут нет. Разрешение экрана, язык и тема меню. Все просто. Graphics — настройка и инжекты графики.

Параметр Inject NVidia не трогать! На запуске будут артефакты. Он предназначен для запуска старых карт линейки GT

Kernel and Kext Patches — патчи и кастомизация ядра. По-умолчанию выбран Apple RTC. Лучше не трогать. SMBIOS — самый сок, кастомизация и подделка «мака».

image

Для настройки заводской информации нажимаем на иконку волшебной палочки. Далее выбираем iMac (Если ПК) или MacBook (если ноут).

ACHTUNG 3

Можно посмотреть также среди более старых конфигов, типа MacMini, либо Mac Pro. Ваша задача подобрать наиболее схожий с вашим железом мак.

Не добавляйте ничего в Memory и Slots. Это чисто косметические параметры, которые кловер подцепляет на этапе загрузке. Неправильно выставленные параметры могут вызвать конфликты.

WARNING: Видеокарты Nvidia без правок полиси-кекста работают только на мак-моделях iMac13,1 и iMac14,2.

В AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/info.plist исправляем Config1 на none вот тут:

image

Теперь должно работать.

Готово. Больше не трогаем ничего, базовые настройки мы сделали. Сохраняем наш файл. Теперь копируем его в папку CLOVER раздела EFI, авторизируемся, заменяем. Напомню, что перед этим вы должны были сделать бэкап.

Шаг 6. Установка графического драйвера и первая перезагрузка

Вот мы почти у цели. Теперь осталось только завести видеокарту. В папке PostInstall лежит пакет WebDriver*.pkg. Открываем его, устанавливаем. Далее он предлагает нам перезагрузится. Перезагружаемся.

Теперь удостоверимся, что мы загружаемся не с флешки, а с жесткого диска в режиме UEFI. Выбираем Boot macOS Sierra from Macintosh HD. Запускаемся.

Примечание

Я рекомендую использовать ключ -v для первого запуска, чтобы если что-то пошло не так, то можно было сразу идентифицировать ошибку. Если загрузчик поломался и вы не можете попасть в систему, то загружайтесь с флешки, прописывайте в опциях нужные ключи и загружайте систему в Verbose mode.

Готово, вот мы и в системе. На картинке я примерно показал, как будет выглядеть ось после всех настроек. Обратите внимание на то, как система поняла ваш «мак», а также на частоту процессора.

image

Верным признаком работы драйвера нвидии будет ее логотип на панели задач. Я его отключил, к слову, так как он мешается, но получить доступ к панели управления невидией можно через «Системные настройки...». Интернет можем проверить через Сафари. USB 3.0 банально воткнув флешку в 3.0 порт.

Дополнительно

— Звук

Касаемо звука дело обстоит иначе. Если у вас внешняя звуковая карта, то просто скачайте драйвера для нее с сайта производителя (аналоговые устройства, типа микшерных пультов, не требуют драйверов и заводятся сразу). Для встроенной звуковой карты используйте один из этих кекстов:

VoodoHDA. Народные умельцы запилили инструкцию по его настройке. Не буду ее копипастить, а просто дам ссылку на архив.

P.S. Автор рекомендует перемещать кекст руками, однако, это все можно сделать через Kext Utility.

AppleHDA

Касаемо AppleHDA

Необходимо выполнить следующие условия, чтобы он заработал:

  1. Наличие ванильного (чистого) кекста AppleHDA.kext в системе.
  2. Наличие секции HDEF в вашем DSDT (либо фикс кловера FixHDA_8000->True)
  3. Указать layout в DSDT (либо в config.plist кловера Devices->Audio->Inject->1,2,28...etc. Выбрать из тех, которые прописаны для вашего кодека выше)
  4. Убрать ВСЕ патчи для звука (если были в вашем config.plist) из раздела KextsToPatch
  5. Убрать DummyHDA.kext (если пользовались)
  6. Если пользовались VoodooHDA.kext — удалить. Также удалить AppleHDADisabler.kext и пересобрать кеш.
  7. Для Intel HDMI 4000/4600 требуется фикс кловера UseIntelHDMI->True

Собственно, это все. После мы получаем готовую к работе macOS Sierra.

The end

Автор: Nathan_Foxy

Источник


  1. Александр:

    Сколько времени занимает загрузка вашего хакинтоша?

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js