#!/usr/bin/bash # Adapted from https://outerrim.dev/posts/solidworks-vm/ # Execute as "solidworks-vmfix.sh [vmname]" VMNAME=$1 rand9="abcdefghi" #any 9 character string rand20="abdcefghijklmnopqrst" #any 20 character string rand8="abcdefgh" #any 8 character string boottype="efi" #efi or pcibios echo "Setting up $boottype settings that Solidworks is checking for on VM $VMNAME" echo "You can check settings by typing: vboxmanage getextradata $VMNAME enumerate" VBoxManage setextradata $VMNAME "VBoxInternal/Devices/$boottype/0/Config/DmiBIOSVendor" "American Megatrends Inc" VBoxManage setextradata $VMNAME "VBoxInternal/Devices/$boottype/0/Config/DmiBIOSVersion" "2.1.0" VBoxManage setextradata $VMNAME "VBoxInternal/Devices/$boottype/0/Config/DmiSystemVendor" "ASUSTek Computer" VBoxManage setextradata $VMNAME "VBoxInternal/Devices/$boottype/0/Config/DmiSystemSerial" $rand9 ## if you have to clear them out, leave the value empty #vboxmanage setextradata $VMNAME "VBoxInternal/Devices/$boottype/0/Config/DmiBIOSVendor" #VBoxManage setextradata $VMNAME "VBoxInternal/Devices/$boottype/0/Config/DmiBIOSVersion" #VBoxManage setextradata $VMNAME "VBoxInternal/Devices/$boottype/0/Config/DmiSystemVendor" #VBoxManage setextradata $VMNAME "VBoxInternal/Devices/$boottype/0/Config/DmiSystemSerial" # VBoxManage setextradata $VMNAME "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" $rand20 # VBoxManage setextradata $VMNAME "VBoxInternal/Devices/ahci/0/Config/Port0/FirmwareRevision" $rand8 # VBoxManage setextradata $VMNAME "VBoxInternal/Devices/ahci/0/Config/Port0/ModelNumber" "SEAGATE ST3750525AS"