文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» Windows » 如何有效的压缩虚拟磁盘       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [转载] 如何有效的压缩虚拟磁盘  ( 查看:251  回复:0 )   
 
特爱蚂蚁
管理员  点击可查看详细


诚信兄弟   行业勋章   技术勋章   管理员专用   十二生肖之牛  
帖子 1692
精华 3
无忧币 3294
积分 1585
阅读权限 255
来自 (保密)
注册日期 2008-6-3
最后登录 2008-10-13 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-7-7 17:11   标题:如何有效的压缩虚拟磁盘
上一帖 |
在使用虚拟机时,可能虚拟硬盘文件占用了宿主机上的大量硬盘空间让你很头痛吧,那么如何有效的减少虚拟硬盘文件所占用的硬盘空间呢?
x1Y9^|;e'Pu"_51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|你可以采用以下两个方法: 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|%`A'm9J;p+t1L
51CTO技术论坛#q
e3O'gd5ti0X

压缩虚拟硬盘。微软已经考虑到了虚拟硬盘文件会占用大量的硬盘空间,因此在VPC和VS中均附带了虚拟硬盘压缩功能,支持对动态扩展类型的虚拟硬盘进行压缩,从而减少虚拟硬盘文件所占用的硬盘空间。 ]E sj$d'`:k+|+Do.N\

        @u[*RM k!a0Du51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|针对虚拟硬盘文件启用NTFS压缩功能。这可以显著的降低虚拟硬盘文件所占用的硬盘空间,但是带来的后果是降低了宿主机的磁盘读写性能,从而导致虚拟机的性能降低,建议只有在特别需要时才使用此功能。 K#u"`+h5YT1]N]t
这两个方法是相互独立的,你可以同时使用这两个方法。启用NTFS压缩非常简单,但是会降低性能,因此我不推荐你使用这种方式。在这篇文章中,我将为大家介绍一下如何有效的压缩虚拟磁盘。 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|4S*ez)a6I
X

