米葫芦网

如何有效的压缩虚拟磁盘

热度:10℃ 发布时间:2023-11-16 20:06:37

在使用虚拟机时,可能虚拟硬盘文件占用了宿主机上的大量硬盘空间让你很头痛吧,那么如何有效的减少虚拟硬盘文件所占用的硬盘空间呢?

你可以采用以下两个方法:

压缩虚拟硬盘。微软已经考虑到了虚拟硬盘文件会占用大量的硬盘空间,因此在VPC和VS中均附带了虚拟硬盘压缩功能,支持对动态扩展类型的虚拟硬盘进行压缩,从而减少虚拟硬盘文件所占用的硬盘空间。

针对虚拟硬盘文件启用NTFS压缩功能。这可以显著的降低虚拟硬盘文件所占用的硬盘空间,但是带来的后果是降低了宿主机的磁盘读写性能,从而导致虚拟机的性能降低,建议只有在特别需要时才使用此功能。

这两个方法是相互独立的,你可以同时使用这两个方法。启用NTFS压缩非常简单,但是会降低性能,因此我不推荐你使用这种方式。在这篇文章中,我将为大家介绍一下如何有效的压缩虚拟磁盘。

首先介绍一下VPC和VS中虚拟硬盘压缩的原理。虚拟硬盘压缩只支持对动态扩展类型的虚拟硬盘进行压缩,不支持压缩其他类型的虚拟硬盘。当使用动态扩展类型的虚拟硬盘时,VPC和VS会根据虚拟机的需求动态扩展宿主机上虚拟硬盘文件所占用的硬盘空间;但是当虚拟机中删除文件后,虽然虚拟机中不再使用被删除的文件所占用的那部分磁盘空间,但是VPC和VS并不会相应的减少宿主机上虚拟硬盘所占用的硬盘空间,你必须通过压缩虚拟硬盘,才能根据虚拟机所使用的磁盘空间大小来减少宿主机上虚拟硬盘所占用的硬盘空间大小。回想一下虚拟机中不同虚拟硬盘类型的特性(参考Virtual PC 使用指南一文中的创建虚拟硬盘一节),憔涂梢悦靼孜裁粗挥卸┱估嘈偷男槟庥才滩胖С盅顾酢?/FONT>

那么,VPC和VS如何判断虚拟硬盘文件中的哪部分数据是虚拟机所使用的,而哪部分数据是虚拟机未使用的呢?关于这个压缩机制,微软只是在官方文档中简单的提及当执行磁盘压缩时,将移除所有只是包含数据“0”的扇区。不过由于在删除文件时,Windows系统并没有把被删除的文件所占用的硬盘扇区进行清零处理,而是简单的把这些硬盘扇区标注为可以使用,因此微软在VPC 2004 SP1和VS中均提供了一个Precompactor工具,它可以把未使用的扇区进行清零处理(用数据“0”覆写整个扇区),从而便于进行磁盘压缩。

从上面的磁盘压缩原理可以看出,它只能从宿主机上的虚拟硬盘文件中清除虚拟机未使用的磁盘空间,并不能对虚拟机所使用的磁盘空间进行压缩操作,因此对于磁盘压缩而言,最好的效果就是压缩后的虚拟硬盘文件大小非常接近于虚拟机中所使用的磁盘空间大小。

因此,在压缩虚拟硬盘文件之前,我们必须先在虚拟机中进行预压缩处理,以Undo磁盘禁用模式启动虚拟机,然后进行以下三个操作步骤:

1、在虚拟机中删除临时文件和不必要的文件,具体的操作步骤如下:

首先,对Windows组件进行处理,删除不需要的组件;你也可以删除Windows目录下不需要的文件,不过我不建议这样做,如果需要建议只是删除*.log文件;

然后,删除不需要的其他应用程序;

禁用虚拟内存(可能需要重启虚拟机);

最后,删除临时文件并清空回收站。默认情况下,Windows系统的临时文件主要存放在以下几个目录:

%systemroot%temp,默认为c:windowstemp,存放Windows系统的临时文件

%userprofile%%username%Local Settingstemp,默认为C:Documents and Settings%username%Local SettingsTemp,存放用户的临时文件,如果有多个用户,则分别进行删除;

%userprofile%%username%Local SettingsTemporary Internet Files,默认为C:Documents and Settings%username%Local SettingsTemporary Internet Files,存放用户的Internet临时文件,如果有多个用户,则分别进行删除;

2、在虚拟机中进行磁盘碎片整理。磁盘碎片整理可以极大的提高VPC和VS在进行磁盘压缩时识别未使用的磁盘空间的能力,对于Windows 2000之后的Windows系统而言,使用自带的磁盘碎片整理程序即可,不过经过我的多次对比测试,使用Executive Diskeeper来进行磁盘碎片整理具有最好的效果(Windows 2000及其后系统中所提供的磁盘碎片整理程序就是Diskeeper的简化版本),大家可以点击此链接下载Diskeeper的试用版本。

3、在虚拟机中运行Precompactor工具对未使用的扇区进行清零处理。Precompactor工具通过一个光盘镜像的方式提供,当挂接到虚拟机中时,可以利用Windows的光盘自动播放功能运行。具体的操作方式VPC和VS略有不同:

VPC:

网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载