虚拟机硬盘vmdk压缩瘦身并挂载到virtualbox(代码片段)

author author     2023-01-15     151

关键词:

这个问题其实困扰了挺久的,一直没闲情去解决,网上搜索过很多压缩方法感觉都太麻烦太复杂,因最近在windows上搞docker就一并解决了。

压缩vmdk

首先下载DiskGenius,这工具很牛X,相信很多人都用过其硬盘分区、合并、数据恢复等功能,可谓相当强大,甚至虚拟硬盘文件也不放过。。。

首先把要压缩的虚拟硬盘vmdk打开(菜单:“硬盘 –> 打开虚拟硬盘文件”)。打开后就可以在左边的窗口中看到加载上的虚拟磁盘了。

技术分享图片

新建一个容量不小于源虚拟硬盘的虚拟硬盘vmdk文件

技术分享图片

技术分享图片

选择(菜单:“工具 –> 克隆硬盘”),弹出对话框后,在“选择源硬盘”时选择要压缩的源vmdk虚拟硬盘,在“选择目标硬盘”时选择刚刚我们新建的vmdk虚拟硬盘,然后点“开始”等待压缩完成即可。

技术分享图片

vmdk挂载到VirtualBox

先把源vmdk备份,再把压缩好的vmdk复盖源vmdk,之后启动虚拟机。。。

没啥意外会报出如下错误

技术分享图片

UUID 00000000-0000-0000-0000-000000000000 of the medium
‘C:UsersNeil.dockermachinemachinesdefaultdisk.vmdk‘ does not match the value
131b2a66-a477-41dd-b920-1a0a460d3ec8 stored in the media registry
(‘C:UsersNeil.VirtualBoxVirtualBox.xml‘).

返回 代码: 
E_FAIL (0x80004005)
组件: 
MediumWrap
界面: 
IMedium 4afe423b-43e0-e9d0-82e8-ceb307940dda

大概意思是压缩后的vmdk文件的UUID和原来注册表里的UUID不匹配

so good,我们到VirtualBox安装目录C:Program FilesOracleVirtualBox

在目录空白处 shift+右建 –> 选择“在此处打开命令窗口”

输入

VBoxManage internalcommands sethduuid C:UsersNeil.dockermachinemachinesdefaultdisk.vmdk 131b2a66-a477-41dd-b920-1a0a460d3ec8

返回要修改的UUID值就成功了

UUID changed to: 131b2a66-a477-41dd-b920-1a0a460d3ec8

技术分享图片

vmdk移动到其它盘

disk.vmdk从C盘移到其它盘,然后在VirtualBox中将虚拟硬盘指向新的disk.vmdk,这时会报错

错误:打开虚拟硬盘失败,UUID already exists

因为这个UUID在注册表里已经存在,我们用命令修改一下vmdk的路径

VBoxManage internalcommands sethduuid X:yourDirdisk.vmdk

然后VirtualBox中重新指向这个disk.vmdk就好了

参考:

http://www.diskgenius.cn/exp/compressvirtualdisk.php

https://www.cnblogs.com/yjf512/p/4338985.html

来源:虚拟机硬盘vmdk压缩瘦身并挂载到VirtualBox

mikrotikrouteros使用virtualbox挂载物理硬盘作为虚拟机硬盘进行安装(代码片段)

说明:这一切似乎在Windows下更好操作。虚拟机操作不是难点,难点在于虚拟磁盘的转换挂载一、先挂载硬盘#创建虚拟镜像并映射到物理硬盘cd"c:ProgramFilesOracleVirtualBox"VBoxManage.exeinternalcommandscreaterawvmdk-filename"H:VirtualBoxUbuntu.vmdk"-raw... 查看详情

怎么把7z格式的压缩包转化为虚拟机的vmdk格式

怎么把7z格式的压缩包转化为虚拟机的vmdk格式先把7z格式的压缩包解压缩到一个文件夹中,然后用虚拟机VMware创建vmdk格式。VMDK(VMWareVirtualMachineDiskFormat)是虚拟机VMware创建的虚拟硬格式,文件存在于VMware文件系统中,被称为VMFS... 查看详情

主机挂载虚拟机硬盘

把虚拟机硬盘挂载成主机的一个分区,请附方法和软件,谢谢VMwareDiskMountUtility是一个命令行工具,可以将VMware创建的虚拟机硬盘文件映射为宿主机上的硬盘分区,这样就可以在宿主机上直接打开虚拟机的硬盘,不仅大大方便了... 查看详情

虚拟机vmdk文件因为重装系统现在无法通过虚拟机打开错误提示为此文件不是一个虚拟磁盘

本人解决结果:1:通过修改虚拟机配置指定该vmdk文件虚拟机还是会报错此文件不是一个虚拟机磁盘2:使用DiskGenius软件读取虚拟机磁盘文件报错打开虚拟磁盘出现错误00000003invalidvirtualdiskfile希望有人能帮助我。看下vmx配置文件... 查看详情

怎么备份vmware虚拟磁盘文件或移植到其他虚拟机

