https://zhuanlan.zhihu.com/p/713797259
有个windows项目需要在vmware虚拟机上迁移,经克隆测试,第三方软件授权失败无法运行。另外找了个vmware环境进行测试。经测试,授权与processorid、mac、bios serialnumber有关,硬盘只要可以返回uuid即可。
获取原主机CPU processid:
wmic cpu get processorid
获取原主机网卡mac地址:
wmic nicconfig get macaddress
获取原主机bios序列号:
wmic bios get serialnumber
获取硬盘序列号:
wmic diskdrive get serialnumber
一、虚拟机1
processorid:
1FABFBFF000306E7
1FABFBFF000006E7
mac:
00:50:56:8A:68:20
bios:
VMware-42 0a f8 9d 5b e3 c2 f7-a3 52 1f 62 78 1b c9 48
disk:
6000c295583833b13ed9eb2d66a042a4
新虚机关机。
mac直接在管理后台手工改,为防止与原主机网络冲突(如两主机在同一网络内),新虚机此网卡应禁止连接。
找到虚机.vmx文件,在最后添加两行:
cpuid.1.eax = “00000000000000110000011011100111”
cpuid.1.edx = “00011111101010111111101111111111”
cpuid.1.eax:cpu1的后32位2进制;cpuid.1.edx:cpu1的前32位2进制。
修改uuid.bios为原主机数据:
uuid.bios = “42 0a f8 9d 5b e3 c2 f7-a3 52 1f 62 78 1b c9 48”
开启新主机。
二、虚拟机2
processorid:
1FABFBFF000306E7
1FABFBFF000006E7
1FABFBFF000006E7
1FABFBFF000006E7
mac:
00:50:56:8A:28:7D
bios:
VMware-42 0a 33 b4 a3 07 62 a5-0a 87 9f 8c 67 ae ce 4a
disk:
6000c295008d091d849d393750f68721
6000c298c8cf2878f06835238e9db450
6000c299a1c05cf9d93686d6be4c4358
6000c29ee10f574e58ea3c1b033a62af
后台设置mac地址。
找到虚机.vmx文件,在最后添加两行:
cpuid.1.eax = “00000000000000110000011011100111”
cpuid.1.edx = “00011111101010111111101111111111”
修改uuid.bios为:
uuid.bios = “42 0a 33 b4 a3 07 62 a5-0a 87 9f 8c 67 ae ce 4a”
三、其他:
在测试中,在同一集群中,processorid、mac、bios serialnumber可以重复,当然为了防止网络问题,需要禁止连接网卡。
如有需要,也可以修改硬盘的uuid。修改虚拟机.vmdk(不是-flat.vmdk)为如下格式:
ddb.uuid = “60 00 c2 95 58 38 33 b1-3e d9 eb 2d 66 a0 42 a4”
本例中只需能获取硬盘序列号即可,如无法获取,可能需要修改虚机.vmx文件:
disk.EnableUUID = “true”
注意,应先在后台修改完mac后,再用vi修改vmx文件,否则vmx中修改的内容会被覆盖。