VMware替代前必须了解三件事 8月14日 星期四 15:00 云祺视频号准时直播
云祺直播二维码
扫码预约直播,观看精彩内容! 扫码预约直播,观看精彩内容!
关闭按钮
云祺Logo 云祺Logo
关于我们

技术分享

技术分享 virtualbox虚拟机命令行迁移

virtualbox虚拟机命令行迁移

2020-10-26

前言

本文主要记述了如何使用virtualbox提供的命令行工具,将一个虚机转移到另一台服务器的命令。

主要使用VBoxManage这个命令

存档

首先,需要将需要转移的虚机停机,可以用

VBoxManage controlvm acpipowerbutton <vm_name>

实现正常关机。

然后,使用

VBoxManage export <vm_name> <filename.ova>

导出当前虚机镜像。

加载

然后将该镜像传到目标服务器上。

然后使用以下命令导入该虚机

VBoxManage import --options keepallmacs <filename.ova>

其中 --options keepallmacs是保持所有的mac地址,这样可以再导入后,启动时硬件号不变化,那么可以减少IP变化等问题的困扰

如果是一个镜像想用多次,可以使用 --vsys 0 --vmname <new_name>来指定虚拟机名字

修改网络

当使用桥接网络时,需要指定桥接哪张网卡。

由于迁移到新机器后,网卡名称多半会更改,尤其是当在Windows,Linux这样不同平台上迁移时。

这时,可以使用以下命令查看支持的网卡名称

VBoxManage list bridgedifs

里面的Name就是可以用的网卡名称。

然后使用以下命令进行修改

VBoxManage modifyvm <vm_name> --bridgeadapter1 <nic_name>

如果因为虚拟机版本不同,尤其是从高版本移到低版本时,会因为扩展包不兼容,造成无法启动,这时可以通过

VBoxManage modifyvm <vm_name> --usbehci off

关闭usb 2.0控制器来进行启动。

启动

修改成功后,可以使用

VBoxManage startvm --type headless <vm_name>

快捷脚本

为了方便起见,这里使用脚本,可以直接导入并修改桥接网络为eno1(这个可以根据实际需要修改)

#!/bin/sh
if [ $# -ne 1 ]
then
        echo "you should spec vm name"
        exit
fi
echo "Begin import vm"
VBoxManage import --options keepallmacs $1.ova
if [ $? -ne 0 ]
then
        echo "Import vm error, exit"
        exit
fi
VBoxManage modifyvm $1 --bridgeadapter1 eno1
if [ $? -ne 0 ]
then
        echo "Modify vm error, exit"
        exit
fi
VBoxManage startvm --type headless $1
if [ $? -ne 0 ]
then
        echo "Start vm error, exit"
else
        echo "Start vm $1 successfully"
fi
                   
云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 技术分享

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载

请添加好友为您提供支持
jia7jia_7

微信售后服务二维码

请拨打电话
为您提供支持

400-9955-698