虚拟机顾名思义就是虚拟出来的机器(virtual machine),虚拟化技术也是时下IT界最热门的技术,因其能更加有效利用硬件资源,整合IT应用,降低TCO,节能环保等,说白了就是一台硬件上够强的机器,能在其上面虚拟多台机器出来,例如一个机房里原本有100台服务器提供各类服务,采用虚拟化解决方案后,我们只需要在一台机器上就可以虚拟出这100台机器在其上面运行,这样一来,节约总体支出是肯定的,日常运维也更加绿色环保,节能减排,也许你会想,这样把所有鸡蛋都放在一个篮子里增加了危险系数,确实,这样想是正确的,不过我们不用为此担心,虚拟技术厂商已经为我们考虑到了,可以采用相关的容错、群集技术(如微软live migration、VMware的Vmotion技术,任何一项技术在安全上没有保障,不能算是一项合格成熟的技术,也不可能推出到市场,一些不成熟的技术也仅是供测试使用。)

当然虚拟化技术不仅仅就是虚拟一台计算机,还有很多,如虚拟网络,虚拟存储,虚拟应用等等…

在本文中只讨论利用VBoxManage如何对三种常见的虚拟机文件格式进行转换,首先让我们了解一下这三种格式是个什么东东:

  1. vdi格式 :VirtualBox默认创建的硬盘文件格式,(关于VirtualBox 原是德国一家软件公司InnoTek所开发的虚拟系统软件,后被SUN收购,而后SUN又被Oracle收购,VirtualBox 是一款功能强大的虚拟机软件,不仅具有丰富的特色,而且性能也很优异)
  2. vmdk格式:VMware创建的虚拟硬盘文件格式,(关于VMware,在虚拟机领域可以说是全球最牛B的公司,目前为EMC的全资子公司)
  3. vhd格式:为微软虚拟机硬盘文件格式,(关于微软虚拟机技术,从最初的VPC,VServer2005r2 ,Hyper-v2008,Hyper-v2008R2,到这会的hyper-v 8beta,历经多重改进,在新版本的Hyper-v 8beta中,将会发现有非常令人Exciting 的 Feature,如新的硬盘格式VHDX的出现,空间技术从2T提升至16T,保护数据并确保大型扇区磁盘上的质量性能等)

这三种虚拟硬盘格式的互相转换可以通过一些第三方工具软件进行,此文我们介绍如何利用VirtualBox 自带的VBoxManage来进行格式转换:

1.VBoxManage.exe在VirtualBox 安装目录下,如下图,我们进VirtualBox 安装目录查看到VBoxManage.exe

2.命令行进入VirtualBox目录,运行相关VBoxManage格式转换指令,语法如下:

VBoxManage clonehd 源硬盘格式文件 目录硬盘格式文件 --format 目标格式后缀
 

3.将VDI文件转成VHD文件,如下图命令将vdi的虚拟机文件转换成微软vhd虚拟机文件:

执行进度至100%结束完成转换,随后我们用微软虚拟机软件挂载顺利运行

至此,利用VBoxManage对三种常见虚拟硬盘格式转换介绍结束,vmdk、vhd转VDI等按格式套用即可。

最后附微软最新VHDX虚拟文件官方相关介绍:


VHDX 格式的主要新功能如下:

  • 支持的虚拟硬盘的存储容量高达 16 TB。
  • 通过记录对 VHDX 元数据结构的更新,可以在电源发生故障时保护数据不会被损坏。
  • 改进了虚拟硬盘格式的对齐方式,可在大型扇区磁盘上更好地工作。

VHDX 格式还提供以下功能:

  • 动态磁盘和差异磁盘较大的数据块大小,可让这些磁盘满足工作负荷的需求。
  • 一个 4 KB 的逻辑扇区虚拟磁盘,可以在为 4 KB 扇区设计的应用程序和工作负荷使用该磁盘时提供较高的性能。
  • 能够存储有关用户可能想记录的文件的自定义元数据,如操作系统版本或应用的修补程序。
  • 高效地表示数据(也称为“剪裁”),使文件大小更小并且允许基础物理存储设备回收未使用的空间。(剪裁需要直接连接到虚拟机或 SCSI 磁盘的物理磁盘以及与剪裁兼容的硬件。)

利用VBoxManage对虚拟机格式vdi、vmdk、vhd进行互转的更多相关文章

  1. 虚拟硬盘格式vdi、vhd、vmdk相互转换

    Windows7的引导程序能够引导vhd格式的虚拟硬盘,而VirtualBox创建的虚拟硬盘文件是vdi格式的,怎么办呢? 以前要借助其他软件才能实现,但是VirtualBox早就悄悄为我们带来了一个 ...

  2. vdi、vhd、vmdk虚拟格式转换

    VirtualBox带来VBoxManager.exe,可以来转换格式. 命令如下(Windows环境,Linux版的应该也有VBoxManager这个二进制文件): VBoxManager存在于Vi ...

  3. 利用caffe生成 lmdb 格式的文件,并对网络进行FineTuning

    利用caffe生成 lmdb 格式的文件,并对网络进行FineTuning 数据的组织格式为: 首先,所需要的脚本指令路径为: /home/wangxiao/Downloads/caffe-maste ...

  4. (数据科学学习手札65)利用Python实现Shp格式向GeoJSON的转换

    一.简介 Shp格式是GIS中非常重要的数据格式,主要在Arcgis中使用,但在进行很多基于网页的空间数据可视化时,通常只接受GeoJSON格式的数据,众所周知JSON(JavaScript Obje ...

  5. 利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4

    利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4 以前看视频的时候,直接找到 video标签,查看视频地址,然后下载下来.. 后来发现,好多 video 标签打开元素审查,如下 ...

  6. Hyper-v虚拟机文件VHDX与VHD的格式转换

    今天遇到一个坑,我在本机(windows 10)上创建的CentOS虚拟机作为docker的宿主机,部署了gitlab等容器,准备迁移到服务器上的时候,发现始终无法导入,提示必须通过Hyper-v导出 ...

  7. VirtualBox更改虚拟机磁盘VDI的大小

    流程虚拟机中使用,有时会遇到磁盘大小是不够的,假设一套"动态分配的内存".通过下面的方法来手动扩展磁盘空间. 1.启动CMD命令行.进入VirtualBox安装文件夹.例如 cd  ...

  8. Mac OS X 恢复 VMware Fusion 虚拟机中的 vmdk 文件

    今天手贱把 VMware Fusion 虚拟机中的 Windows 10 搞挂了,原因是磁盘清理了下,然后重启就蓝屏了,Windows 10 自动修复.手动还原.手动重置系统,试过都不行,恢复系统是没 ...

  9. 【Linux_Fedora_应用系列】_3_如何利用Smplayer播放WMV格式的文件

    在上一篇我们成功安装了视频播放器,并且成功安装里解码器[Linux_Fedora_应用系列]_2_如何安装视频播放器和视频文件解码 安装完的Smplayer的GUI的界面程序,可以播放FLV.AVI. ...

随机推荐

  1. 10款Windows命令行工具

    Windows下CMD不好用,远没有Linux,或者一些SSH工具用起来方便.其实Windows下,也有一些不错的工具替代CMD: 0.powercmd经过比较,我最终选择了这款,这里补充一下截图:

  2. tilemap坐标转换

    像素点跟tile的索引之间的转换//从cocos2d-x坐标转换为Tilemap坐标CCPoint GameMap::tileCoordForPosition(CCPoint position){ i ...

  3. Redis基础知识之—— 缓存应用场景

    转载原文:http://www.cnblogs.com/jinshengzhi/articles/5225718.html 一.MySql+Memcached架构的问题 Memcached采用客户端- ...

  4. effect c++ 口诀。

    常用条款,写成口诀,记住.知其所以,也要时时使用. 1)习惯c++: 联替const初. 2)构造,复制,析构: 要知默,构赋析. 若不需,明拒绝. 构析不调虚. 异不逃析构. 基析要虚函. 赋值操, ...

  5. linux install sublime_text3

    ubuntu & debian: (baidu or google) 1). download ***.deb to install inux系统下怎么安装.deb文件? deb 是 ubun ...

  6. UIButton、UIImageView、UILabel的选择

    UIButton特点既能显示文字,又能显示图片(能显示2张图片,背景图片.内容图片)长按高亮的时候可以切换图片\文字直接通过addTarget...方法监听点击 UIImageView能显示图片,不能 ...

  7. C++模板(基础)

    本文转至:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类 ...

  8. 如何从NFS文件系统启动

    笔记,备忘! 步骤: 1.设置好NFS服务器 2.修改uboot启动参数bootarg setenv bootargs console=ttySAC0 root=/dev/nfs nfsroot=19 ...

  9. 接收ET采集器数据页面

    <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="u ...

  10. 线性表 - 从零开始实现by C++

    参考链接:数据结构探险之线性表篇     线性表