The following method worked for me under VirtualBox v7.0.14 on an Ubuntu 20.04 Host with a Windows 11 guest.
Solidworks will not let you activate a standalone license under a Vbox machine. However, it is possible to trick it into thinking it’s not in a VM.
Use the following command to get information from your won BIOS to copy into the VM
sudo dmidecode -t bios -q
These are the commands I used to configure the Win11 guest I had:
VMNAME="Win11"
rand9="123456789"
rand20="12345678901234567890"
rand8="12345678"
VBoxManage setextradata $VMNAME "VBoxInternal/Devices/efi/0/Config/DmiBIOSVendor" "Dell Inc."
VBoxManage setextradata $VMNAME "VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" "1.16.0"
VBoxManage setextradata $VMNAME "VBoxInternal/Devices/efi/0/Config/DmiSystemVendor" "Dell Inc."
VBoxManage setextradata $VMNAME "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" $rand9
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
Many thanks to the following resources that helped me get the right commands going.
https://outerrim.dev/posts/solidworks-vm/
https://serverfault.com/questions/727347/solidworks-activation-license-mode-is-not-supported-in-this-virtual-environment