So you have been there and encountered that annoying thing, you’ve called Dell Pro-Support and they replied you there is DEFINITELY NO WAY and you also called Microsoft, finger pointing back to Dell by asking you to contact Dell directly as it’s OEM product. You have asked local Microsoft distributor, they also said there is no way to do it, you have to buy Box set or Open License, your existing Dell OEM license will not allow you to reactivate using the key printed on it.
Well, THEY ARE ALL WRONG!!!
- Dell’s Pro-Support is unprofessional in this case.
- Microsoft is responsible for its own product, NOT!
- Local Microsoft Distributor wants you to pay more, huh?
This is the Official Solution from Dell, hope it’s useful for others, the key point is to use Virtual Key to re-activate, and then either activate on-line or use phone to activate again and finally clone it as master gold image for further deployment.
You cannot automatically pre-activate the Windows Server 2008 operating system installed on VMs by using the product activation code in the Dell OEM installation media. You must use the virtual product key to activate the guest operating system. For more information, see the whitepaper Dell OEM Windows Server 2008 Installation on Virtual Machines using Dell OEM Media at dell.com.
I always thought Virtual Key is for Microsoft’s own Hyper-V only and cannot be used in VMWare enviornment, but I was wrong.
Alternatively, you can force the VM to load the default BIOS containing DELL SLIC 2.1 (supports Windows 7 and Windows Server 2008 R2), which will trick the VM thinking it’s actually a PHYSICAL DELL server.
1. Simply add bios440.filename = “DELL.ROM” to VM configuration parameters by using VC Client, of course you do need to upload DELL.ROM to your VM directory and please don’t ask me where to get that DELL.ROM, goole it around yourself. One draw back is this VM can’t be vMotioned around, as the DELL.ROM won’t get vMotioned. (Update: Solution to vMotion is to put DELL.ROM on every host or simply on SAN such as bios440.filename = “/vmfs/volumes/san/DELL.ROM”.
2. Very importantly, you will also need to find the corresponding certificatedell.XRM-MS, then use slmgr.vbs -ilc c:\dell.XRM-MS to import the certificate.
3. Insert the Key by slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
Finally, some say even by adding SMBIOS.reflect = True will work, but I COULD NEVER get this method working!
Update: The reason I didn’t get it working is because I didn’t use Dell’s W2k8R2 installation disk, see this link from IBM, sounds so simple! Really?
Solution
Edit the virtual machine’s .vmx file to contain the following line:
SMBIOS.reflectHost = “true”
Note: Encoding of the text added to the .vmx file must be in UTF8.
This updates the virtual machine BIOS with the IBM Original Equipment Manufacture (OEM) information required to use IBM-provided Operating System (OS) installation media.
IBM-provided Microsoft Windows 2008 media must be “BIOS Locked” to ensure that the OS will only install on IBM hardware. Virtual machines use a virtual BIOS that does not contain information that identifies the system as being manufactured by IBM.
The installation of Microsoft Windows Server 2008 from IBM OEM media to such a virtual machine will fail until the virtual BIOS has been updated to include this information. Alteration of the virtual machine’s .vmx file to state SMBIOS.reflectHost = “true” performs this function for servers using VMware’s ESX/ESXi technology.
The workaround resolves this issue by using media that is not locked to a specific OEM.
The solution resolves this issue by adding IBM information to the virtual BIOS.
Update Apr-16
Tried again today, the method SMBIOS.reflectHost = “true” is DEFINITELY NOT working! Even loaded with Dell’s OEM w2k8r2 std installation disk and the server is Poweredge R710, it still asked for activation. In additional, I discovered I can install Dell’s OEM w2k8r2 std disk on VM even without SMBIOS.reflectHost = “true”, so this means Dell’s w2k8r2 disk can be used on a non-Dell server.
So only the above two methods are working, but not the last one, if you got the last one working, pls drop me a line, thanks.
Update Apr-17
May be the answer is SMBIOS.reflectHost = “true” WILL ONLY WORK for ESX 3.5 or before, as VMware’s KB didn’t indicate this method apply to ESX 4.0.