Установка macOS на Ubuntu с помощью QEMU/KVM
О чём этот гид
- Что такое QEMU/KVM и зачем использовать виртуальную машину для macOS.
- Полный шаг за шагом процесс: установка зависимостей, загрузка macOS-Simple-KVM (foxlet), создание диска, настройка, установка и базовая конфигурация macOS.
- Советы по устранению неполадок, альтернативы, чеклисты ролей и критерии приёмки.
Кому это нужно
- Разработчикам, которым нужен доступ к macOS-приложениям на Linux.
- Тестировщикам, желающим запускать macOS в контролируемой среде.
- Тем, кто изучает macOS или проверяет совместимость ПО без отдельного Mac.
Введение: зачем QEMU/KVM для macOS
QEMU — это эмулятор виртуальных машин и виртуализатор, часто используемый вместе с KVM для аппаратного ускорения на Linux. В паре они позволяют запускать гостевые ОС с хорошей производительностью. Для macOS в сообществе популярен проект macOS-Simple-KVM (foxlet), который автоматизирует многие шаги создания и запуска виртуальной машины.
Кратко:
- QEMU предоставляет эмуляцию аппаратуры и образов дисков; KVM использует возможности процессора для ускорения.
- macOS в виртуальной машине даёт безопасную среду: сбои гостя не ломают хост.
- Ограничения: графическое аппаратное ускорение и драйверы GPU часто ограничены, обновления macOS могут нарушать совместимость, и существуют юридические нюансы использования macOS вне Apple-устройств.
Important: Использование macOS на не-Apple оборудовании может нарушать лицензионное соглашение Apple. Прежде чем продолжать, проверьте правовые аспекты в вашей юрисдикции.
Что понадобится (проверка перед началом)
- Ubuntu (или совместимый дистрибутив Debian-подобный). Рекомендуется свежая LTS-версия.
- Процессор с поддержкой виртуализации (Intel VT-x / AMD-V). Проверьте в BIOS/UEFI, что виртуализация включена.
- Не менее 8 ГБ оперативной памяти; для комфортной работы 16+ ГБ.
- Место на диске: минимум 64 ГБ для виртуального диска + место для образов и скачиваемых файлов.
- Интернет для загрузки скриптов и образов.
- Терминал, базовые навыки работы с командной строкой.
Короткие проверки в терминале:
# проверить поддержку виртуализации на Intel/AMD
egrep -c "(vmx|svm)" /proc/cpuinfo
# проверить, установлены ли модули kvm
lsmod | grep kvmЕсли команды возвращают ненулевое значение, виртуализация доступна.
Шаг 1 — Установка QEMU/KVM и зависимостей
Откройте терминал и установите необходимые пакеты. В исходном руководстве использован apt с базовым набором. Рекомендуется установить также утилиты для управления виртуальными машинами (virt-manager) и libvirt для удобной администрирования, но они не обязательны для выполнения инструкции foxlet.
Установка минимального набора (как в исходном руководстве):
sudo apt-get update
sudo apt-get install qemu-system qemu-utils python3 python3-pipОпционально (для удобства управления):
sudo apt-get install libvirt-daemon-system libvirt-clients virt-managerСоветы:
- Если вы используете Ubuntu Desktop и хотите GUI для управления виртуальными машинами — установите virt-manager.
- Убедитесь, что ваш пользователь добавлен в группы libvirt/kvm, если вы установили libvirt:
sudo usermod -aG libvirt,kvm $USER
# затем перезайдите в сессиюШаг 2 — Загрузка macOS-Simple-KVM (foxlet) и образа macOS
Проект foxlet автоматизирует загрузку базового образа macOS и включает скрипты для запуска VM.
- Перейдите в папку Загрузок:
cd ~/Downloads- Скачайте репозиторий foxlet:
wget https://github.com/foxlet/macOS-Simple-KVM/archive/refs/heads/master.zip- Распакуйте архив:
unzip master.zipРезультат: папка macOS-Simple-KVM-master в ~/Downloads.
- Создайте рабочую папку для виртуальных машин и переместите туда инструменты foxlet:
mkdir -p ~/KVM
mv ~/Downloads/macOS-Simple-KVM-master/ ~/KVM/macOSТеперь рабочая папка: ~/KVM/macOS
Шаг 3 — Создание виртуального диска
Перейдите в папку с проектом и запустите скрипт подготовки. Скрипт может автоматически скачать базовый установочный образ macOS (например, Catalina) и подготовить UEFI/SMC-образы, используемые для запуска.
cd ~/KVM/macOS
./jumpstartПосле выполнения jumpstart у вас появится базовый образ macOS и набор вспомогательных файлов.
Создайте виртуальный диск qcow2 (в исходном примере 64G):
qemu-img create -f qcow2 mac_os.qcow2 64GЭтот файл mac_os.qcow2 будет файловым контейнером для установки macOS. Формат qcow2 поддерживает уменьшение исходного размера и снапшоты.
Примечания про размер:
- qcow2 — гибкий форм-фактор: реально занятое пространство будет расти по мере записи данных.
- Вы можете выбрать больший диск для проектов с насыщенным хранилищем; 64 ГБ — рекомендованная отправная точка.
Шаг 4 — Настройка basic.sh и конфигурации VM
В папке macOS находится файл basic.sh — это скрипт запуска QEMU со всеми параметрами. Чтобы VM использовала созданный диск, добавьте в конец basic.sh две строки:
-drive id=SystemDisk,if=none,file=mac_os.qcow2
-device ide-hd,bus=sata.4,drive=SystemDiskЭти строки подключают файл mac_os.qcow2 как диск с идентификатором SystemDisk к виртуальному контроллеру SATA. После редактирования basic.sh он должен включать ссылку на SystemDisk. Скрипт может содержать другие опции: количество RAM (-m), параметры CPU/-smp, конфигурацию графики, пути к EFI/OVMF и SMC-контейнерам.
Параметры, на которые стоит обратить внимание:
- -m N — объём оперативной памяти (в мегабайтах или с суффиксом G).
- -smp cores=X — количество ядер CPU, выделяемых VM.
- Опции видеокарты и QXL/virtio-gpu — могут улучшить взаимодействие, но аппаратная 3D-ускорение обычно недоступно.
Советы:
- Для разработки/компиляции 8–16 ГБ RAM и 2–4 виртуальных ядер — базовая конфигурация.
- Если у вас мощная машина — выделите больше RAM и ядер, но оставьте хосту достаточно ресурсов.
Шаг 5 — Запуск установки macOS
Запустите отредактированный скрипт:
./basic.shПри успешном старте вы увидите экран установки macOS. Если мышь не реагирует — используйте клавиши-стрелки для навигации. Чтобы отсоединить мышь и клавиатуру от VM и вернуть фокус в хост, используйте Ctrl + Alt + G в окне виртуальной машины.
На начальном этапе:
- Примите лицензионное соглашение (Agree).
- Откройте Дисковую утилиту (Disk Utility) и отформатируйте созданный mac_os.qcow2 диск в APFS с GUID Partition Map.
- Назовите диск, например, MainDisk.
После форматирования закройте Дисковую утилиту и выберите Reinstall macOS, затем укажите MainDisk как диск установки.
Установка занимает время; прогресс отображается в интерфейсе.
Шаг 6 — Первичная настройка macOS после установки
Когда установка завершится, macOS предложит пройти начальную настройку:
- Выбор региона и языка.
- Настройка письменных и голосовых языков.
- Согласие с политиками конфиденциальности.
- Пропуск передачи данных и входа в Apple ID (можно выполнить позже).
- Создание локальной учётной записи пользователя: имя, пароль и подсказка.
- Быстрая настройка (Express Setup), соглашение по аналитике и настройка Screen Time/Siri/тёмной темы.
В конце вы попадёте на рабочий стол macOS. Некоторые функции могут работать не полностью (например, ускорение GPU), но базовая среда для запуска приложений будет готова.
Запуск и остановка виртуальной машины
- Остановка/перезапуск: в терминале, где запущен basic.sh, нажмите Ctrl + C.
- Повторный запуск: снова выполните ./basic.sh в каталоге ~/KVM/macOS.
# запустить
cd ~/KVM/macOS
./basic.sh
# во время работы — остановить
# в терминале, где запущен процесс QEMU: Ctrl + CПри загрузке выбирайте опцию Boot macOS from MainDisk, чтобы загрузиться с установленного диска.
Дополнительные настройки и где читать дальше
- Папка /docs внутри macOS-Simple-KVM содержит дополнительные параметры: разрешение экрана, параметр видеокарты, USB-переадресация, сетевые настройки.
- Виртуальная машина будет использовать сетевое подключение хоста по умолчанию (обычно NAT). Если нужно пробросить порты или настроить мост, изучите сетевые опции QEMU и libvirt.
Важно: аппаратное 3D-ускорение гостя ограничено — многие графические приложения будут работать медленнее или некорректно.
Когда это не сработает (частые случаи и ограничения)
- Аппаратное GPU-ускорение: если вам нужна полноценная графическая производительность (игры, тяжёлая графика), виртуальная macOS на QEMU часто не даст нужного уровня.
- Обновления macOS: крупные обновления могут ломать конфигурации SMC/OVMF/SMBIOS и требовать обновления скриптов foxlet.
- Лицензия Apple: запуск macOS на не-Apple оборудовании может быть юридически ограничен в вашей стране.
- Аппаратная несовместимость: старое железо без аппаратной виртуализации не подойдёт.
Альтернативные подходы
- VirtualBox/VMware: проще для базовых задач, но поддержка macOS ограничена и может потребовать дополнительных патчей.
- Hackintosh (установка macOS «на металл» на PC): даёт лучшую производительность, но требует сложной настройки, патчей kext и рискует стабильностью и легальностью.
- Облачные macOS-платформы (macOS CI/аренда Mac mini в облаке): платно, но законно и даёт доступ к реальному Apple-оборудованию.
Практические эвристики и советы по конфигурации
- RAM: 8–16 ГБ для общего использования; 16+ ГБ для сборок/тестирования.
- CPU: выделяйте не более половины физических ядер хоста, чтобы сохранить отзывчивость хоста.
- Диск: qcow2 удобен для тестов; для производительности можно использовать raw-образ, но потеря гибкости.
- Снапшоты: делайте резервные копии mac_os.qcow2 перед крупными обновлениями.
Чеклист перед началом (роль-ориентированный)
Для разработчика:
- Проверить поддержку виртуализации в BIOS/UEFI.
- Выделить минимум 8 ГБ RAM и 2 ядра CPU.
- Создать snapshot mac_os.qcow2 перед установкой инструментов.
Для тестировщика:
- Настроить снэпшоты для быстрого восстановления состояния.
- Подготовить контейнеры/скрипты автоматизации тестов.
Для администратора:
- Добавить пользователя в группы libvirt/kvm (если требуется).
- Обеспечить резервное копирование папки ~/KVM.
Руководство по устранению неполадок (короткий runbook)
Проблема: VM не запускается или падает при старте.
- Проверьте вывод в терминале и лог QEMU.
- Убедитесь, что модули kvm загружены (lsmod | grep kvm).
Проблема: мышь/клавиатура не работают.
- Используйте горячую комбинацию Ctrl + Alt + G для выхода из захвата.
- Попробуйте подключить виртуальную клавиатуру/включить USB-перехват в конфиге.
Проблема: установка зависает.
- Дайте процессу больше времени; иногда эмуляция диска и установка OS долго идут.
- Проверьте, достаточно ли свободного места на диске хоста.
Проблема: после обновления macOS гостевая система не загружается.
- Восстановите из snapshot mac_os.qcow2 или пересоздайте конфигурацию SMC/OVMF из репозитория foxlet.
Критерии приёмки
Чтобы считать установку успешной, выполните следующие проверки:
- Система macOS загружается до рабочего стола без фатальных ошибок.
- Диск MainDisk виден и отформатирован в APFS.
- Можно создать локальную учётную запись и войти в систему.
- Сеть работает (броузер может открыть страницу).
- Инструменты, необходимые для вашей задачи (например Xcode Command Line Tools для сборки), устанавливаются и работают.
Безопасность и конфиденциальность
- Виртуальная машина наследует сетевые настройки хоста; изолируйте сеть VM при необходимости.
- Храните образы mac_os.qcow2 и скачанные файлы в месте с доступом только для доверенных пользователей.
- Учитывайте, что использование Apple ID в тестовой VM привязывает учётную запись к виртуальному окружению.
Короткая методология (шаблон действий)
- Подготовка хоста: обновление, проверка виртуализации, установка пакетов.
- Загрузка foxlet: скачивание и распаковка репозитория.
- Создание диска и подготовка конфигурации (редактирование basic.sh).
- Установка macOS через скрипты foxlet.
- Первичная настройка гостя и проверка работоспособности.
- Резервное копирование образа и документирование конфигурации.
Краткое резюме
- macOS можно запустить в QEMU/KVM на Ubuntu с помощью macOS-Simple-KVM (foxlet).
- Этот подход удобен для тестирования и запуска некоторых macOS-приложений в Linux, но имеет ограничения по графике и возможные юридические нюансы.
- Важно делать резервные копии, тестировать обновления и учитывать аппаратные требования.
Important: Прежде чем использовать macOS на не-Apple оборудовании, ознакомьтесь с лицензионными ограничениями и оцените риски.
Полезные ссылки и где читать дальше
- Папка /docs в репозитории macOS-Simple-KVM (foxlet) — дополнительные параметры и примеры конфигураций.
- Официальная документация QEMU и libvirt — для продвинутой настройки сети и устройств.
Сводка (ключевые выводы)
- QEMU/KVM + macOS-Simple-KVM дают рабочую macOS-VM на Ubuntu.
- Подготовьте хост (виртуализация, RAM, дисковое пространство) и используйте qcow2-диск.
- Ожидайте ограничений в GPU, возможных проблем после обновлений и обратите внимание на лицензию Apple.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone