无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 9484|回复: 15
打印 上一主题 下一主题

winxp、win7双VHD系统的重大缺陷!请qj_tzy老师进来看看!

[复制链接]
跳转到指定楼层
1#
发表于 2011-5-13 16:41:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是winxp、win7双VHD系统制作的原帖:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=192870&extra=page%3D1

重大的缺陷就出现在快速还原这个环节。

快速还原是利用grub4dos的dd命令来实现的。

关于grub4dos的dd命令,“grub4dos初级教程_CHM图文版_090411.CHM”有下面这样的描述:
dd 目前不支持创建文件,也不支持改变文件的长度,所以,不存在的文件是不能写入的。
把一个大的文件写入一个小的文件,这个小的文件不会变长。多余的部分扔掉了。
把一个小的文件写入一个大的文件,这个大的文件不会变短。未写的部分保持不变。

根据这样原理,每次快速恢复系统并再次运行VHD系统后,这个winxp_child.vhd文件的体积只会不断的变大。

我这里的实际测试也证明了这一点。

请看下面的图片。
      在安装VHD系统的时候,我设置VHD硬盘的大小是5GB,且为动态磁盘。在安装了基本系统加硬件驱动后我就做了差异盘,根据常理,父盘的最大尺寸是5GB,差异盘的体积也是不会超过5GB的,但在我的试验中,差异盘的尺寸已经突破了5GB的限制而达到了6.32GB,原因就是我多次执行GRUB4Dos的快速还原命令。每次快速还原都是将15kb的备份文件覆盖体积已经变得很大的差异盘,但是每次覆盖后差异盘的体积却没有变小。
     这样问题就出来了,因为虽然差异盘的体积没有变小,但是当我运行vhd系统后,从VHD系统内部来看,系统本身的的确确是被恢复到了初时状态了,每次恢复后的VHD系统的C盘都是还有4.2GB的可用空间。此时我再向VHD系统的C盘复制一个2GB的超大文件,再观察差异磁盘这文件,发现每次复制文件时,差异磁盘的体积就会直接增加2GB!这样只经过3次快速恢复的操作,差异磁盘的体积就超过了父盘的最大限额5GB。按照这样的情形下去,无论这个分区的体积有多大,最终都会被这个体积不断臃肿的差异盘而耗尽所有的硬盘空间!



[ 本帖最后由 1976yuan 于 2011-5-13 16:50 编辑 ]
2#
发表于 2011-5-13 21:52:45 | 只看该作者
真等到那时候你也可以删了这个vhd再重新建个不就好了,楼主过于担心了。。。
回复

使用道具 举报

3#
发表于 2011-5-14 09:44:42 | 只看该作者

回复 #1 1976yuan 的帖子

谢谢您的测试和反馈。

我觉得,若出现这一问题后,目前较好的解决办法是:进入WINPE,删除winxp_child.vhd等子VHD,复制winxp.ch_bak.vhd等备份子VHD为winxp_child.vhd等子VHD即可。

本来,终极的解决办法是,在启动菜单项时执行一ima映像包,此包的功能是执行与上述手动操作相同的功能,但在DOS下需在EISA隐藏的NTFS分区下进行,这一难题,本人无法解决,期待高手们的参与和提出解决之法。

[ 本帖最后由 qj_tzy 于 2011-5-14 10:14 编辑 ]
回复

使用道具 举报

4#
发表于 2011-5-14 10:06:38 | 只看该作者
搞个DOS镜像自动进入DOS删除文件,再复制winxp.ch_bak.vhd为winxp.ch.vhd,再加载grub返回启动菜单,貌似只要拿ghost.IMG修改不就行了么,这样不会出现dd的问题,也不要进入PE手动删除,那么麻烦
回复

使用道具 举报

5#
发表于 2011-5-14 11:27:18 | 只看该作者
dos也不是万能的。

回复

使用道具 举报

6#
发表于 2011-5-14 13:37:11 | 只看该作者
很简单grub4dos设置多个系统,或者放置pe启动文件,开机进另一个系统,或者pe删除,替换就行
回复

使用道具 举报

7#
发表于 2011-5-15 10:58:49 | 只看该作者
快速还原可以这样设计: 删除差分vhd,拷贝一份备份文件,再改名。

就这么简单,哪有你说的那么复杂?!!
回复

使用道具 举报

8#
发表于 2011-5-15 10:59:42 | 只看该作者
LZ的报告与0CAT的不符,见:http://bbs.wuyou.net/forum.php?m ... page%3D1&page=2

是不是因为LZ弄的是动态磁盘,而OCAT弄的是固定容量的磁盘缘故?
回复

使用道具 举报

9#
发表于 2011-5-15 12:22:50 | 只看该作者
原帖由 2011dingfei 于 2011-5-15 10:58 发表
快速还原可以这样设计: 删除差分vhd,拷贝一份备份文件,再改名。

就这么简单,哪有你说的那么复杂?!!


删除也好,改名也罢,都需要在vhd系统以外的系统下完成,这才是问题的关键。
回复

使用道具 举报

10#
发表于 2011-5-15 14:32:47 | 只看该作者
谁说母盘5GB,差分动态磁盘就一定是或者小于5GB了?如果养分磁盘建立时大于5GB,而在使用时装的东西太多,超过5GB是十分正常的事情。如果只是使用G4D的DD命令进行复制覆盖,绝对不会搞大差分磁盘的体积,除非你自己使用的差分磁盘在使用时就搞大了。
回复

使用道具 举报

11#
发表于 2011-5-15 20:42:00 | 只看该作者
原帖由 victor888 于 2011-5-15 10:59 发表
LZ的报告与0CAT的不符,见:http://bbs.wuyou.net/forum.php?m ... ;tid=183850&extra=page%3D1&page=2

是不是因为LZ弄的是动态磁盘,而OCAT弄的是固定容量的磁盘缘故?


做差分的,应该不会是固定大小的VHD吧
回复

使用道具 举报

12#
发表于 2011-5-24 22:42:56 | 只看该作者
VHD 记录磁盘信息 不是文件信息     如 可恢复已删除文件  你说 VHD文件怎么用会变小呢    肯定会越来越大
回复

使用道具 举报

13#
发表于 2011-5-25 09:24:40 | 只看该作者

回复 #12 2010hymz 的帖子

本来用DD命令还原并不能使目标子VHD变小,但还原后,用vboot启动子VHD文件时,vboot会自动对子VHD文件进行处理,会使其变小,由此间接达到了子VHD文件变小的目的。
回复

使用道具 举报

14#
发表于 2011-5-25 12:30:48 | 只看该作者
原帖由 victor888 于 2011-5-15 10:59 发表
LZ的报告与0CAT的不符,见:http://bbs.wuyou.net/forum.php?m ... page%3D1&page=2

是不是因为LZ弄的是动态磁盘,而OCAT弄的是固定容量的磁盘缘故?


我弄的也是动态的,就像楼上说的,执行DD命令后,文件大小是不变的,但你用过一次后,VHD文件就会自动改变体积了,除非DD命令有BUG,不然,楼主所但心的问题是不存在的。。。
回复

使用道具 举报

15#
发表于 2011-5-28 00:21:17 | 只看该作者
哈哈,郁闷咯。我一直想用双系统来的
回复

使用道具 举报

16#
发表于 2011-7-7 23:06:41 | 只看该作者
进Diskgen后删除和复制文件,这个耗时最短
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-28 20:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表