VMware Communities
stephankl
Contributor
Contributor

Change VMware Workstation BIOS so that Windows Win32_SystemEnclosure.Chassistypes returns 9 (Laptop)

Is there a way to adjust VMware Workstation BIOS or settings so that Windows guests' WMI class Win32_SystemEnclosure, attribute Chassistypes returns 9 (Laptop)?

Thank you very much, and best regards, Stephan

0 Kudos
6 Replies
bluefirestorm
Champion
Champion

If the host machine is a laptop, enabling the "Report battery information to guest" (in Options tab, Power of VM settings) will make msinfo32 on the Windows guest show Platform Role as "Mobile" instead of "Desktop"

0 Kudos
stephankl
Contributor
Contributor

thank you bluefirestorm,

unfortunately the host is not a notebook, and I guess this would not solve my issue.

I am using virtual machines for testing a product that uses the mentioned wmi class/attribute for machine type detection, and I cannot change this behaviour. I have searched the Internet for solutions, and there are recommendations to extract the BIOS code from a vmware executable, editing it with Phoenix BIOS editor, and referring the adjusted BIOS file in the vm config file but I am not a programmer, and I hope there is an official way to do this...

Best regards, Stephan

0 Kudos
bluefirestorm
Champion
Champion

Editing executables and other binary files tend to be in the toolkit to crack software licensing restrictions, evaluation periods and possibly features/capabilities. Software EULA tend to have clause(s) that explicitly prohibit decompilation/reverse engineering and VMware is not any different. I am not a lawyer but I think editing the virtual BIOS/EFI provided by VMware would fall into that EULA violation. So even if I know how to do it, I don't think you and I should be discussing this in this forum. So the pass battery information technique is the closest thing to official method that you can get although it does require a host that is also a laptop.

Anyway, if you do use the Platform role instead of ChassisTypes, you could retrieve it from Win32_ComputerSystem.PCSystemType

wmic path Win32_ComputerSystem get PCSystemType

I don't work with servers, so I haven't seen platform roles for servers but I have seen Slate for a Surface Pro 8.

https://docs.microsoft.com/en-us/windows/win32/api/winnt/ne-winnt-power_platform_role

 

0 Kudos
stephankl
Contributor
Contributor

Strongly agree - the first part of your answer is exactly one of the reasons why I am searching for an official way.

The product I am testing is not able to use Win32_ComputerSystem.PCSystemType (old Radia client), so might it make sense to log an official support ticket to VMware?

BR Stephan

0 Kudos
bluefirestorm
Champion
Champion

I don't know what Radia client software is; but I am bit surprised that it won't support wmic path Win32_ComputerSystem get PCSystemType. Even on a Windows 7 VM, it returns 2 (mobile) when configured with battery information. I would think the complication of using PCSystemType is with older OS like Vista, Win 7, and Windows Server 2008 the value of 8 does not mean slate.

I don't work for VMware so I have no idea what kind of response you will get. But for completeness of testing, I would think you would have to get BIOS, 32-bit UEFI, and 64-bit UEFI and with support for other chassis types (not just 9). You might need 10, 14, 30, 31, 32 as well if you want to cover laptops and other variants of mobile PCs.

https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-systemenclosure

Just my two cents, it might be easier just to write something within your test script to assign the chassis type value rather than trying to get modified virtual BIOS/UEFI from VMware.

 

0 Kudos
stephankl
Contributor
Contributor

The manufacturer of the product might be able to adjust that point but I am not 🙂

Generally, to be able to configure any value for ChassisTypes attribute would be a great feature, I was hoping that someone from VMware might monitor the discussion (not expecting an answer to the support-related question from you).

Thank you very much for your suggestions, I'll see if I can find a workaround or alternatively log a support request, looks like I am not the only one finding that helpful.

Best regards, Stephan

0 Kudos