# Fake Your VM as a Specified Machine ###### tags: `Virtual Machine` `QEMU` `BIOS` `DMI` Softwares may have some special configuration for some special models/machines. Checking the [DMI](https://en.wikipedia.org/wiki/Desktop_Management_Interface) is the common way to understand the model of the machine. For example, Linux kernel checks the system's DMI for [ACPI boot quirks](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/acpi/boot.c?h=v5.15#n1374). However, it is impossible to have all kinds of the machines on hands. Faking a virtual machine is an economical way to have that specified model/machine. According to [QEMU's document](https://www.qemu.org/docs/master/system/qemu-manpage.html?highlight=smbios), the **smbios** provides the way to set the virtual machine's *SMBIOS table*. So that, the guest OS will read the table as it's DMI information. For exampe, I would like to have a simulated virtual machine as an Acer Aspire Aspire ES1-533 laptop. ``` qemu-system-x86_64 -enable-kvm -m 4096 -smp 4 ~/Downloads/endless_disk.qcow2 -smbios type=1,manufacturer=Acer,product="Aspire ES1-533" ``` Now, we have the simulated virtual machine. We can check the DMI information in the guest OS. ```shell= $ sudo dmidecode -t 1 # dmidecode 3.3 Getting SMBIOS data from sysfs. SMBIOS 2.8 present. Handle 0x0100, DMI type 1, 27 bytes System Information Manufacturer: Acer Product Name: Aspire ES1-533 Version: pc-i440fx-6.1 Serial Number: Not Specified UUID: Not Settable Wake-up Type: Power Switch SKU Number: Not Specified Family: Not Specified ``` The viratual machine's `Manufacturer` is `Acer` and `Product Name` is `Aspire ES1-533`!