Skip to content

Instantly share code, notes, and snippets.

@startergo
Created February 28, 2022 04:34
Show Gist options
  • Select an option

  • Save startergo/515b50328561edf29ed096cf79afc99f to your computer and use it in GitHub Desktop.

Select an option

Save startergo/515b50328561edf29ed096cf79afc99f to your computer and use it in GitHub Desktop.
BASH script to automate the configuration of the SMBIOS UUID
#!/bin/bash
VM_NAME="Win10VM" #name
VSETED="VBoxManage setextradata $VM_NAME"
#CFG_PATH="VBoxInternal/Devices/pcbios/0/Config" # for bios (legacy) boot machines (i.e. windows 7 build)
CFG_PATH="VBoxInternal/Devices/efi/0/Config" # for efi boot machines (i.e. windows 10 build)
#SLIC.bin file
sudo dd if=/sys/firmware/acpi/tables/SLIC of=~/.config/SLIC.bin
# variables revision
biosRev=$(sudo dmidecode -t0 | grep -Eo "BIOS Revision: [0-9\.]+")
skuNum=$(sudo dmidecode -t1 | grep -Eo "SKU Number: [A-Z0-9]+")
location=$(sudo dmidecode -t2 | grep -Eo "Location In Chassis: [[:alnum:][:space:]]+")
vmdkfile=$HOME/.config/win10.vmdk
# script
$VSETED "VBoxInternal/Devices/acpi/0/Config/CustomTable" $HOME/.config/SLIC.bin
$VSETED $CFG_PATH/DmiBIOSVendor "$(sudo dmidecode -s bios-vendor)"
$VSETED $CFG_PATH/DmiBIOSVersion "$(sudo dmidecode -s bios-version)"
$VSETED $CFG_PATH/DmiBIOSReleaseDate "$(sudo dmidecode -s bios-release-date)"
$VSETED $CFG_PATH/DmiBIOSReleaseMajor "$(echo ${biosRev:15} | cut -d'.' -f1)"
$VSETED $CFG_PATH/DmiBIOSReleaseMinor "$(echo ${biosRev:15} | cut -d'.' -f2)"
$VSETED $CFG_PATH/DmiSystemVendor "$(sudo dmidecode -s system-manufacturer)"
$VSETED $CFG_PATH/DmiSystemProduct "$(sudo dmidecode -s system-product-name)"
$VSETED $CFG_PATH/DmiSystemVersion "$(sudo dmidecode -s system-version)"
$VSETED $CFG_PATH/DmiSystemSerial "$(sudo dmidecode -s system-serial-number)"
$VSETED $CFG_PATH/DmiSystemSKU "$(echo ${skuNum:12})"
$VSETED $CFG_PATH/DmiSystemFamily "$(sudo dmidecode -t1 | grep -Eo "Family: [A-Za-z]+" | cut -d' ' -f2)"
$VSETED $CFG_PATH/DmiSystemUuid "$(sudo dmidecode -s system-uuid)"
$VSETED $CFG_PATH/DmiBoardVendor "$(sudo dmidecode -s baseboard-manufacturer)"
$VSETED $CFG_PATH/DmiBoardProduct "$(sudo dmidecode -s baseboard-product-name)"
$VSETED $CFG_PATH/DmiBoardVersion "$(sudo dmidecode -s baseboard-version)"
$VSETED $CFG_PATH/DmiBoardSerial "$(sudo dmidecode -s baseboard-serial-number | cut -d'/' -f3)"
$VSETED $CFG_PATH/DmiBoardAssetTag "$(sudo dmidecode -s baseboard-asset-tag)"
$VSETED $CFG_PATH/DmiBoardLocInChass "$(echo ${location:20})"
$VSETED $CFG_PATH/DmiBoardBoardType "10"
$VSETED $CFG_PATH/DmiChassisVendor "$(sudo dmidecode -s chassis-manufacturer)"
$VSETED $CFG_PATH/DmiChassisType "10"
$VSETED $CFG_PATH/DmiChassisVersion "$(sudo dmidecode -s chassis-version)"
$VSETED $CFG_PATH/DmiChassisSerial "$(sudo dmidecode -s chassis-serial-number)"
$VSETED $CFG_PATH/DmiChassisAssetTag "$(sudo dmidecode -s chassis-asset-tag)"
$VSETED $CFG_PATH/DmiProcManufacturer "$(sudo dmidecode -s processor-manufacturer)"
$VSETED $CFG_PATH/DmiProcVersion "$(sudo dmidecode -s processor-version)"
VBoxManage modifyvm Win10VM --hardwareuuid "$(sudo dmidecode -s system-uuid)"
@startergo
Copy link
Copy Markdown
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment