VirtualBox是常用的虚拟机管理软件,和VMware一样,用的很多。在使用过程中,有的时候需要对虚拟机进行迁移。比如我们原来的服务器,使用的win10操作系统,上面利用VirtualBox安装了多个虚机作为服务器,tomcat服务器,virtuoso数据库服务器,mysql服务器等,由于win10物理机出现了问题,需要将虚机迁出,所以尝试着将虚机迁移到另一台win2008的系统中。

VirtualBox保存虚机数据的是vdi文件,简单来说就是拷贝vdi文件,然后在新的物理机上,安装VirtualBox打开这个vdi文件。具体步骤如下。

1 获取vdi文件

每个虚机都对应一个或多个vdi文件,在VirtualBox中的全局设置,可以查看虚机vdi文件的存放目录,每个虚机的数据都保存在以虚机名称为文件夹里面。在这个虚机根目录可以看到vdi文件,这个vdi文件可以看作虚机的基础数据。如果虚拟保存了快照(备份),还有一个snapshot目录,里面保存的是虚机快照。快照的vdi可以看作是虚机的状态信息,基础数据和状态信息加在一起是虚机的所有数据,一般我们可以关闭虚机,然后再删除快照,这样就剩下根目录的vdi,也就是虚机的vdi数据,这个vdi就是我们要的vdi。

2 克隆vdi数据

如果直接拷贝vdi数据,在新的VirtualBox中不能打开,因为每个vdi文件都包含了一个uuid的数据,如果直接拷贝,uuid在新的VirtualBox中是不能用的,所以会打开失败,我们需要给在原来vdi的基础上,生成新的vdi数据,包含新的uuid,可以在VirtualBox中打开。这个包含新uuid的vdi数据可以通过VirtualBox命令生成。

此处用了克隆的方法,也可以直接拷贝过去,然后再通过VirtualBox命令处理。克隆的方法,进入cmd命令行,然后进入VirtualBox的安装目录,比如VitualBox的安装目录是C:\Program Files\Oracle\VirtualBox,原有vdi文件在d盘,生成新的vdi放到e盘。命令为C:\Program Files\Oracle\VirtualBox>vboxmanage.exe clonehd "d:\xxx.vdi" "e:\xxx.vdi"。回车之后出现0%...,需要点时间才能生成vdi文件,10多G的数据可能要10来分钟时间。执行完成后会出现0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%类似的信息。这样克隆vdi数据文件的工作完成了。

3 利用vdi数据创建虚机

在新的VirtualBox中创建新的虚机,给虚机起个名字,选择操作系统。点击下一步,使用已有vdi文件创建虚机,选择刚生成的vdi文件创建。

这样虚机的迁移任务就完成了。

VirtualBox虚拟机克隆迁移步骤的更多相关文章

  1. Virtualbox虚拟机克隆

    Vmware Workstation可以提供虚拟机的克隆,可以安装好虚拟机之后可以非常方便的复制一个虚拟机,这样在搭建多台虚拟机的环境下非常方便,无需一台台的安装系统,但是Virtualbox在图形界 ...

  2. VirtualBox虚拟机克隆方法

    1.定位到Vritualbox的安装目录,不能用全路径的方式直接执行该命令行 2.执行Vboxmanage.exe clonevdi "d:\linux\source.vdi" & ...

  3. 实现将VirtualBox 虚拟机转换为KVM虚拟机的步骤

    原来在桌面上一直使用virtualbox虚拟机管理程序(VMM)构建虚拟机安装不同的操作系统,现在 研究linux下的KVM,能否将已经建立的virtualBox虚拟客户机(guest)转换为KVM虚 ...

  4. Windows环境下在Oracle VM VirtualBOX下克隆虚拟机镜像(克隆和导入)

    Windows环境下在Oracle VM VirtualBOX下克隆虚拟机镜像: 注:直接复制一个.vdi 虚拟硬盘再挂上去就可以,但Virtualbox居然提示UUID重复,无法使用. 则,可以通过 ...

  5. CentOS 6 命令行下安装 VirtualBox 虚拟机步骤

    CentOS 6 命令行下安装 VirtualBox 虚拟机步骤 1. 准备工作 安装内核更新 yum install kernel-develyum update kernel*如果内核有更新,则需 ...

  6. virtualbox虚拟机迁移出现"connot find device eth0"错误

    我在自己的机器上面配置virtualbox虚拟机完毕以后,移植到另外一台机器上面,登陆页面总是在检查network,并且最后网络加载失败,不论我是用桥接还是NAT方式连接.登陆系统以后,我尝试连接网络 ...

  7. vsphere 虚拟机的迁移,冷迁移,vmotion(热迁移)

    备注:(理论部分参考王春海老师的课程) 一.概述 1.vsphere数据中心当处于某种目的进行维护时,需要将某台主机上运行或关闭的虚拟机,迁移到其他主机上,这个时候就需要使用迁移 2.可以使用冷迁移或 ...

  8. VirtualBox虚拟机安装Mac OS 10.12

    注:本文作者  (QQ:85805214) 本博主只是转载发布而已. VMware 安装Mac OS 方法 由于Virtual Box拷贝文件比较麻烦,有时候经常出现拷贝失败的情况,故使用VMware ...

  9. 基于本地存储的kvm虚拟机在线迁移

    基于本地存储的kvm虚拟机在线迁移 kvm虚拟机迁移分为4种(1)热迁移基于共享存储(2)热迁移基于本地存储(3)冷迁移基于共享存储(4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁 ...

随机推荐

  1. linux su失败:无法设置用户ID:资源暂时不可用

    环境 linux RHEP 7.+ su - user 提示 :无法设置用户ID,资源暂时不可用 检查 cat /etc/security/limits.d/90-nproc.conf * soft ...

  2. hbase参数配置和说明

    版本:0.94-cdh4.2.1 hbase-site.xml配置 hbase.tmp.dir 本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,因为很多文件都会默 ...

  3. sublime text3 安装package control 插件,解决访问被墙的问题

    1.在github上下载Package Control的安装包 https://github.com/wbond/sublime_package_control 2.打开sublime存放插件的目录: ...

  4. ES6---箭头函数()=>{} 与function的区别(转载)

    1.箭头函数与function定义函数的写法: //function function fn(a, b){ return a + b; } //arrow function var foo = (a, ...

  5. Delphi 10.3版本获取windows系统版本和CPU信息

    procedure TForm1.Button1Click(Sender: TObject); var mm:TRegistry; cpu:string; begin mm:=TRegistry.Cr ...

  6. python基础day2

    一.python字符串 字符串是 Python 中最常用的数据类型.可以使用引号('或")来创建字符串 1.1Python访问字符串中的值 Python不支持单字符类型,单字符在 Pytho ...

  7. 2018年多校第三场第一题 A. Ascending Rating hdu6319

    比赛地址:http://acm.hdu.edu.cn/contests/contest_show.php?cid=804 题目编号:第一题 A. Ascending Rating  hdu6319 题 ...

  8. 【Linux】如何在Linux上安装使用SSH

    SSH是什么? Secure Shell 安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄露问题 SSH客户端适用于多种 ...

  9. Java下载文件的几种方式

    转发自博客园Sunny的文章 1.以流的方式下载 public HttpServletResponse download(String path, HttpServletResponse respon ...

  10. Spring Cloud微服务笔记(二)Spring Cloud 简介

    Spring Cloud 简介 Spring Cloud的设计理念是Integrate Everything,即充分利用现有的开源组件, 在它们之上设计一套统一的规范/接口使它们能够接入Spring ...