Інколи виникає потреба попрацювати в MacOS, наприклад, скомпілювати додаток в Xcode чи подивитися верстку в Safari, а макбука під руками немає. В такому випадку корисно мати MacOS як віртуальну систему.

У цій статті я розгляну два випадки встановлення MacOS на віртуалку – Virtualbox та QEMU. Наперед скажу, що в QEMU на моєму ноутбуці система працює відчутно плавніше, але раджу тобі особисто спробувати обидва варіанти – обереш собі той, який більше підійде саме для твого заліза.

Зміст:

  1. Підготовка до встановлення у Virtualbox
  2. Підготовка до встановлення у QEMU
  3. Встановлення MacOS

Підготовка до встановлення у Virtualbox

Шукаємо в інтернеті образ операційної системи MacOS, наприклад ось тут: https://techrechard.com/download-macos-monterey-iso-for-virtualbox-and-vmware.

Створюємо Образ віртуальної системи в Virtualbox, додаємо йому назву:

Задаємо зрозуміло назву для віртаульної системи

Вказуємо, скільки оперативної пам'яті та скільки ядер процесора виділити для віртуальної системи. Бажано не заходити за зелену позначку, інакше при запуску віртуальної системи почне гальмувати основна система, в якої ми "віджали" ресурси:

Призначаємо кількість ядер процесора та кількість оперативної пам'яті

Створюємо віртуальний "жорсткий диск", на який будемо встановлювати MacOS. Бажано давати не менше 100 Гб. Не переживай – незайнята пам'ять не займатиме реального місця на комп'ютері.

Створюємо віртуальний "жорсткий диск"

У підсумку тиснемо "Закінчити":

Підтверджуємо налаштування

Тепер у списку створених образів Virtualbox обираємо щойно створений, переходимо в його налаштування і у вкладці "Система" вимикаємо Floppy-дискетку:

Дискета нам не потрібна...

У вкладці "Екран" збільшуємо кількість відеопам'яті до максимуму – все одно цього дуже мало:

Відеопам'яті – побільше...

У вкладці "Пам'ять" підключаємо звантажений образ для встановлення MacOS:

Підключаємо ISO-образ...

А у вкладці "USB" змінюємо контролер на USSB 1.1:

Понижуємо версію контролера USB...

Тепер переходимо до терміналу і виконуємо по черзі в ньому всі наступні команди:

VBoxManage modifyvm "MacOS Monterey" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
VBoxManage setextradata "MacOS Monterey" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "MacOS Monterey" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "MacOS Monterey" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "MacOS Monterey" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "MacOS Monterey" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
VBoxManage setextradata "MacOS Monterey" "VBoxInternal/TM/TSCMode" "RealTSCOffset"
VBoxManage setextradata "MacOS Monterey" VBoxInternal2/EfiGraphicsResolution 1920x1080

На цьому все, образ готовий до встановлення. Можеш почитати, як підготувати те саме для QEMU, а можеш перейти до встановлення MacOS.

Підготовка до встановлення у QEMU

Якщо практично вся підготовка для встановлення у Virtualbox проходила візуально в самій програмі, то для QEMU абсолютно всі налаштування будемо проводити в терміналі. Але не лякайся – це зовсім не важко. Просто відкрий термінал (з меню або комбінацією Ctrl + Alt + T) і починай вводити команди.

Зверни увагу – інструкція написана для Ubuntu Linux та аналогічних дистрибутивів. Якщо в тебе Linux іншого типу, то деякі пакети можуть по-іншому називатися. Пам'ятай – ти все робиш на свій страх і ризик 🤠

Встановлюємо необхідні пакети:

sudo apt-get install qemu-kvm uml-utilities virt-manager git wget libguestfs-tools p7zip-full make dmg2img -y

Додаємо свого користувача до потрібних груп:

sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)

Клонуємо репозиторій:

cd ~
git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
cd OSX-KVM
git pull --rebase

Запускаємо скрипт для вибору версії MacOS:

./fetch-macOS-v2.py

Коли з'явиться список систем, обираємо потрібну і тиснемо відповідну їй цифру. Далі чекаємо, поки звантажиться образ операційної системи, після цього відразу конвертуємо звантажений образ у формат IMG:

