This is the code you need to run when you first make your VM:
VM="NameOfYourVM" # The name of the VM you have created
RES="1920x1080" # Screen Res you wish to set
VBoxManage modifyvm "${VM}" --cpu-profile "Intel Core i7-2635QM"
VBoxManage setextradata "${VM}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro15,1"
VBoxManage setextradata "${VM}" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "${VM}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-551B86E5744E2388"
VBoxManage setextradata "${VM}" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "${VM}" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 0
VBoxManage setextradata "${VM}" "VBoxInternal/TM/TSCMode" "RealTSCOffset"
VBoxManage setextradata "${VM}" "VBoxInternal2/EfiGraphicsResolution" "$RES"
VBoxManage setextradata "${VM}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "vboxtestfw"
This version of the script that is all over, solves the problem with processors as well as giving the machine a Serial Number, rather than simply being “0”.