参考技术A有三种方法1、使用快照功能备份系统打开虚拟机,点开虚拟机-快照-拍摄快照。填写快照名称和描述,方便记忆,点击拍摄快照。等待结束。如果需要恢复,点击虚拟机-快照-管理快照。2、虚拟机克隆功能导航栏中找... 查看详情

虚拟机三种磁盘置备方式

ThickProvisionLazyZeroed (zeroedthick)厚置备延迟置零在建立虚拟硬盘时会一次给足全部的硬盘大小,并产生一个vmdk档,而vmdk的大小等于创建的虚拟硬盘大小。然后这虚拟硬盘在一开始会先将所需要使用到的部份先行初始化(zero)。至... 查看详情

vmware通过单个vmdk文件创建虚拟机,为啥vmdk只有10几mb,怎样能弄出这样的vmdk?

参考技术A导入vmdk文件,只需要新建虚拟机,创建虚拟机硬盘的时候,选择已有虚拟机硬盘。这个时候选择到之前的虚拟机硬盘vmdk文件,即可。 查看详情

virtualbox导入vmware生成的.vmdk格式虚拟机镜像

...式的,VirtualBox则默认是.vdi格式的。其实这在VirtualBox新建虚拟机的过程中是可选的。导入.vmdk格式的镜像到VirtualBox只需要新建一个虚拟机,并且不创建虚拟硬盘。如下图:无视警告,继续:创建好之后,在设置里面把.vmdk格式的... 查看详情

菜鸟学习---虚拟机添硬盘分区并挂载

...些文档,然后结合自己的系统进行分区挂载等操作。首先虚拟机上新添加了一个8T的硬盘,添加完成后重新启动一下虚拟机,查看现在分区[[email protec 查看详情

vmware虚拟机vmdk数据恢复步骤

...述错误,大致原理是对的。flat.vmdk介绍这是个默认的大型虚拟磁盘数据文件,创建于你添加虚拟硬盘驱动到虚拟机时,大小相当于你添加的磁盘大小,我的理解,就是你添加的硬盘。delta.vmdk介绍这是当虚拟机创建快照后,产生... 查看详情

虚拟机linux如何挂载本地硬盘

...完整版的VMWARE(例如6.02汉化版),安装好linux,并安装上虚拟工具,然后在虚拟机设置里将虚拟机的网卡设置为NAT方式,并将主机设置好共享文件夹,虚拟机开通共享。如果设置正确在/mnt/下应该能看到主机共享的硬盘。参考技... 查看详情

虚拟机挂载新虚拟硬盘步骤

1.在虚拟机新建一个虚拟磁盘(虚拟机-设置-添加-磁盘)2.开机执行sudofdisk-l,列出新增加的未分区的硬盘例如是sdb3.磁盘分区,执行命令sudofdisk/dev/sdbm是列出菜单,p是列出分区表,n是增加分区,w是保存并推出(完成后假设新分区... 查看详情

linux虚拟机里怎么解压本地电脑硬盘中的软件?

Linux虚拟机里怎么解压本地电脑硬盘中的软件?解压包是在本地电脑E盘中的,在虚拟机里怎么解压硬盘上的软件?有一个比较简单实用的方法,使用winRAR即可。我们假设你要在软件在e:\test.rar1>,双击该文件,弹出winRAR窗口。... 查看详情

求助virtualbox如何加载移动硬盘?以及usb的优盘

参考技术A大概的思路就是把整个USB设备做成一个虚拟硬盘,这里需要为它做个后缀名为vmdk的虚拟硬盘链接文件。我这里以移动硬盘为例,把移动硬盘插入,然后查看移动硬盘的设备路径。这里能够看出,一定硬盘的编号是1,电... 查看详情

高悬赏!虚拟机vmware为啥这个选项卡一叉下次打开就没啥都没有了已经安装好系统了的

高悬赏!虚拟机VMware为什么这个选项卡一叉下次打开就没什么都没有了已经安装好系统了的怎么破你要创建虚拟硬盘,应该有一个设置电脑属性,能更改配置的选项,你这个只是装系统的界面吧,没存到硬盘上关掉当然没有了,... 查看详情

如何缩减vmware虚拟机的磁盘空间

...dk,你会看到一个文件列表。重新定位你剪切的文件。启动虚拟机即可。这方法没有释放空间。方法二:虚拟机装了VMwareTools就有这项功能了,虚拟的Windows系统在控制面板中有项VMwareTools。打开后可以看到有一栏Shrink,选中要压缩的... 查看详情

server2008r2hyper-v硬盘扩容

自从开始大规模使用虚拟机以后,经常会碰到硬盘不够,那么今天我给大家简单说一下windowsserver2008下虚拟机hyper-v的硬盘扩容方法,仅供大家参考:1、首先将已经创建好的虚拟机关机,然后进入设置。VHDX虚拟硬盘必须挂载到SCSI... 查看详情

centos7案例实战—vmware虚拟机硬盘挂载与卸载(代码片段)

...盘挂载是linux系统的重要操作之一,本节内容以vmware虚拟机为例,实现linux系统下的硬盘挂载与卸载操作。避免在系统使用过程中出现磁盘占满,虚拟机发生I/O异常,无法使用的情况。正文启动虚拟机,并登录... 查看详情