博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
虚拟机瘦身行动(Windows Virtual PC)
阅读量:7051 次
发布时间:2019-06-28

本文共 1444 字,大约阅读时间需要 4 分钟。

  使用Virtual PC 2007 或 Windows Virtual PC 时VHD(Virtual Hard Disk)是虚拟机必不可少的部分也是虚拟机的母体,提及.vhd 文件共分为:动态扩展(Dynamically Expanding)、固定大小(Fixed Size)、差分(Differencing)、链接至物理硬盘(Linked to a Hard Disk)四种类型。在Windows 7 中我们可以直接通过磁盘管理工具创建动态扩展或固定大小两种类型的VHD 文件,在Windows Virtual PC 和Virtual Server 中可以支持动态扩展、固定大小型和差分三种类型。

       在虚拟机使用一段时间后,如果VHD 是动态扩展型,随着虚拟机安装的软件越来越多VHD 的“体重”必然会逐日增加,本篇将为大家介绍如何为VHD “瘦身”,说是瘦身其实就是要对VHD 文件进行压缩(Compact)。注意,压缩操作只对动态扩展型VHD 其作用。如果你的VHD 是固定(Fixed)型,则需要先将其转换为动态型。如何确定我的VHD是什么类型?如何转换为动态型?请参考部分内容,如果你的VHD 文件已经是动态型可直接参考部分及以后内容。

 

1. VHD 格式转换

       打开Windows Virtual PC 找到相应的虚拟机文件点击设置(Settings),在窗口左侧的Setting 栏中找到带有.vhd 文件的Hard Disk 1,便可获得当前虚机VHD 文件类型:

 

点击修改(Modify)按钮,便可对.vhd 进行格式转换,这个转换过程时间可能较长,取决于VHD 文件大小:

 

2. VHD 预压缩

       在对VHD 进行真正压缩前,必须进行预压缩操作将虚拟磁盘上一些未使用的空间清除,否则后续的压缩操作也不会有任何效果。这时我们需要使用Windows Virtual PC 自带的Precompact 工具进行预压缩,这个工具便在Windows Virtual PC 安装目录下C:\Program Files\Windows Virtual PC\Integration Components\Precompact.iso。同样我们还是进入虚机的设置界面,选择“DVD Drive”,将Precompact.iso 放入其中,启动虚拟机:

 

进入虚拟后,打开光驱,执行precompact.exe 开始预压缩操作:

预压缩进行中,耐心等待… …

经过漫长等待后,预压缩完成:

 

3. VHD 压缩

       在预压缩结束后,我们就要开始真正的压缩操作了,在设置窗口找到Hard Disk 1,点击Modify

选择“压缩虚拟磁盘”(Compact virtual hard disk):

继续漫长的压缩等待… …

压缩完成后,看看VHD “减”了多少,因为我这个虚拟没装什么东东,所以效果可能不很明显:

 

相关参考资料

1. Compacting dynamically expanding virtual hard disks 

2. Modify a virtual hard disk 

3. Virtual Hard Disk Image Format Specification 

本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2010/02/24/compact-vhd.html,如需转载请自行联系原作者

你可能感兴趣的文章
阿拉伯数字1与英语字母l造成的代码bug
查看>>
深度学习常见的专业术语
查看>>
2018-2019-2 20165334《网络对抗技术》Exp2 后门原理与实践
查看>>
vue双向数据绑定最最最最最简单直观的例子
查看>>
HTML提交方式post和get区别(实验)
查看>>
Java 11.do语句
查看>>
学习理论之感知器与最大间隔分类器
查看>>
我们建了一个 Golang 硬核技术交流群(内含视频福利)
查看>>
Be Nice!要善良
查看>>
二、ansible配置简要介绍
查看>>
解决docker容器中无ifconfig命令和ping命令问题
查看>>
CHAR、TCHAR、WCHAR_T之间的区别与问题
查看>>
sql小计合计
查看>>
安装Java
查看>>
Ubuntu Linux输入法fcitx方块乱码解决设置
查看>>
node递归批量重命名指定文件夹下的文件
查看>>
python if not用法
查看>>
python-2
查看>>
选择器
查看>>
springMVC参数的获取区别
查看>>