Push-button installer of macOS on VirtualBox
macos-guest-virtualbox.sh
is a Bash script that creates a macOS virtual machine guest on VirtualBox with unmodified macOS installation files downloaded directly from Apple servers.,
domyślna instalacja wymaga tylko cierpliwego siedzenia i, mniej niż dziesięć razy, wciśnięcia klawisza enter, gdy pojawi się monit skryptu, bez interakcji z maszyną wirtualną.
testowane nabash
Izsh
na Cygwin. Działa na macOS, CentOS 7 i Windows. Powinien działać na większości nowoczesnych dystrybucji Linuksa.,
dokumentacja
dokumentacja może być przeglądana przez wykonanie polecenia./macos-guest-virtualbox.sh documentation
większość skryptu to dokumentacja, komentarze lub przydatne komunikaty o błędach, które powinny ułatwić sprawdzenie i zrozumienie skryptu.
iCloud i iMessage łączność i NVRAM
iCloud, iMessage i inne połączone usługi Apple wymagają prawidłowej nazwy urządzenia i numeru seryjnego, identyfikatora płyty i numeru seryjnego oraz innych oryginalnych (lub podobnych do oryginalnych) parametrów Apple. Można je ustawić w NVRAM poprzez edycję skryptu., Więcej informacji można znaleźć w poleceniu dokumentacja.
rozmiar pamięci
skrypt domyślnie przypisuje docelowy rozmiar pamięci wirtualnej na dysku 80 GB, który jest wypełniany do około 25 GB na hoście podczas początkowej instalacji. Po zakończeniu instalacji rozmiar pamięci może zostać zwiększony. Więcej informacji można znaleźć w poleceniu dokumentacja.,
Primary display resolution
The following primary display resolutions are supported by macOS on VirtualBox: 5120x2880
2880x1800
2560x1600
2560x1440
1920x1200
1600x1200
1680x1050
1440x900
1280x800
1024x768
640x480
. See the documentation command for further information.,
nieobsługiwane funkcje
rozwijanie i utrzymywanie funkcji VirtualBox lub macOS wykracza poza zakres tego skryptu. Niektóre funkcje mogą zachowywać się nieoczekiwanie, takie jak obsługa urządzeń USB, obsługa dźwięku, Obsługa podpowiedzi hasła rozruchu FileVault i inne funkcje.
kompatybilność procesora
goście macOS w VirtualBox są niekompatybilni z niektórymi modelami procesorów. Jeśli proces rozruchowy macOS gościa zawiesza się na „LoadKernelFromStream”, „EndRandomSeed” lub „EXITBS”, zobacz polecenie dokumentacja dotyczące profili procesora VirtualBox i ustawień CPUID., Niektóre modele procesorów wydane w 2020 i później mogą wymagać skonfigurowania gościa na „Mac OS X (64-bit)” zamiast „macOS 10.13 High Sierra (64-bit)”.
wydajność i wdrażanie
Po pomyślnym utworzeniu działającej maszyny wirtualnej macOS należy rozważyć zaimportowanie jej do bardziej wydajnego oprogramowania do wirtualizacji lub spakowanie jej do platform zarządzania konfiguracją w celu automatycznego wdrożenia. Te aplikacje do wirtualizacji i wdrażania wymagają dodatkowej konfiguracji wykraczającej poza zakres skryptu.,
QEMU z KVM jest w stanie zapewnić przejście sprzętowe maszyny wirtualnej dla niemal natywnej wydajności. QEMU obsługuje format zapisu obrazu dysku wirtualnego VMDK
, który można skonfigurować tak, aby był tworzony przez skrypt. Więcej informacji można znaleźć w poleceniu dokumentacja. QEMU i KVM wymagają dodatkowej konfiguracji, która wykracza poza zakres skryptu.
VirtualBox Native Execution Manager (NEM)
VirtualBox Native Execution Manager (NEM) jest eksperymentalną funkcją VirtualBox., VirtualBox używa NEM, gdy dostęp do VT-x i AMD-V jest blokowany przez oprogramowanie do wirtualizacji lub funkcje ochrony wykonania, takie jak Hyper-V, Windows Sandbox, WSL2, Ochrona integralności pamięci, Device Guard i inne oprogramowanie. macOS i instalator macOS mają problemy z uszkodzeniem pamięci podczas wirtualizacji NEM. Skrypt sprawdza NEM i kończy z Komunikatem o błędzie, jeśli zostanie wykryty.
bootloadery
gość macOS VirtualBox jest ładowany bez dodatkowych bootloaderów, ale jest kompatybilny z OpenCore. OpenCore wymaga dodatkowej konfiguracji, która wykracza poza zakres skryptu.,
Audio
macOS może nie obsługiwać żadnych wbudowanych kontrolerów Audio VirtualBox. Program bootloader OpenCore może być w stanie załadować otwarte lub wbudowane sterowniki audio w VirtualBox, zapewniając konfigurację dla STAC9221 (Intel HD Audio) lub SigmaTel STAC9700,83,84 (ICH AC97) jest dostępna.
skalowanie wyświetlacza
VirtualBox nie dostarcza EDID dla swojego wirtualnego wyświetlacza, a macOS nie włącza skalowania wyświetlacza (wysoki PPI) bez EDID. Bootloader OpenCore może wprowadzić EDID, który umożliwia skalowanie wyświetlacza.,
FileVault
implementacja VirtualBox EFI nie ładuje poprawnie monitu o pełne szyfrowanie dysku FileVault podczas rozruchu. Program uruchamiający OpenCore może załadować monit o hasło z parametrem ProvideConsoleGop
ustawionym natrue
. Zobacz przykładową konfigurację.plist.,
Dependencies
The following dependencies should be available through a package manager:bash
coreutils
gzip
unzip
wget
xxd
dmg2img
virtualbox
The following optional packages provide optical character recognition that reduces the required interaction with the script:tesseract-ocr
tesseract-ocr-eng
Supported versions:
- VirtualBox ≥ 6.1.,6, chociaż wersje tak niskie jak 5.2 mogą działać.
- GNU
Bash
≥ 4.3, w systemie Windows uruchamiany przez Cygwin lub WSL – patrz NEM - GNU
coreutils
≥ 8.22, GNUgzip
≥ 1.5, Info-ZIPunzip
≥ v6.0, gnuwget
≥ 1.14,xxd
≥ 1.11 -
dmg2img
≥ 1.6.5, w Cygwin pakiet nie jest dostępny przez menedżer pakietów więc skrypt pobiera go automatycznie. -
tesseract-ocr
≥ 4