VMware不能直接打开vmdk磁盘,需要从 .vmx虚拟机配置文件打开虚拟电脑。新建虚拟机时不能像VirtualBox那样选择一个已存在的硬盘。所以,要通过自己配置 .vmx文件。
以下根据实践探索的方法,有些地方不懂原理,可能会有错误,还请各位看见了给予指正。
客户机为XP,VirtualBox创建,硬盘格式为 vmdk。
首先,.vmxf中的vmid不能有重复。
52 21 e7 7b 02 a1 fe 7f-3b 94 35 d9 91 17 02 5e
所以我们可以先创建一个0.1G硬盘空间的XP系统,获得其 .vmxf和 .vmx配置文件,复制到XP虚拟机目录下,然后将新创建的0.1G的XP删除。
然后修改.vmx文件,参照下面注释:
.encoding = "GBK"
config.version = "8"
virtualHW.version = "8"
scsi0.present = "TRUE"
memsize = "1024"
ide0:0.present = "TRUE"
ide0:0.fileName = "Windows XP.vmdk" //此处修改为XP系统的vmdk文件名
ide1:0.present = "TRUE"
ide1:0.autodetect = "TRUE"
ide1:0.deviceType = "cdrom-raw"
floppy0.startConnected = "FALSE"
floppy0.fileName = ""
floppy0.autodetect = "TRUE"
ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
sound.present = "TRUE"
sound.fileName = "-1"
sound.autodetect = "TRUE"
mks.enable3d = "TRUE"
serial0.present = "TRUE"
serial0.fileType = "thinprint"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
usb.vbluetooth.startConnected = "TRUE"
displayName = "Windows XP" //修改显示名称
guestOS = "winxppro"
nvram = "Windows XP.nvram" //改为和XP硬盘名一样的名字
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "hard"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "hard"
extendedConfigFile = "Windows XP.vmxf" //改成和XP硬盘名一样的名字
之后在VMware里启动虚拟机,应该可以正常启动了。不过会提醒硬件变化很大要重新激活,这个还不知道怎么解决:
第一次开机之后还会有下面的提示:
不过再次开机就正常了。
另外,用VirtualBox和VMware交替打开虚拟机时,每次都要提示激活,希望有高手可以解决此问题。
磁盘驱动一个是vmware牌的,一个是virtualbox牌的,难怪说硬件发生了较大变化。