Loading

修改vSphere ESXi中虚拟机的三大件CPUID,硬盘ID,MAC地址

1、查看硬件信息

 

wmic diskdrive get serialnumber 查看磁盘序列号

wmic bios get serialnumber 查询BIOS序列号

wmic nicconfig get macaddress 查询网卡MAC信息

wmic cpu get processorid 查询cpu的ID

wmic beseboard get serialnumber 查询主板序列号

 

2、修改CPUID,注意需要intel CPU才支持修改

某些软件的加密会通过读取机器的CPUID来识别,如果在虚拟机中运行,可以更改CPUID,操作如下:

使用wmic CPU get ProcessorID命令,可以查看本机的CPUID,如下图:

cpuid01

目前CPUID为1FABFBFF000306E4,通过修改虚拟机的*.vmx文件来达到修改CPUID的目的,在*.vmx最后添加如下两行:

cpuid.1.eax = "CPUID的后32位"
cpuid.1.edx = "CPUID的前32位"

将现在的CPUID转换成2进制并拆分成两段,如下:

1FABFBFF转换成2进制后的CPUID的前32位为:00011111101010111111101111111111
000306E4转换成2进制后的CPUID的后32位为:00000000000000110000011011100100

假设本次想将CPUID修改为0FABFBFF000306E4,

则转换成2进制后的两段码为(使用十六进制转二进制工具,不足的位数在前面补0):

0FABFBFF转换成2进制后的CPUID的前32位为:00001111101010111111101111111111
000306E4转换成2进制后的CPUID的后32位为:00000000000000110000011011100100

最终在*.vmx中添加如下两行:

cpuid.1.eax = "00000000000000110000011011100100"
cpuid.1.edx = "00001111101010111111101111111111"

首先将虚拟机关机,再将*.vmx下载至本地,如下图

v6.5vmrc06

再使用Notepad++打开刚才下载的win2008-2.vmx,并添加红框中的两行内容,完成后保存退出。

 

3、虚修改拟硬盘ID

SCSI类型的虚拟硬盘不存在序列号。但是IDE或者SATA类型的虚拟硬盘会初始化一个序列号,所以必须把硬盘类型切换成IDE类型或者SATA类型。

但是一般情况下,这时候虚拟机的硬盘类型已经是SCSI了,切换类型电脑的文件会损坏吗?这里给你肯定的答案:不会。

下面就是切换硬盘类型的步骤(一步一步探索艰辛哪):第一步:关闭虚拟机
第二步:找到你的虚拟机目录下的后缀是vmdk的文件,使用记事本打开。查找ddb.adapterType属性,并把这个属性的值换成IDE。结果:ddb.adapterType = "IDE"。保存文件
第三步:虚拟机-->设置-->硬盘-->移除
第四步:虚拟机-->设置-->添加硬盘-->选择IDE类型的硬盘-->使用已有虚拟磁盘-->选择旧的硬盘文件(后缀为vmdk)完成。
第三步:重启虚拟机
第四部:查看序列号,打开cmd命令窗口,输入命令:wmic diskdrive get serialnumber。
完成。

4、修改MAC地址,虚拟机.vmx配置文件

 

关于虚拟机修改MAC地址遇到的错误

“静态以太网地址不允许使用:“00:0C:29:AC:9A:19”。它与 VMware 预留的 MAC 冲突。”

在存储里面找到对应虚拟机的配置文件以.vmx结尾,本人的为 centos63.vmx

因为本人修改的是ethernet1的MAC地址,所以需要配置的是ethernet1相关的信息,
这点特别要注意,网络上的文章大部分针对的是ethernet0的,所以要根据个人的实际情况去配置

在本人环境原文中有如下几行:
ethernet1.addressType = "static" 保持不变
ethernet1.generatedAddress = "00:0c:29:03:b0:d4" 系统自动分配的 去掉
ethernet1.address = "00:0C:29:AC:9A:19" 手工设置的 保留

只需要增加如下一行即可(这个看人的环境,网络上一般是增加三行)
ethernet1.checkMACAddress = "false" 无需自动分配

如下是网络上常见解决方案:
ethernet0.addressType = "static"
ethernet0.checkMACAddress = "false"
ethernet0.address = "your mac addr"

 

posted @ 2024-01-26 09:38  梦想PHOTO  阅读(4)  评论(0编辑  收藏  举报