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.,
een standaard installatie vereist alleen dat de gebruiker geduldig zit en, minder dan tien keer, op enter drukt wanneer daarom wordt gevraagd door het script, zonder interactie met de virtuele machine.
getest opbash
enzsh
op Cygwin. Werkt op macOS, CentOS 7 en Windows. Zou moeten werken op de meeste moderne Linux distributies.,
documentatie
documentatie kan worden bekeken door het commando ./macos-guest-virtualbox.sh documentation
het merendeel van het script bestaat uit documentatie, opmerkingen of uitvoerbare foutmeldingen, waardoor het script eenvoudig te inspecteren en te begrijpen is.
iCloud-en iMessage-connectiviteit en nvram
iCloud, iMessage en andere aangesloten Apple-services vereisen een geldige apparaatnaam en serienummer, board-ID en serienummer, en andere echte (of echte-achtige) Apple-parameters. Deze kunnen worden ingesteld in NVRAM door het script te bewerken., Zie het documentatiecommando voor meer informatie.
opslaggrootte
het script wijst standaard een opslaggrootte van een virtuele schijf van 80 GB toe, die bij de eerste installatie op de host tot ongeveer 25 GB wordt ingevuld. Nadat de installatie is voltooid, kan de opslaggrootte worden vergroot. Zie het documentatiecommando voor meer informatie.,
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.,
niet-ondersteunde functies
het ontwikkelen en onderhouden van VirtualBox-of macOS-functies valt buiten het bereik van dit script. Sommige functies kunnen zich onverwacht gedragen, zoals ondersteuning voor USB-apparaten, audio-ondersteuning, Ondersteuning Voor het opstartwachtwoord van FileVault en andere functies.
CPU-Compatibiliteit
macOS-gasten op VirtualBox zijn niet compatibel met sommige CPU-modellen. Als het opstartproces van guest macOS blijft hangen op “LoadKernelFromStream”, “EndRandomSeed”, of “EXITBS”, zie dan het documentatiecommando met betrekking tot VirtualBox CPU-profielen en CPUID-instellingen., Sommige CPU-modellen die in 2020 zijn uitgebracht en later vereisen mogelijk het configureren van de gast naar “Mac OS X (64-bit)” in plaats van “macOS 10.13 High Sierra (64-bit)”.
Performance en implementatie
na het succesvol maken van een werkende macOS virtuele machine, kunt u overwegen deze te importeren in meer performante virtualisatiesoftware, of deze te verpakken voor configuratiebeheerplatforms voor geautomatiseerde implementatie. Deze virtualisatie-en implementatietoepassingen vereisen extra configuratie die buiten het bereik van het script valt.,
QEMU met KVM is in staat om virtual machine hardware passthrough te leveren voor bijna-native prestaties. QEMU ondersteunt het VMDK
Virtual disk image storage formaat, dat kan worden geconfigureerd om te worden gemaakt door het script. Zie het documentatiecommando voor meer informatie. QEMU en KVM vereisen extra configuratie die buiten het bereik van het script valt.
VirtualBox Native Execution Manager (niet)
De VirtualBox Native Execution Manager (niet) is een experimentele VirtualBox-functie., VirtualBox gebruikt niet wanneer de toegang tot VT-x en AMD-V wordt geblokkeerd door virtualisatiesoftware of uitvoeringsbeschermingsfuncties zoals Hyper-V, Windows Sandbox, WSL2, bescherming van de geheugenintegriteit, apparaatbeveiliging en andere software. macOS en het macOS-installatieprogramma hebben problemen met geheugencorruptie onder niet-virtualisatie. Het script controleert op niet en sluit af met een foutmelding als het wordt gedetecteerd.
Bootloaders
de macOS VirtualBox gast wordt geladen zonder extra bootloaders, maar het is compatibel met OpenCore. OpenCore vereist extra configuratie die buiten de scope van het script valt.,
Audio
macOS ondersteunt mogelijk geen ingebouwde VirtualBox – audiocontrollers. De bootloader OpenCore kan open-source of ingebouwde audio drivers in VirtualBox laden, op voorwaarde dat de configuratie voor stac9221 (Intel HD Audio) of SigmaTel STAC9700,83,84 (ich AC97) beschikbaar is.
display scaling
VirtualBox levert geen EDID voor zijn virtuele display, en macOS maakt geen display scaling (hoge PPI) mogelijk zonder EDID. De bootloader OpenCore kan een EDID injecteren die display scaling mogelijk maakt.,
FileVault
De VirtualBox EFI-implementatie laadt de FileVault-wachtwoordprompt voor volledige schijfversleuteling niet correct bij het opstarten. De bootloader OpenCore kan de wachtwoordprompt laden met de parameter ProvideConsoleGop
ingesteld op true
. Zie voorbeeld configuratie.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, hoewel versies zo laag als 5.2 kunnen werken.
- GNU
Bash
≥ 4.3, op Windows-run via Cygwin of WSL – zie NEM - GNU
coreutils
≥ 8.22, GNUgzip
≥ 1.5, Info-ZIPunzip
≥ v6.0, GNUwget
≥ 1.14,xxd
≥ 1.11 -
dmg2img
≥ 1.6.5, op Cygwin het pakket is niet beschikbaar via de package manager, zodat het script downloadt het automatisch. -
tesseract-ocr
≥ 4