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.,
en standardinstallation kräver bara att användaren sitter tålmodigt och, mindre än tio gånger, trycker på enter när man uppmanas av skriptet, utan att interagera med den virtuella maskinen.
Testad på bash
och zsh
på Cygwin. Fungerar på macOS, CentOS 7, och Windows. Bör fungera på de flesta moderna Linux distros.,
dokumentation
dokumentation kan ses genom att köra kommandot ./macos-guest-virtualbox.sh documentation
majoriteten av skriptet är antingen dokumentation, kommentarer eller angripbara felmeddelanden, vilket bör göra skriptet enkelt att inspektera och förstå.
iCloud och iMessage-anslutning och NVRAM
iCloud, iMessage och andra anslutna Apple-tjänster kräver ett giltigt enhetsnamn och serienummer, kort-ID och serienummer och andra äkta (eller äkta) Apple-parametrar. Dessa kan ställas in i NVRAM genom att redigera skriptet., Se dokumentationskommandot för ytterligare information.
lagringsstorlek
skriptet tilldelar som standard EN mål virtuell disklagringsstorlek på 80 GB, som fylls i till cirka 25 GB på värden vid den första installationen. När installationen är klar kan lagringsstorleken ökas. Se dokumentationskommandot för ytterligare information.,
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.,
funktioner som inte stöds
att utveckla och underhålla VirtualBox-eller MacOS-funktioner ligger utanför ramen för detta skript. Vissa funktioner kan uppträda oväntat, till exempel USB-enhetsstöd, ljudstöd, FileVault boot password prompt support och andra funktioner.
CPU-kompatibilitet
macOS gäster på VirtualBox är inkompatibla med vissa CPU-modeller. Om gästen macOS starta processen hänger på ”LoadKernelFromStream”, ”EndRandomSeed”, eller ”EXITBS”, se den dokumentation kommandot om VirtualBox CPU-profiler och CPUID inställningar., Vissa CPU-modeller släpptes 2020 och senare kan kräva att du konfigurerar gästen till ” Mac OS X (64-bit)” istället för ”macOS 10.13 High Sierra (64-bit)”.
prestanda och driftsättning
Efter att ha lyckats skapa en fungerande MacOS virtuell maskin, överväga att importera den till mer performant virtualiseringsprogram, eller paketera den för konfigurationshanteringsplattformar för automatisk driftsättning. Dessa virtualiserings-och distributionsapplikationer kräver ytterligare konfiguration som ligger utanför scriptets räckvidd.,
QEMU med KVM kan tillhandahålla virtuell maskinvara genomströmning för nästan infödda prestanda. QEMU stöder formatetVMDK
virtual disk image storage, som kan konfigureras för att skapas av skriptet. Se dokumentationskommandot för ytterligare information. QEMU och KVM kräver ytterligare konfiguration som ligger utanför scriptets räckvidd.
VirtualBox Native Execution Manager (NEM)
VirtualBox Native Execution Manager (NEM) är en experimentell VirtualBox-funktion., VirtualBox använder NEM då tillgång till VT-x och AMD-V är blockerad av virtualisering programvara eller execution protection funktioner såsom Hyper-V Windows Sandlåda, WSL2, minne integritet skydd Guard Enhet och andra program. MacOS och MacOS installer har problem med minneskorruption under nem virtualisering. Skriptet söker efter NEM och avslutas med ett felmeddelande om det upptäcks.
Bootloaders
macOS VirtualBox gäst laddas utan extra bootloaders, men den är kompatibel med OpenCore. OpenCore kräver ytterligare konfiguration som ligger utanför scriptets omfattning.,
ljud
macOS kanske inte stöder några inbyggda VirtualBox-ljudkontroller. Starthanteraren OpenCore kan ladda öppen källkod eller inbyggda audio-drivrutiner i VirtualBox, som tillhandahåller konfigurationen för STAC9221 (Intel HD-Ljud) eller SigmaTel STAC9700,83,84 (ICH AC97) finns tillgängliga.
Skärmskalning
VirtualBox levererar inte en EDID för sin virtuella skärm, och macOS aktiverar inte skärmskalning (hög PPI) utan EDID. Bootloader OpenCore kan injicera en EDID som möjliggör skärmskalning.,
FileVault
VirtualBox EFI-implementeringen laddar inte korrekt FileVault full disk encryption password prompt vid uppstart. Bootloader OpenCore kan ladda lösenordsprompten med parametern ProvideConsoleGop
inställd på true
. Se prov config.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, även om versioner så låga som 5.2 kan fungera.
- GNU
Bash
≥ 4.3, på Windows kör genom Cygwin eller WSL – see NEM - GNU
coreutils
≥ 8.22, GNUgzip
≥ 1.5, Info-ZIPunzip
≥ v6.0, GNUwget
≥ 1.14,xxd
≥ 1.11 dmg2img
≥ 1.6.5, på Cygwin är paketet inte tillgängligt via pakethanteraren så skriptet hämtar det automatiskt.-
tesseract-ocr
≥ 4