dmg2img -i BaseSystem.dmg BaseSystem.img

Створюємо віртуальний диск аналогічно як для Virtualbox – не менше 100 Гб. Я створив також об'ємом 120 Гб:

qemu-img create -f qcow2 mac_hdd_ng.img 120G

Відкриваємо текстовим редактором файл OpenCore-Boot.sh. У ньому знаходимо рядок

ALLOCATED_RAM="4096" # MiB

Та додаємо собі скільки потрібно оперативної пам'яті. Також раджу закоментувати рядок

-global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off

Він був необхідним для попередніх версій проєкту, а зараз вже неактуальний.

Запускаємо відредагований скрипт у терміналі:

./OpenCore-Boot.sh

В тебе повинно запуститися вікно емулятора QEMU, в якому потрібно з клавіатури вибрати перший пункт (macOS Base System) та натиснути Enter:

Вікно привітання MacOS в QEMU

На цьому все, переходимо до встановлення MacOS.

Встановлення MacOS

Даний етап однаковий для обидвох випадків, тому я виніс його в окремий пункт. Не лякайся, якщо побачиш отаку "матрицю" – все ок, просто почекай кілька секунд:

Проце завантаження MacOS

Отже, з самого початку нам потрібно обрати створений нами віртуальний жорсткий диск та стерти його (насправді програма встановлення не просто стирає його, а відразу робить розмітку для наступного встановлення на нього системи). Тиснемо пункт "Дискова утиліта" та "Продовжити":

Менеджер дисків у MacOS

У лівій панелі уважно обираємо потрібний диск (дивимося по роміру) і тиснемо іконку "Стерти". Увага – саме іконку, напис неклікабельний.

Обираємо та стираємо потрібний диск

Задаємо назву диску, наприклад, "MacOS", ще раз тиснемо "Стерти":

Задай назву та ще раз підтверди свої дії

По завершенні операції закриваємо обидва вікна і, повернувшись у початкове меню, обираємо "Переінсталювати macOS [версія]":

Початок встановлення MacOS

Підтверджуємо свої дії:

Початок встановлення MacOS

Погоджуємося з ліцензією. Можеш перечитати, якщо хочеш 😂

Ліцензія MacOS

Вибираємо щойно відформатований диск і тиснемо "Продовжити":

Вибір диска для встановлення MacOS

Далі можна залишити свій комп'ютер і зайнятися іншими справами, бо процес встановлення реально довгий:

Процес встановлення MacOS

За певний час система перезавантажиться, і ти знову потрапиш у вікно завантаження. Цього разу обираємо свій диск:

Вибір цілі завантаження MacOS

Обираємо свою країну:

Вибір країни

Якщо потрібно – додаємо розкладки клавіатури та інші мовні параметри:

Мовні параметри MacOS

Окрема вкладка налаштувань присвячена людям із обмеженими можливостями, за що респект!

Параметри доступності MacOS

Попередження щодо використання особистих даних:

Параметри приватності MacOS

Тут можна перенести інформацію з іншого комп'ютера, навіть якщо він працює на Windows:

Параметри міграції MacOS

Далі система запропонує увійти в Apple ID. Цей момент я пропускав, бо, наприклад, у Virtualbox Apple ID не проходило перевірку, але можеш спробувати:

Вхід в Apple ID

Ще одна ліцензійна угода:

Ліцензійна угода MacOS

Створюємо обліковий запис користувача:

Створення облікового запису MacOS

Вмикаємо (або не вмикаємо) служби локації:

Налаштування служб локації MacOS

І все, свіжовстановлена MacOS готова до роботи:

Робоче середовище MacOS

Висновок

У статті ми розглянули основні кроки, необхідні для встановлення MacOS на Ubuntu Linux, включаючи використання віртуальних машин та інструментів, таких як VirtualBox і QEMU. Ми підкреслили переваги цього підходу, зокрема можливість використання MacOS-програм та інструментів на Ubuntu-платформі.

Якщо було цікаво, заходь іще, а також можеш поширити статтю в соцмережах за допомогою кнопочок нижче, буду вдячний 😉