Comment installer une VM macOS sous Linux, Windows ou macOS ?

par Korben -

Si vous voulez gouter à macOS au travers de Virtualbox, voici une méthode qui permet de le faire très simplement.

Grâce au script bash macOS-Guest-Virtualbox, que vous pouvez lancer depuis n’importe quel terminal Linux/macOS ou sous Windows via Cygwin ou WSL, vous allez pouvoir installer une VM macOS Big Sur, Catalina, Mojave ou High Sierra et la faire tourner directement depuis l’outil de virtualisation VirtualBox.

Pour cela, vous devez avoir sur votre système :

  • bash ≥4.3
  • coreutils ≥8.22
  • gzip ≥1.5
  • unzip ≥v6.0
  • wget ≥1.14
  • xxd ≥1.7
  • dmg2img ≥1.6.5 (sous Cygwin, le script le téléchargera directement)
  • virtualbox ≥6.1.6

Installez donc Virtualbox et tous ces paquets avec apt, brew, macPort ou Cygwin puis récupérez le script d’install ici (la dernière version sur le dépôt n’a pas fonctionné chez moi, j’ai du prendre la release du 24 janvier) et lancez-le comme ceci :

./macos-guest-virtualbox.sh

Suivez ensuite les instructions du script et voilà !

Vous aurez une jolie VM macOS à utiliser pour tous vos projets / tests. Par défaut, cette installation aura un stockage de 80 GB dont 20 GB pris par l’OS, mais vous pourrez modifier cela dans les paramètres du script. Vous pourrez aussi y modifier la release que vous voulez (Catalina, Mojave, HighSierra), sans oublier la mémoire RAM, la mémoire GPU et la résolution d’écran à adopter.

# Customize the installation by setting these variables: vm_name="macOS" # name of the VirtualBox virtual machine macOS_release_name="Catalina" # install "HighSierra" "Mojave" or "Catalina" storage_size=80000 # VM disk image size in MB, minimum 22000 cpu_count=2 # VM CPU cores, minimum 2 memory_size=4096 # VM RAM in MB, minimum 2048 gpu_vram=128 # VM video RAM in MB, minimum 34, maximum 128 resolution="1280x800" # VM display resolution

De plus, si vous possédez un ordinateur Apple avec de vrais identifiants originaux, vous pourrez aussi les mettre dans le fichier de config pour bénéficier en plus des services iCloud, iMessage…etc. Les commandes permettant de récupérer tous ces identifiants sont inscrites ici :

# The following commented commands, when run on a genuine Mac, # may provide the values for NVRAM and other parameters required by iCloud, # iMessage, and other connected Apple applications. # Parameters taken from a genuine Mac may result in a "Call customer support" # message if they do not match the genuine Mac exactly. # Non-genuine yet genuine-like parameters usually work. # system_profiler SPHardwareDataType DmiSystemFamily="MacBook Pro" # Model Name DmiSystemProduct="MacBookPro11,2" # Model Identifier DmiSystemSerial="NO_DEVICE_SN" # Serial Number (system) DmiSystemUuid="CAFECAFE-CAFE-CAFE-CAFE-DECAFFDECAFF" # Hardware UUID DmiOEMVBoxVer="string:1" # Apple ROM Info DmiOEMVBoxRev="string:.23456" # Apple ROM Info DmiBIOSVersion="string:MBP7.89" # Boot ROM Version # ioreg -l | grep -m 1 board-id DmiBoardProduct="Mac-3CBD00234E554E41" # nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB DmiBoardSerial="NO_LOGIC_BOARD_SN" MLB="${DmiBoardSerial}" # nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM ROM='%aa*%bbg%cc%dd' # ioreg -l -p IODeviceTree | grep "system-id SYSTEM_UUID="aabbccddeeff00112233445566778899" # csrutil status SYSTEM_INTEGRITY_PROTECTION='10' # '10' - enabled, '77' - disabled

En termes de performances, et bien, ça dépendra de votre machine, mais l’auteur du script recommande de lancer ensuite la VM directement depuis QEMU/KVM pour profiter de performances quasi natives.

Faites-en bon usage !