Intel NUC: triple boot (Windows, Linux, MacOS)
Сразу хочу предупредить, что это не всеобъемлющая статья, а скорее подготовка к её написанию и желание оставить себе некоторые полезные подсказки.
Первое, с чего хотелось бы начать - это с железа. В наличии у меня два поколения NUC: NUC7i5BEH и NUC8i5BEH. Оба поколение пригодны для описываемых действий, но полный эксперимент лично у меня состоялся на восьмом поколении.
Версия BIOS (важно): 071.
В качестве хранилища на данный момент у меня установлены M.2 SSD Intel 660 на 512Gb и свеженький Seagate Barracuda Pro 1Tb (ST1000LM49). Оперативной памяти катастрофически мало, всего 8Гб, но в ближайшее время буду заказывать хотя бы 32Гб. Необходимость большого количества ОЗУ обусловлена применением виртуализации. А для неё много ОЗУ не бывает.
Для эксперимента были взяты самые свежие на сегодняшний день версии ОС: Windows 10 (1903); Ubuntu 19.04; MacOS X Mojave (10.14.5).
Все ОС устанавливаются на самый быстрый диск в системе - M.2.
MacOS устанавливается первой. Под неё я отдал 96 Гб места, при этом оставшееся место было размечено дисковой утилитой как неиспользуемое (это относительно важно). Крайне полезным оказался репозиторий товарища dongyubin (https://github.com/dongyubin/nuc8i5beh). За что ему огромное человеческое спасибо. Указанные там версии Clover позволяют штатно проводить процесс установки и работать с MacOS на NUC. Собственно никаких приключений с установкой MacOS не было (ну кроме тех пары дней, пока я не наткнулся на указанный репозиторий), не забываем только отключить Secure Boot и VT-d (на время установки). Сразу Clover я не стал интегрировать на жёсткий диск и в EFI, т.к. не понятно как себя поведёт Windows и Ubuntu при установке.
Далее идёт черёд Windows. Ставится также штатным способом. У меня ушло 128Гб. В процессе установки понадобилось прибить, созданный Mac OS, безымянный раздел и там уже разместить Windows.
Следующей пошла Ubuntu. Всё также пошло штатно. На SSD сделал два раздела: /boot на 512Мб и / на 64Гб. /tmp в дальнейшем должен уехать в ОЗУ, /var и прочий /home - на HDD. Grub при установке сразу подхватил Windows, MacOS не нашёл, ну и ладно. Всё равно главным загрузчиком будет Clover.
А вот дальше пришлось немного поприключаться с установкой Clover в качестве загрузчика по-умолчанию. Сам по себе бутлоадер был установлен штатным способом (чего можно избежать и просто подмонтировать EFI и скопировать Clover с флешки в EFI, главное не забыть переложить BOOT64.efi из папки Boot в папку Clover, если они лежат раздельно).
Но, к сожалению, BIOS упорно продолжает грузить ubuntu, а не Clover. При это ни Windows, ни Clover не доступны в качестве опций загрузки в BIOS. Единственный способ загрузиться - это EFI Shell. Для этого грузимся в EFI Shell и вводим:
> fs0:\EFI\CLOVER\CLOVER64.efi
Стартует Clover, видит и Windows и Ubuntu, можно загрузиться в любую ОС.
А для того, чтобы Clover работал по-умолчанию нужно сделать следующее:
;EFI Shell
> bcfg boot dump
; нужно посмотреть последний номер для того, чтобы добавить запись в конец списка
> bcfg boot addp 5 fs0:\EFI\CLOVER\CLOVER64.efi "Clover"
; и переместить добавленную запись на нулевую позицию
> bcfg boot mv 5 0
После указанных манипуляций по-умолчанию загружается Clover и на системе появляется Triple Boot.
Осталось только разметить оставшееся место так, чтобы все ОС могли с ним работать. Тут вариантов не так много: либо использовать exFAT, который так или иначе доступен для всех установленных ОС; либо NTFS, но тут есть проблема с тем, что из коробки MacOS не умеет работать с NTFS.
В принципе, ничего плохого в использовании exFAT нет. Но, как говорится, случаи бывают разные (как минимум - желание получить журналирование), поэтому я всё-таки остановился на NTFS. А для того, чтобы получить доступ к разделам с MacOS приобрел NTFS драйвер (Microsoft NTFS for Mac by Paragon Software - 990 рублей).
Замеченные проблемы
Поразительно (для меня), но особых проблем я не заметил. Однако, после обновления с MacOS X Mojave на MacOS X Catalina у меня перестал работать вывод на монитор через USB-C/DisplayPort. При этом вывод через HDMI работает в режиме HDR (монитор Philips 328P).
Какое-то время были проблемы с тем, что монитор периодически отваливался в чёрный экран и, как будто, переподключался. Долго искал проблему, поставил ИБП, заменил несколько проводов... Но проблема, похоже, что ушла после замены звуковой карты. Была Creative SoundBlaster Play! (самая первая версия), теперь - Behringer UCA 222 и проблемы не наблюдаю.
Обновления
Обновился до MacOS X Big Sur 11.4. Для этого сменил Clover на OpenCore, который взял у appleserial. Процесс обновления достаточно прост. Открываем раздел с UEFI, копируем туда каталог OC (получился рядом с Clover), перезагружаемся в консоль UEFI, меняем загрузку по-умолчанию на OpenCore:
bcfg boot addp 5 fs0:\EFI\OC\Opencore.efi "OpenCore"
После этого загрузился в установленную MacOS X Catalina и обновился до MacOS Big Sur 11.4
В процессе эксплуатации были установлены обновления (без существенных трудностей):
- MacOS X Big Sur 11.4
- MacOS X Catalina 10.15.7
- MacOS X Catalina 10.15.5
- Потребовалось выключить Hyper Threading в процессе установки обновления, после установки - включил обратно
- Installation of 10.15.5 required to switch off Hyper Threading in BIOS. Turned On after installation was completed
- MacOS X Catalina 10.15.4
- MacOS X Catalina 10.15.3
- Windows 10 (1903)
- Windows 10 (2004)
- Ubuntu 19.10
- Потребовалось восстановить Clover в UEFI
- Ubuntu 20.04
- Потребовалось восстановить Clover в UEFI