Wiki source code of Установка macOS в Proxmox
Last modified by Сергей Коршунов on 2023/02/08 12:54
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | = Установка macOS в Proxmox = |
| 2 | |||
| 3 | |||
| 4 | **Содержание** | ||
| 5 | |||
| 6 | Зачем устанавливать macos на обычный компьютер? | ||
| 7 | |||
| 8 | Подготовка установочного iso образа macos | ||
| 9 | |||
| 10 | Создание виртуальной машины для MacOS | ||
| 11 | |||
| 12 | Установка MacOS на Proxmox | ||
| 13 | |||
| 14 | Видео установки macOS | ||
| 15 | |||
| 16 | Заключение | ||
| 17 | |||
| 18 | |||
| 19 | Зачем устанавливать macos на обычный компьютер? | ||
| 20 | |||
| 21 | В данном случае под обычным компьютером я имею ввиду то, что не относится к железу от Apple, на котором, и только на котором, должна работать MacOS. Как известно, существует проект [[Hackintosh>>url:https://ru.wikipedia.org/wiki/Hackintosh]], который позволяет установить macos не только на виртуальные машины, но и обычные ноутбуки и pc. Видел даже услугу под ключ, где вам на чистый ноут поставят hackintosh. Только нужно будет купить железо, которое гарантированно поддерживается. | ||
| 22 | |||
| 23 | Мне, для удовлетворения любопытства, не нужно отдельное железо, поэтому я решил поставить MacOS на виртуальную машину Proxmox. Каких-то практических целей я не преследую. Чистое любопытство, получится или нет. В пятницу сидел, дела делать не хотелось, решил поразбираться немного. В итоге у меня всё получилось, поэтому решил поделиться информацией. | ||
| 24 | |||
| 25 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-01.png~|~|alt="macos on proxmox vm" height="864" width="1489"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-01.png]] | ||
| 26 | |||
| 27 | Сразу скажу, что способов практического использования подобной системы не много, так как без графического ускорителя macos работает очень плохо. Вся анимация тормозит. Я не прорабатывал вопрос проброса видеокарты в виртуальную машину с macos. Мне он видится очень нетривиальным и без большой надобности разбираться с этим не захотелось. Но при этом нормально работает сеть, к системе можно подключаться по ssh, так что кому-то может и пригодится. | ||
| 28 | |||
| 29 | Я все операции проделывал на гипервизоре Proxmox 7.0, работающем на базе процессора Intel i5. | ||
| 30 | |||
| 31 | == Подготовка установочного iso образа macos == | ||
| 32 | |||
| 33 | Начнём с того, что подготовим 2 iso образа для установки macos: | ||
| 34 | |||
| 35 | 1. **OpenCore.iso** - качаем его из этого [[репозитория>>url:https://github.com/thenickdude/KVM-Opencore/releases/]]. Данный образ будет загрузочным. Он каким-то образом убеждает установщик самой системы, что работает на железе apple. Это его основная функция. | ||
| 36 | 1. **Catalina-installer.iso** - стандартный установщик macos. Его мы подготовим далее. | ||
| 37 | |||
| 38 | Для того, чтобы начать установку macos, нам нужно подготовить образ системы. Для этого копируем себе репозиторий - [[https:~~/~~/github.com/kholia/OSX-KVM>>url:https://github.com/kholia/OSX-KVM]]. | ||
| 39 | |||
| 40 | {{{# git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git}}} | ||
| 41 | |||
| 42 | В корне проекта есть python скрипт **fetch-macOS-v2.py**. Запускаем его и выбираем установку Catalina. | ||
| 43 | |||
| 44 | {{{# cd OSX-KVM | ||
| 45 | # ./fetch-macOS-v2.py}}} | ||
| 46 | |||
| 47 | [[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-02.png||alt="Загрузка BaseSystem.dmg" height="154" width="420"]] | ||
| 48 | |||
| 49 | Скрипт скачает базовый образ BaseSystem.dmg. Нам нужно будет его сконвертировать в iso. | ||
| 50 | |||
| 51 | {{{# qemu-img convert BaseSystem.dmg -O raw Catalina-installer.iso}}} | ||
| 52 | |||
| 53 | Оба образа - OpenCore.iso и Catalina-installer.iso копируем в репозиторий образов proxmox. | ||
| 54 | |||
| 55 | == Создание виртуальной машины для MacOS == | ||
| 56 | |||
| 57 | |||
| 58 | |||
| 59 | |||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 | Теперь идём в веб интерфейс proxmox и создаем виртуальную машину для MacOS. Я ей выделю 4 ядра и 8 гигабайт оперативной памяти. Количество ядер не должно быть 6. Я лично пробовал с 4 или 8 ядрами. Если сделать 6, ничего не получится. Динамическую память тоже обязательно выключаем. | ||
| 64 | |||
| 65 | Не буду расписывать все шаги, а просто покажу картинки настроек. Они будут предварительные. Затем завершим подготовку виртуальной машины в консоли. А пока создаём через веб интерфейс. | ||
| 66 | |||
| 67 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-03.png~|~|alt="Создание VM для macOS" height="529" width="720"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-03.png]] | ||
| 68 | |||
| 69 | Создание VM для macOS | ||
| 70 | |||
| 71 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-04.png~|~|alt="Выбор типа OS" height="531" width="721"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-04.png]] | ||
| 72 | |||
| 73 | Выбор типа OS | ||
| 74 | |||
| 75 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-05.png~|~|alt="Настройка системных параметров" height="532" width="723"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-05.png]] | ||
| 76 | |||
| 77 | Настройка системных параметров | ||
| 78 | |||
| 79 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-06.png~|~|alt="Настройка диска" height="528" width="719"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-06.png]] | ||
| 80 | |||
| 81 | Настройка диска | ||
| 82 | |||
| 83 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-07.png~|~|alt="Выбор типа процессора" height="529" width="723"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-07.png]] | ||
| 84 | |||
| 85 | Выбор типа процессора | ||
| 86 | |||
| 87 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-08.png~|~|alt="Настройка памяти" height="533" width="721"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-08.png]] | ||
| 88 | |||
| 89 | Настройка памяти | ||
| 90 | |||
| 91 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-09.png~|~|alt="Выбор модели сетевой карты" height="531" width="719"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-09.png]] | ||
| 92 | |||
| 93 | Выбор модели сетевой карты | ||
| 94 | |||
| 95 | После создания открываем список оборудования VM и добавляем туда iso образ Catalina-installer.iso. | ||
| 96 | |||
| 97 | [[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-10.png||alt="Подключение системного iso образа macos catalina" height="290" width="423"]] | ||
| 98 | |||
| 99 | После создания, виртуальную машину не запускаем. Перемещаемся в консоль гипервизора и открываем конфиг виртуальной машины в директории ///etc/pve/qemu-server//. Имя конфиг виртуальной машины будет равен её номеру. В моем случае это //135.conf//. Нам нужно привести конфиг к следующему виду. Я выделю то, что я добавил и изменил. | ||
| 100 | |||
| 101 | {{{args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc | ||
| 102 | balloon: 0 | ||
| 103 | bios: ovmf | ||
| 104 | boot: order=ide2 | ||
| 105 | cores: 4 | ||
| 106 | cpu: Penryn | ||
| 107 | efidisk0: local-500G:135/vm-135-disk-0.qcow2,size=128K | ||
| 108 | ide0: local-500G:iso/Catalina-installer.iso,cache=unsafe,size=2096528K | ||
| 109 | ide2: local-500G:iso/OpenCore-v13.iso,cache=unsafe,size=150M | ||
| 110 | machine: q35 | ||
| 111 | memory: 8196 | ||
| 112 | name: macos-test | ||
| 113 | net0: vmxnet3=26:06:41:79:8E:7A,bridge=vmbr0 | ||
| 114 | numa: 0 | ||
| 115 | ostype: other | ||
| 116 | sata0: raid1:vm-135-disk-0,cache=unsafe,discard=on,size=128G,ssd=1 | ||
| 117 | scsihw: virtio-scsi-pci | ||
| 118 | smbios1: uuid=ed285c88-e9b7-41e9-b8cc-c18467097fb1 | ||
| 119 | sockets: 1 | ||
| 120 | vga: vmware | ||
| 121 | vmgenid: 1d33ec8f-921c-41eb-9577-6b92088d2902}}} | ||
| 122 | |||
| 123 | В веб интерфейсе настройки должны выглядеть примерно вот так: | ||
| 124 | |||
| 125 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-11.png~|~|alt="Все настройки VM для macOS на Proxmox" height="416" width="935"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-11.png]] | ||
| 126 | |||
| 127 | Если у вас процессор не Intel, а AMD, параметры процессора следует использовать другие: | ||
| 128 | |||
| 129 | {{{-cpu Penryn,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+fma4,+bmi1,+bmi2,+xsave,+xsaveopt,check}}} | ||
| 130 | |||
| 131 | В консоли гипервизора делаем еще одну настройку, меняя параметры модуля ядра kvm. | ||
| 132 | |||
| 133 | {{{echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf && update-initramfs -k all -u}}} | ||
| 134 | |||
| 135 | Активируем эту настройку без перезагрузки: | ||
| 136 | |||
| 137 | {{{modprobe kvm options ignore_msrs=Y}}} | ||
| 138 | |||
| 139 | У нас всё готово к тому, чтобы начать установку MacOS на виртуальную машину Proxmox. | ||
| 140 | |||
| 141 | == Установка MacOS на Proxmox == | ||
| 142 | |||
| 143 | Запускаем виртуальную машину и переходим в консоль. Если всё сделали правильно на предыдущих шагах, должны увидеть следующую картинку. | ||
| 144 | |||
| 145 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-12.png~|~|alt="Установка MacOS на Proxmox" height="719" width="1019"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-12.png]] | ||
| 146 | |||
| 147 | Мышка в этом режиме не будет работать, так что стрелками на клавиатуре выбираем **macOS Base System** и жмём Enter. | ||
| 148 | |||
| 149 | Некоторое время будете видеть надкусанное яблоко с прогресс баром. | ||
| 150 | |||
| 151 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-13.png~|~|alt="Установка macOS Base System" height="374" width="829"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-13.png]] | ||
| 152 | |||
| 153 | Если на предыдущих этапах всё сделали правильно, то должны увидеть утилиты macOS. | ||
| 154 | |||
| 155 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-14.png~|~|alt="Disk Utility" height="460" width="836"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-14.png]] | ||
| 156 | |||
| 157 | Нам надо выбрать **Disk Utility**. Здесь уже должна работать мышка. Выберите свой основной диск и очистите его, нажав Erase. | ||
| 158 | |||
| 159 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-15.png~|~|alt="Создание основного диска для системы" height="607" width="962"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-15.png]] | ||
| 160 | |||
| 161 | После того, как закончите очистку, закрывайте утилиту и переходите в главное меню. Здесь вам нужно будет выбрать **Reinstall macOS**. | ||
| 162 | |||
| 163 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-16.png~|~|alt="Reinstall macOS" height="401" width="782"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-16.png]] | ||
| 164 | |||
| 165 | Дальше будут разные вопросы, на которые нужно дать согласие и выбрать в качестве диска для установки системы свой единственный диск. | ||
| 166 | |||
| 167 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-17.png~|~|alt="Выбор диска для установки системы" height="524" width="757"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-17.png]] | ||
| 168 | |||
| 169 | Начнёт процесс установки macOS, который в зависимости от вашего железа может длиться разное количество времени. В основном скорость будет зависеть от вашего жесткого диска. У меня минут 15-20 длился данный этап. | ||
| 170 | |||
| 171 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-18.png~|~|alt="macOS catalina progress installation on proxmox" height="525" width="1066"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-18.png]] | ||
| 172 | |||
| 173 | После завершения этого этапа VM автоматически перезагрузится и встретит вас подобным меню. | ||
| 174 | |||
| 175 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-19.png~|~|alt="macOS Installer" height="403" width="965"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-19.png]] | ||
| 176 | |||
| 177 | Нужно клавиатурой выбрать **macOS Installer** и установка продолжится. Пройдёт еще 10-15 минут, после которых система автоматически перезагрузится ещё раз. Далее вас встретит очередной загрузчик, где нужно выбрать ваш основной диск, на который установлена система. В моем случае это Main. | ||
| 178 | |||
| 179 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-20.png~|~|alt="Загрузка установленной системы" height="477" width="1034"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-20.png]] | ||
| 180 | |||
| 181 | Дальше запускается стандартная преднастройка системы. Нужно будет выбрать страну, язык, логин, пароль и т.д. От использования учётной записи с Apple ID можно отказаться, так что никакие дополнительные учетные записи для работы macOS делать не нужно будет. | ||
| 182 | |||
| 183 | [[~[~[image:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-21.png~|~|alt="Система MacOS работает в виртуальной машине Proxmox" height="864" width="1489"~]~]>>url:https://serveradmin.ru/wp-content/uploads/2021/09/macos-install-on-proxmox-21.png]] | ||
| 184 | |||
| 185 | После завершения установки системы, рекомендую сразу же сделать себе архивную копию на всякий случай, чтобы потом заново устанавливать не пришлось. | ||
| 186 | |||
| 187 | == Видео установки macOS == | ||
| 188 | |||
| 189 | Мне очень сильно помогло видео на youtube на данную тему. Оно позволило быстро въехать в тему, чтобы понять этапы, по которым надо пройти. | ||
| 190 | |||
| 191 | |||
| 192 | |||
| 193 | В видео не рассмотрен момент с получением **osk key**. Автор взял его со своего текущего mac. А что делать тем, у кого его нет? Я не сразу понял. В итоге нашёл информацию, что на последних версиях OpenCore ключ не имеет значения. Можно указать любой, что я и сделал. После этого всё получилось. | ||
| 194 | |||
| 195 | == Заключение == | ||
| 196 | |||
| 197 | Что теперь делать с установленной на виртуальную машину macOS, решать вам. Было бы интересно узнать, как вам эта система пригодилась. Поделитесь в комментариях. Я подозреваю, что подобная установка будет актуальна для разработчиков, которым нужно что-то проверять в экосистеме apple. Какое-то другое применение в голову не приходит. Я, как сисадмин, никакого полезного применения для себя не нашёл. | ||
| 198 | |||
| 199 | Проблему с тормозами графики частично можно решить, если подключаться к системе через встроенный в macos **Screen Sharing**. Но это возможно только если у вас есть под рукой нормальный Mac. В этом случае можете использовать подобное подключение. Так же с помощью этого шаринга можно подключиться по VNC, но качество графики всё равно будет очень низкое, сопоставимое с консолью proxmox. |