首先介绍一下VPC和VS中虚拟硬盘压缩的原理。虚拟硬盘压缩只支持对动态扩展类型的虚拟硬盘进行压缩,不支持压缩其他类型的虚拟硬盘。当使用动态扩展类型的虚拟硬盘时,VPC和VS会根据虚拟机的需求动态扩展宿主机上虚拟硬盘文件所占用的硬盘空间;但是当虚拟机中删除文件后,虽然虚拟机中不再使用被删除的文件所占用的那部分磁盘空间,但是VPC和VS并不会相应的减少宿主机上虚拟硬盘所占用的硬盘空间,你必须通过压缩虚拟硬盘,才能根据虚拟机所使用的磁盘空间大小来减少宿主机上虚拟硬盘所占用的硬盘空间大小。回想一下虚拟机中不同虚拟硬盘类型的特性(参考Virtual PC 使用指南一文中的创建虚拟硬盘一节),你就可以明白为什么只有动态扩展类型的虚拟硬盘才支持压缩。
c%r,m6p z51CTO技术论坛那么,VPC和VS如何判断虚拟硬盘文件中的哪部分数据是虚拟机所使用的,而哪部分数据是虚拟机未使用的呢?关于这个压缩机制,微软只是在官方文档中简单的提及当执行磁盘压缩时,将移除所有只是包含数据“0”的扇区。不过由于在删除文件时,Windows系统并没有把被删除的文件所占用的硬盘扇区进行清零处理,而是简单的把这些硬盘扇区标注为可以使用,因此微软在VPC 2004 SP1和VS中均提供了一个Precompactor工具,它可以把未使用的扇区进行清零处理(用数据“0”覆写整个扇区),从而便于进行磁盘压缩。
7x
U%M7\4\v$L6qo
从上面的磁盘压缩原理可以看出,它只能从宿主机上的虚拟硬盘文件中清除虚拟机未使用的磁盘空间,并不能对虚拟机所使用的磁盘空间进行压缩操作,因此对于磁盘压缩而言,最好的效果就是压缩后的虚拟硬盘文件大小非常接近于虚拟机中所使用的磁盘空间大小C1k+q%ya
因此,在压缩虚拟硬盘文件之前,我们必须先在虚拟机中进行预压缩处理,以Undo磁盘禁用模式启动虚拟机,然后进行以下三个操作步骤:
F_8]!T:tbbs.51cto.com1、在虚拟机中删除临时文件和不必要的文件,具体的操作步骤如下:
pIS}IW @(c51CTO技术论坛
5?.JH,H:ob'Nlj51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|首先,对Windows组件进行处理,删除不需要的组件;你也可以删除Windows目录下不需要的文件,不过我不建议这样做,如果需要建议只是删除*.log文件;
R5ka bG_4?"O!K7h#Nbbs.51cto.comd6M*I
y I['P j

然后,删除不需要的其他应用程序; Y6UZ7Z*z
51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|H3vf"kk!fW
禁用虚拟内存(可能需要重启虚拟机); bbs.51cto.com'u7o*zr:_)O@-i

+z        b x7bp/Z*x最后,删除临时文件并清空回收站。默认情况下,Windows系统的临时文件主要存放在以下几个目录:
4t.`6^I#A1YF-a51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|
c&W.T-xg[.F51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|%systemroot%\temp,默认为c:\windows\temp,存放Windows系统的临时文件 #~(~X{*S'H;r"j0g#g

lQxO^8Y
\+|
%userprofile%\%username%\Local Settings\temp,默认为C:\Documents and Settings\%username%\Local Settings\Temp,存放用户的临时文件,如果有多个用户,则分别进行删除;
\nn h,Q ibK
*c%}0~ e3T0L!{51CTO技术论坛%userprofile%\%username%\Local Settings\Temporary Internet Files,默认为C:\Documents and Settings\%username%\Local Settings\Temporary Internet Files,存放用户的Internet临时文件,如果有多个用户,则分别进行删除; bbs.51cto.com$F ubN3T7l3b
R

2、在虚拟机中进行磁盘碎片整理。磁盘碎片整理可以极大的提高VPC和VS在进行磁盘压缩时识别未使用的磁盘空间的能力,对于Windows 2000之后的Windows系统而言,使用自带的磁盘碎片整理程序即可,不过经过我的多次对比测试,使用Executive Diskeeper来进行磁盘碎片整理具有最好的效果(Windows 2000及其后系统中所提供的磁盘碎片整理程序就是Diskeeper的简化版本),大家可以点击此链接下载Diskeeper的试用版本。
nS qY:WR!^e/t,H51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|3、在虚拟机中运行Precompactor工具对未使用的扇区进行清零处理。Precompactor工具通过一个光盘镜像的方式提供,当挂接到虚拟机中时,可以利用Windows的光盘自动播放功能运行。具体的操作方式VPC和VS略有不同: 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|"mM$G d&t4g8H0UP
VPC:
vi3M{.Uo)tq51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|当虚拟机运行后,点击CD菜单下的捕获ISO镜像
MJ9S/nc+G-BH51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|
L$g!YI+s'Z然后在弹出的选择捕获的CD镜像对话框中,选择VPC安装目录(默认为C:\Program Files\Microsoft Virtual PC)的Virtual Machine Additions子目录下的Virtual Disk Precompactor.iso文件,然后点击打开
.hb/I/[2\8R`&qtq*T3F51CTO技术论坛 /O*nO/{(K;R'}q
此时,此ISO镜像挂接到虚拟机中,由于光驱的自动播放特性自动运行,你只需要在弹出的提示框上点击即可,此时Precompactor工具开始工作;如果没有自动播放,则浏览到相应的光驱根目录运行precompact.exe即可。 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|nx8M+tLe'X7m.d!p
+p-P/N\O6|.M
N*a

  51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|K        fO%F;}-j9F9aX@:J?
VS:
'w~Mw khbbs.51cto.com当虚拟机运行时,在VS Web管理控制工具中配置此虚拟机的选项,然后选择CD/DVD,然后在CD/DVD驱动器属性页,选择已知的镜像文件中的VS安装目录(默认为C:\Program Files\Microsoft Virtual Server)下的Virtual Machine Additions\Precompact.iso即可,如下图所示,运行方式和VPC一致。 ~_i4zfZ
51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|W7czM |W"D#vf
当Precompactor工具执行完成后,在虚拟机中点击开始菜单,按照正常步骤关闭Windows系统。
E*?*r2Qm@bbs.51cto.com 51CTO技术论坛P!h.~ vD^z G+`
此时,我们即可对虚拟磁盘进行压缩,压缩过程中需要保证具有足够的临时硬盘空间(大约为两倍虚拟硬盘文件的大小),否则可能会因为临时空间不足导致压缩失败。
        PG!Fg@*?8V^VPC和VS中执行磁盘压缩的方式略有不同: 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|@I8H S;Clg#W
VPC: hW8F SO_        Y@ R
在VPC管理控制台中点击文件菜单下的虚拟磁盘向导4`e.G6~3e s
%OJ%L
CN8_#Sv;}

然后在弹出的欢迎试用虚拟磁盘向导页,点击下一步
%Qj~5B#E,Kd&fbbs.51cto.com磁盘选项页,选择编辑一个现有磁盘,点击下一步,p&sp'S`?5A
Y&V3Pv"u?C
需要编辑的虚拟磁盘页,选择你需要编辑的动态扩展磁盘,点击下一步Af$^W?0E.AG]
bbs.51cto.comyT#Y2V q5KcZ'[iO
虚拟磁盘信息和选项页,选择压缩它,点击下一步
}        |6U'|8RT
6c1Si0d;Iu虚拟硬盘压缩页,你可以选择将压缩后的虚拟硬盘替换现有硬盘新建一个虚拟硬盘,选择后点击下一步51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|HC+l+jA*uJr`*j        l
bbs.51cto.com(VLp^,cgR
最后在正在完成虚拟磁盘向导页点击完成,此时即开始进行虚拟硬盘的压缩。
"B9?8w        `h6Fp^$vVS: 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|4uCB!{1skk:Lhq(N
在VS Web管理控制工具点击虚拟磁盘下的检查链接, %Z~#rC5FdhY
}xpu r~ D@ qO
然后在右边的检查虚拟硬盘页,选择需要进行压缩的动态扩展磁盘,点击检查按钮; 51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|Tz@r|x
51CTO|计算机|网络|信息|技术|安全|路由器|网管|Windows|Vista|数据库|网站|开发|下载|灌水|6e-p1]1E(oN&i@z s
然后在虚拟硬盘属性页,选择压缩虚拟硬盘51CTO技术论坛"]0y/?#P;Y'ZQX ~:uF
bbs.51cto.com/a&@6js$z&y
最后在压缩虚拟硬盘页,点击压缩按钮; ]5B'I0iD
}!dv

51CTO技术论坛 K9H4s'hn
此时VS即开始压缩虚拟硬盘,根据虚拟硬盘的大小和宿主机的性能等待一段时间后完成。
5U
~0[5W;SL
如下图所示,我对虚拟硬盘进行压缩后,它所占用的宿主机上的磁盘空间只是比虚拟机中所使用的磁盘空间多了45M左右: jM(Ilv

2SRP3R}7z}3|*?51CTO技术论坛



善用论坛论坛搜索功能会使您事半功倍 ...
建议大家发帖前先抬头看看整个论坛和板块的置顶帖了解论坛各项最新制度 ...
请选用高效的沟通方式来和大家沟通 ...同时应该具备一些提问的智慧 ...
勤劳致富,无忧币不再是难题 ...
2008-7-7 17:111楼
[ 顶部 ]
     
论坛跳转:  

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号