1. Конвертация в ISO образ
Для начала нам понадобится образ MacOS Mojave.
Скачать официальный получиться только на Mac'е
Переходим по ссылке: support.apple.com/macos/mojave
Вас перебросит в iTunes, соглашаемся с лицензионным соглашением, убираем все галочки про обновление, и выбираем скачать образ.
После того, как скачивание завершилось, нужно конвертировать скачанный образ в ISO, для этого скачаем репозиторий:
git clone https://github.com/kholia/OSX-KVM.git
И выполним скрипт:
./mojave/create_iso_mojave.sh
По завершению которого, на рабочем столе появится сконвертированный ISO образ.
2. Подготовка хост машины
Для запуска MacOS Mojave необходим процессор с поддержкой инструкций sse4.1 и sse4.2
Все действия проводились на OS Ubuntu 18.04, CPU: Intel Xeon E3-1270 v6
Убедимся, что процессор поддерживает виртуализацию:
egrep -c '(vmx|svm)' /proc/cpuinfo
Если совпадений "0" — не поддерживает, если отличное от нуля, то поддерживает.
Включим форвардинг пакетов:
vim /etc/sysctl.conf
Добавим строку:
net.ipv4.ip_forward=1
Применим изменения:
sysctl -p
Устанавливаем все необходимые пакеты:
apt install -y qemu qemu-kvm libvirt0 virt-manager bridge-utils libvirt-daemon-system libvirt-clients uml-utilities libguestfs-tools
Создаем интерфейс "tap0"
ip tuntap add dev tap0 mode tap ip link set tap0 up promisc on brctl addif virbr0 tap0
Теперь на хост машине нам так же понадобится следующий репозиторий:
git clone https://github.com/kholia/OSX-KVM.git
Копируем наш ISO образ прям в корень скачанного репозитория.
Создаем диск для будущей виртуальной машины:
qemu-img create -f qcow2 mac_hdd.img 128G
3. Установка MacOS Mojave
Нас интересует скрипт "boot-macOS-Mojave.sh" в корне репозитория
Поправьте имя и если нужно, путь к ISO образу. Так как Ubuntu у нас без графической оболочки, необходимо добавить следующие опции для проброса изображения посредством VNC:
-vga std -nographic -vnc :1
Где 1 — номера экрана, 1 — соответствует порту 5901. Отсчет с нуля.
И удалить строку: "-monitor stdio"
Чтобы получилось следующее:
qemu-system-x86_64 -vga std -nographic -vnc :1 -enable-kvm -m 3072 -cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,$MY_OPTIONS\ -machine pc-q35-2.11 \ -smp 4,cores=2 \ -usb -device usb-kbd -device usb-tablet \ -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" \ -drive if=pflash,format=raw,readonly,file=OVMF_CODE.fd \ -drive if=pflash,format=raw,file=OVMF_VARS-1024x768.fd \ -smbios type=2 \ -device ich9-intel-hda -device hda-duplex \ -device ide-drive,bus=ide.2,drive=Clover \ -drive id=Clover,if=none,snapshot=on,format=qcow2,file=./'Mojave/Clover.qcow2' \ -device ide-drive,bus=ide.1,drive=MacHDD \ -drive id=MacHDD,if=none,file=./mac_hdd.img,format=qcow2 \ -device ide-drive,bus=ide.0,drive=MacDVD \ -drive id=MacDVD,if=none,snapshot=on,media=cdrom,file=./'Mojave.iso' \ -netdev tap,id=net0,ifname=tap0,script=no,downscript=no -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:AB:F8:B7
Запускаем скрипт:
./boot-macOS-Mojave.sh
Подключаемся по VNC на порт, который указали в скрипте запуска
Запускаем установку
Сразу после выбора языка установки запускаем "Disk Utility"
Смотрим на размер дисков, и находим который мы создавали для виртуальной машины
Выбираем "Erase" и задаем имя раздела
Закрываем "Disk Utility" и переходим к установке "Install MacOS"
Соглашаемся с лицензионным соглашением и выбираем раздел для установки
Дальше процесс установки расписывать нет смысла.
После установки MacOS Mojave выключим виртуальную машину и удалим со скрипта строки, подключающие наш ISO образ, как DVD привод.
Вот эти 2 строки:
-drive id=MacHDD,if=none,file=./mac_hdd.img,format=qcow2 \ -device ide-drive,bus=ide.0,drive=MacDVD \
4. Установка Clover на раздел с MacOS
Это нужно не для того, чтобы убрать лишний образ с виртуальной машины, а чтобы настроить автозапуск системы, без надобности выбора раздела загрузки.
Запускаем виртуальную машину и выбираем 3-ий пункт "Boot MacOS from MacOS"
MacOS — имя раздела, который мы задавали при подготовке раздела (Erase)
Для этого понадобятся:
1. Clover
2. Clover Configurator
Скачиваем Clover и запускаем, получаем следующую ошибку:
Нажимаем "OK" и переходим в "System Preferences" -> "Security & Privacy" и видим наш Clover, и сообщение, что в целях безопасности он был заблокирован. Нажимаем "Open Anyway"
Доходим до пункта "Installation Type" и не жмем "Install", а переходим в "Customize".
Отмечаем два верхних пункта для EFI
Жмем "Install" и вводим пароль пользователя
Установка Clover завершена.
По сути установка Clover была нужна для того, чтобы создался загрузочный раздел, а в него будем клонировать содержимое раздела "Clover.qcow2"
Скачиваем Clover Configurator и запускаем. Так же переходим в "System Preferences" -> "Security & Privacy" и разрешаем запуск.
Выбираем раздел "Mount EFI" и видим там два EFI раздела.
disk1s1 — примонтирован, раздел с MacOS, сюда будем клонировать Clover
disk0s1 — не примонтирован, раздел образа "Clover.qcow2", отсюда будем клонировать
Монтируем диск disk0s1 — "Mount Partition"
Переходим в раздел "Clover Cloner". Убедимся, что в качестве "Source" указан раздел "disk0s1", а "Target" — "disk1s1". Жмем "Clone".
После удачного клонирования, выключаем виртуальную машину, находи в скрипте запуска следующие строки:
-device ide-drive,bus=ide.2,drive=Clover \ -drive id=Clover,if=none,snapshot=on,format=qcow2,file=./'Mojave/Clover.qcow2' \
И удаляем их.
Запускаем снова виртуальную машину. Если все сделали правильно, то видим наш Clover
Загружаемся с раздела с MacOS. Снова открываем Clover Configurator. Переходим в раздел "Mount EFI" и видим, что там теперь один раздел, примонтируем его.
В левом нижнем угла находим иконку с названием "Import Configuration". В "Locations" выбираем "EFI" -> "CLOVER" -> "config.plist" и жмем "Open".
В разделе "SECTIONS" выбираем пункт "Boot" и приводим его к следующему виду.
В левом нижнем углу находим иконку с названием "Export Configuration" и жмем "Save" и перезагружаемся, при включении Clover спросит раздел с которого грузится, выбираем наш раздел, все последующие загрузки он будет автоматически грузится с него.
После этого можно оставить только следующие файлы:
- boot-macOS-Mojave.sh
- mac_hdd.img
- OVMF_CODE.fd
- OVMF_VARS-1024×768.fd
Добрый день, вопрос хоть и не по инсталяции, но близок. Досталась в наследство виртуалка с Mojave, но запускается она исключительно 1024х768. И больше в настройках mac OS нет других вариантов, а хотелось бы. Если есть идеи куда копать/смотреть буду благодарен
Добрый день!
А как к ней подключаетесь? Графическая система и QUMU или уже через VNC к ней?
Через VNC. Попробовал в Clover ставить 1920х1080, но тогда интерфейс ломается. Скинул бы скрин, но не уверен, что коменты картинки поддерживают
Clover только загрузчику разрешение задает, у меня было в дефолте. Сверь ключи QEMU, попробуй другой VNC клиент, и как вариант прям в самой системе включи удаленный рабочий стол и попробуй подключится. Но у меня VNC к QEMU работала значительно быстрее, чем системе. Даже не знаю, чем помочь в данной ситуации, но я бы копал в сторону виртуализации.
Победил, создатель виртуалки в биосе запретил разрешения больше, чем 1024х768
Круть! Не знал даже, что прям в биосе виртуалки можно разрешение прибить