这个应该不算原创,两种方法网上都能找到,我只是整理说明一下,也不算是转载了。。。


其实这里说的OEM系统就是指Windows,其他系统我也没测试过。。。


第一种方法:

直接编辑虚机的vmx配置文件,修改或增加以下内容

SMBIOS.reflectHost = "true"

或者在vClient的VM面板,选择选项 - 高级:常规 - 配置参数

找到SMBIOS.reflectHost 填入"true" ,如果没有,点击添加行,添加它。


这种方法使虚机使用物理机的BIOS信息来验证和激活Guest OS。

从ESX 3.0.1开始支持此功能,参考 http://kb.vmware.com/kb/1002095。另也有说从ESX 2就支持这个参数了,这个已经不重要,现在已经是5时代了。

从ESX 3.0.2 应用这个参数后,系统中可以显示物理机的制造商信息。

至于这种激活方式VMware和Microsoft之间的协商的问题,就不在我们的考虑范围了。


第二种方法:

使虚拟加载修改过的VMware BIOS文件,让虚机读出来激活需要的SLIC信息

直接编辑虚机的vmx配置文件,修改或增加以下内容

bios440.filename = /path/to/biosfile

这个参数在VMware的KB内搜不到,这种修改的方式肯定是非正常的途径。。。

而且,这里指定的bios文件不会随虚机迁移而移动,因此,你需要将这个修改过的bios文件放在一个所有主机都能访问到的位置,或者在每个ESXi主机上都保存一份,否则HA会失效。


第三种方法:

将OEM激活所需要的SLIC集成到ESXi中,可参考 http://foolishfish.blog.51cto.com/3822001/1539321