Інколи виникає потреба попрацювати в macOS: скомпілювати застосунок у Xcode, подивитися верстку в Safari чи просто «помацати» систему, а макбука під руками немає. У такому разі macOS можна запустити як віртуальну систему просто у своєму Linux.
Нижче покажу два способи: простий, через Quickemu, і ручний, через QEMU та проєкт OSX-KVM. Обидва звантажують систему напряму із серверів Apple, тож жодних сумнівних образів з інтернету не знадобиться.
Спершу чесно про ліцензію
Ліцензійна угода Apple дозволяє запускати macOS лише на комп'ютерах Apple, зокрема й у віртуальних машинах. Тож віртуалка з macOS на звичайному ПК формально цю угоду порушує. Для навчання, експериментів чи перевірки сайту в Safari люди роблять так роками, але вирішувати тобі, і відповідальність теж на тобі. Для щоденної роботи чи комерційної розробки чесніше й надійніше купити Mac.
Ніколи не звантажуй «готові образи macOS» з випадкових сайтів: у них легко підсунути що завгодно. Обидва способи нижче беруть офіційний образ відновлення прямо з серверів Apple.
Що потрібно
- Комп'ютер на Intel або AMD з увімкненою віртуалізацією (VT-x або AMD-V) у налаштуваннях UEFI. Для новіших версій macOS процесор має підтримувати AVX2 – його мають майже всі процесори останнього десятиліття.
- Щонайменше 8 ГБ оперативної пам'яті, з яких віртуалці варто віддати 4 ГБ або більше.
- Близько 100 ГБ вільного місця. Віртуальний диск заповнюється поступово, тож одразу все місце він не займе.
- Linux із KVM – підійде будь-який сучасний дистрибутив, приклади нижче для Ubuntu та Linux Mint.
І ще один нюанс: Apple повністю перейшла на власні процесори, тож нові версії macOS для Intel скоро перестануть виходити. Віртуалки на звичайному ПК залишаться на останній версії, яка ще підтримує Intel. Для перевірки сайту чи вивчення системи цього більш ніж достатньо.
Спосіб 1. Quickemu – найпростіше
Quickemu – це обгортка над QEMU, яка сама звантажує систему й підбирає налаштування віртуальної машини. Вона вміє не лише macOS, а й Windows та сотні дистрибутивів Linux.
Встановлення в Ubuntu та Linux Mint:
sudo apt install quickemu
В Arch Linux та Manjaro – з AUR:
yay -S quickemu
Далі дві команди. Перша звантажує образ відновлення macOS і створює конфігурацію віртуальної машини, друга її запускає:
quickget macos sonoma
quickemu --vm macos-sonoma.conf
Замість sonoma можна вказати іншу версію macOS: ventura, sequoia тощо. Повний список є в документації Quickemu. Відкриється вікно віртуальної машини з меню завантажувача OpenCore. Обирай macOS Base System і переходь до розділу «Встановлення macOS».
Спосіб 2. QEMU і OSX-KVM – вручну
Якщо хочеться більше контролю, можна все зробити вручну за допомогою проєкту OSX-KVM. Саме так я колись ставив macOS уперше. Усе робиться в терміналі, але це зовсім не важко.
Встановлюємо потрібні пакети (для Ubuntu та Linux Mint; в інших дистрибутивах назви можуть трохи відрізнятися):
sudo apt install qemu-system uml-utilities virt-manager git wget libguestfs-tools p7zip-full make dmg2img
Додаємо свого користувача до потрібних груп (після цього перезайди в систему):
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
Запускаємо скрипт, який звантажує macOS із серверів Apple:
./fetch-macOS-v2.py
Коли з'явиться список версій, введи номер потрібної й зачекай, поки завантажиться образ. Потім конвертуй його у формат IMG:
dmg2img -i BaseSystem.dmg BaseSystem.img
Створюємо віртуальний диск. Раджу не менше 100 ГБ:
qemu-img create -f qcow2 mac_hdd_ng.img 120G
Відкрий текстовим редактором файл OpenCore-Boot.sh і знайди рядок
ALLOCATED_RAM="4096" # MiB
Тут можна виділити віртуалці більше оперативної пам'яті, наприклад 8192. Тепер запускаємо скрипт:
./OpenCore-Boot.sh
Відкриється вікно QEMU, в якому стрілками обери перший пункт (macOS Base System) і натисни Enter:

У мене, до речі, QEMU працював відчутно плавніше, ніж VirtualBox, яким я пробував користуватися раніше. Тож якщо натрапиш в інтернеті на інструкції з VirtualBox, знай: macOS там гальмує і потребує купи «магічних» команд, а образ доводиться шукати на сторонніх сайтах.
Встановлення macOS
Далі все однаково для обох способів. Не лякайся, якщо побачиш отаку «матрицю» – все ок, просто почекай кілька секунд:

Спершу потрібно підготувати віртуальний диск: програма встановлення не просто стирає його, а одразу робить розмітку для macOS. Обирай пункт «Дискова утиліта» і тисни «Продовжити»:

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

Задай назву диска, наприклад «MacOS», формат залиш APFS і ще раз натисни «Стерти»:

Коли все готово, закрий дискову утиліту і в початковому меню обери «Переінсталювати macOS»:

Підтверди свої дії:

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

Обери щойно відформатований диск і натисни «Продовжити»:

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

Після перезавантаження в меню OpenCore обирай пункт «macOS Installer», доки він там є, а коли зникне – свій диск:

Залишилося початкове налаштування. Обери свою країну:

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

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

Далі – попередження щодо використання особистих даних:

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

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

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

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

Увімкни (або не вмикай) служби геолокації:

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

Що далі
Тепер у тебе є справжня macOS просто у вікні Linux: можна перевірити сайт у Safari, зібрати застосунок у Xcode чи просто подивитися, як живуть «яблучники» 😉 Для максимальної плавності давай віртуалці більше пам'яті й ядер, а коли закінчиш роботу – вимикай її через меню Apple, як звичайний Mac.
А якщо тобі потрібна не macOS, а Windows, – її краще поставити не у віртуалку, а поруч: читай, як зробити встановлення Windows поруч із Linux. Інші матеріали про віртуальні машини зібрані за позначкою Віртуалізація.
Вдалося запустити macOS? Пиши в коментарях, на чому працює твоя віртуалка 🙂


Прокоментувати
На сайті відображається лише твоє ім'я та коментар. Електронна пошта зберігається виключно для зв'язку з тобою за потреби та в жодному разі не передається стороннім особам.