现在的位置: 首页 > 综合 > 正文

VMLite 与 VirtualBox 实际上是一样的

2014年07月06日 ⁄ 综合 ⁄ 共 2127字 ⁄ 字号 评论关闭

VMLite 与 VirtualBox实际上是一样的

 

    今天,想起来运行一下以前安装的 VMLite 的虚拟机,但是,却无法启动。想修复一下,却说,已经安装了 VirtualBox,我好像没有安装过。

    不过,既然说我装,干脆就把 VMLite 卸载了,装 VirtualBox。

    装了以后,但是,却不能导入原来由 VMLite 创建的虚拟机。

    VMLite 的配置文件的扩展名是 xml,而VirtualBox 的扩展名为 vbox。

    不过,打开一看,原来格式是一样的。

    于是,把 xml 改成vbox,就可以导入了。

    但是,有两个问题:

    1、就是要重新激活了。

    2、原来的共享空间的网络名称不同了:

\\.host\sfs\ 改成 \\vboxsvr\

一、配置文件

VMLite 的配置文件在%USERPROFILE%\VMLite\ VirtualBox.xml

VirtualBox的配置文件在%USERPROFILE%\. VirtualBox\ VirtualBox.xml

如果要手工修改VMLite 的配置文件,必须中止两个进程:VMLite 和 VBoxSvc,实际上,是要中止第二个进程就可以了。只要运行过 VMLite 运行过,这两个进程就会常驻,且第一个进程,每运行一次,会增加一个,因此,也就顺便中止好了。如果不中止这两个进程,手工修改的配置无效,即,一启动 VMLite 所有的配置全都恢复了。刚开始,我注意到这是进程没有中止的问题。所以,为了这个,我到处寻找,是否在其他地方还有配置文件。当然是没有。

第二,配置文件分成两部分,一是前面说的,即,全局的配置文件,其中,主要描述了每个虚拟机、虚拟硬盘、快照等的位置。另一个是具体的虚拟机的配置文件,保存在每个虚拟机的目录下,文件名,即虚拟机的名字,扩展名也是 .xml。

第三,VMLite 没有打开虚拟机的功能,也就是说,一旦主配置文件丢失,会有很大的麻烦。但是,新版本的VirtualBox 就有打开的功能,比较方便。

 

二、让 VMLite 与VirtualBox 共存

分别建两个批处理文件:

1、VMLite

d:

cd"D:\Program Files\VMLite\VMLite Workstation"

start /waittaskkill /f /im vboxsvc.exe

start /waittaskkill /f /im vmlite.exe

start /waittaskkill /f /im virtualbox.exe

 

regsvr32 /svboxc.dll

start vboxsvc

vmlite

 

2、VirtualBox

d:

cd"D:\Program Files\Oracle\VirtualBox"

start /waittaskkill /f /im vboxsvc.exe

start /waittaskkill /f /im vmlite.exe

start /waittaskkill /f /im virtualbox.exe

 

regsvr32 /s /uvboxc.dll

regsvr32 /svboxc.dll

start vboxsvc

virtualbox

 

上面加了 start 的原因,一是为了结束不能正常退出的进程;二是为了不等 vboxsvc 退出就执行下一条启动虚拟机的命令。因为,如果退出了,VirtualBox 就启动不了。

 

三、利用高版本的 VBoxManage 进行管理

1、修改磁盘的 uuid

用 internalcommans sethduuid

老版本的命令只能重新 uuid,但不能指定 uuid。

由于在摸索 VMLite 的过程中,没有注册已有虚拟机的功能,用了从磁盘新建虚拟机的方法,导致重新产生了磁盘的 uuid,与配置文件中已有的描述不一致。当然,如果磁盘没有快照的话,改一下配置中的 uuid,也就好了。但是,如果磁盘有快照,它不仅有 uuid,还有一个叫 parentuuid,指向父磁盘。这时候,如果不重设父磁盘的 uuid 的话,快照就没有办法访问了。

2、修改磁盘的 parentuuid

用 internalcommanssethdparentuuid

但是,没有成功。虽然命令没有出错,好像没有效果。

3、打算修改一下默认配置文件的位置。

    暂时没有找到。

 

四、相互启动对方的虚拟机。

先说容易的。高版本的 VirtualBox想启动低版本的 VMLite 的虚拟机,相当容易。只需:单击控制菜单,再单击注册,选择虚拟机的配置文件,即可导入VMLite 的虚拟机。后面的事就不用说了。

低版本的 VMLite 想启动高版本的VirtualBox 的虚拟机,就不那么容易了。需要手工修改配置文件。

1、             主配置文件。

加入一行虚拟机的入口信息,也就是我们想改变虚拟机位置,要修改的信息。如:

<MachineEntryuuid="{9eb08035-4fd4-4c4e-a6d0-9442630b9ef2}"src="D:\VMLites\win7\win7.xml"/>

Uuid 从虚拟机的配置文件中可以找到。

2、             用虚拟介质管理菜单,注册虚拟机用到的虚拟硬盘。

3、             虚拟机配置文件。

删除有 HDA 的一行。

也不算太难。

抱歉!评论已关闭.