相比vmware,还是比较喜欢用virtualbox。vmware虽然也很强大,但是有些版本的vmware还是收费的,而且相应的安装包还贼大,反观virtualbox更小巧精致,而且免费,而且跨平台安装也比较方便。在特定情况下,还是它比较香。而且virtualbox对于镜像的迁移也比较方便,导出单个镜像文件再导入单个文件,而且还可以在无图形界面下后台启动虚拟机。就冲这些,不用它都不行。
一.virtualbox 网卡为桥接模式下的镜像迁移
比如我想把windows环境下的virtualbox中的虚拟机导入到linux环境下的virtualbox虚拟机中去,如何实现呢。可以把 windows系统中相应的虚拟机导出成 一个ova文件,然后在linux系统中相同版本的virtualbox中导入这个ova文件即可,因为迁移改变了网络连接,所以需要在Linux系统的virtualbox中导入虚拟机之后重新配置一下网卡信息即可。好处是这些操作可以在没有图形界面的情况下完成。
一般virtualbox中创建虚拟机建议网卡配置成桥接模式,好处是分配给它的ip地址和主机在同一个网段,这样也方便局域网其它的主机访问。当然这取决于具体的应用场景,个人感觉配成其它网络模式稍微复杂点,只要能实现目的就行。
下图是在virtualbox中导出一个系统镜像
当然也可以通过命令行来操作,在virtualbox.exe同目录下有个 VBoxManage.exe 可执行程序,这个程序是个命令行程序,基本包含图形管理界面下的主要功能。在linux系统中,完全可以通过vboxmanage这个命令行程序来完成虚拟机的导入以及网卡的配置。
首先 需要在Linux中安装 virtualbox相应的版本,可以在线安装,也可以通过网址 Downloads – Oracle VM VirtualBox下载,安装也比较简单。
安装完成之后,在 命令行 进行导入,需要指定 ova文件路径、虚拟机名称、虚拟机存放路径
VBoxManage import ova文件路径 --vsys 0 --vmname 虚拟机名称 --bashfolder 虚拟机存放路径
可以通过命令 vboxmanage list vms 查看已安装虚拟机
上述虚拟机导入完成之后,需要配置 虚拟机的网卡信息,需要先查看安装该virtualbox主机的网卡信息
通过命令 vboxmanage list hostifs 命令查看
通过如下命令修改虚拟机网卡信息
vboxmanage modifyvm 虚拟机名称 --nic1 bridged --bridgeadapter1 enp9s0
需要指定虚拟机名称和对应的网卡名称,网卡enp9s0也就是linux主机其中的一块网卡
上述操作都完成之后就可以启动虚拟机了
后台启动虚拟机可以使用命令 vboxmanage startvm 虚拟机名称 --type headless