[分享]发现VBOX中的一个问题,可能是一个比较严重的Bug

Kvm、VMware、Virtualbox、Xen、Qemu 等
头像
superjian1987
帖子: 74
注册时间: 2007-01-12 12:24
来自: 广州
联系:

[分享]发现VBOX中的一个问题,可能是一个比较严重的Bug

#1

帖子 superjian1987 » 2007-08-29 10:20

前几天由于学习的需要,在Vbox中装了Win2003,给了它10G的空间,是动态的。但这天发现一开机就有点问题,后来发现磁盘用到100%,吓倒我了,我知到一定不可能会这样。先前我还以为是中了windows的病毒,因为我装了CrossOver(基于wine)。但后来我发现本来在win2003里面显示占用4.2G的,然而在linux下就显示8G多。我在vbox中还有一个xp,用了几个星期了都没有这种事。是不是vbox对win2003支持不好啊??!!
Looking out of the window, staying out of the sun

So I chose freedom
palomino
帖子: 15
注册时间: 2006-06-29 16:29

#2

帖子 palomino » 2007-08-29 11:24

我的win2k3的系统盘也占了8G多硬盘空间。这个数字和你win系统下显示的肯定不一样。vdisk分配过的空间是不会自己缩小回去的,所以像vmware这样的虚拟机才提供了shrink vdisk的功能来释放掉多占用的空间。vbox里貌似没有内置shrink的功能,但我似乎在网上看到过这样的工具程序,楼主不妨找找。不过我猜你下次启动win2k3时建立交换文件肯定又会把vdisk撑大了 :)
头像
superjian1987
帖子: 74
注册时间: 2007-01-12 12:24
来自: 广州
联系:

#3

帖子 superjian1987 » 2007-08-29 12:46

palomino 写了:不过我猜你下次启动win2k3时建立交换文件肯定又会把vdisk撑大了 :)
可能这是这个原因,明明只占4G多,现在占了个8G多,好不爽。有谁能发个释放工具给我。
Looking out of the window, staying out of the sun

So I chose freedom
nicechao
帖子: 5
注册时间: 2006-07-28 16:08

#4

帖子 nicechao » 2007-08-30 21:08

superjian1987 写了:
palomino 写了:不过我猜你下次启动win2k3时建立交换文件肯定又会把vdisk撑大了 :)
可能这是这个原因,明明只占4G多,现在占了个8G多,好不爽。有谁能发个释放工具给我。
可以试下下面的命令
VBoxManage modifyvdi
头像
superjian1987
帖子: 74
注册时间: 2007-01-12 12:24
来自: 广州
联系:

#5

帖子 superjian1987 » 2007-08-31 11:38

nicechao 写了:
superjian1987 写了:
palomino 写了:不过我猜你下次启动win2k3时建立交换文件肯定又会把vdisk撑大了 :)
可能这是这个原因,明明只占4G多,现在占了个8G多,好不爽。有谁能发个释放工具给我。
可以试下下面的命令
VBoxManage modifyvdi

superjian@superjian-laptop:~$ VBoxManage modifyvdi
VirtualBox Command Line Management Interface Version 1.4.0
(C) 2005-2007 innotek GmbH
All rights reserved.

Usage:

VBoxManage modifyvdi <uuid>|<filename>
compact


Syntax error: Incorrect number of parameters


不知出什么问题了?
Looking out of the window, staying out of the sun

So I chose freedom
头像
oneleaf
论坛管理员
帖子: 10441
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

#6

帖子 oneleaf » 2007-08-31 12:33

VBoxManage modifyvdi 还要加上文件名
VBoxManage modifyvdi <uuid>|<filename>
Syntax error: Incorrect number of parameters
头像
superjian1987
帖子: 74
注册时间: 2007-01-12 12:24
来自: 广州
联系:

#7

帖子 superjian1987 » 2007-08-31 22:36

oneleaf 写了:VBoxManage modifyvdi 还要加上文件名
VBoxManage modifyvdi <uuid>|<filename>
Syntax error: Incorrect number of parameters
还是不会,请再指点。什么是uuid,filename又是那个?
能给个真实的实例吗?
Looking out of the window, staying out of the sun

So I chose freedom
listee
帖子: 7
注册时间: 2005-05-23 19:01
联系:

#8

帖子 listee » 2007-09-06 15:46

VBoxManage modifyvdi ~/xp.vdi compact
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#9

帖子 bones7456 » 2007-09-06 16:35

经实验,5.5G的vdi文件compact了以后还是5.5G。。。
关注我的blog: ε==3
头像
superjian1987
帖子: 74
注册时间: 2007-01-12 12:24
来自: 广州
联系:

#10

帖子 superjian1987 » 2007-09-08 19:13

bones7456 写了:经实验,5.5G的vdi文件compact了以后还是5.5G。。。
再次证明是没有用的。
10G的动态空间,用了不到5G,但在linux中显示8G多。用了后还是在linux中显示8G多。 :em20 :em21
Looking out of the window, staying out of the sun

So I chose freedom
mily
帖子: 107
注册时间: 2006-11-02 13:12

#11

帖子 mily » 2007-09-08 19:33

我的做法
安装好需要的软件
新建一个磁盘文件
把两个盘挂到另一个虚拟机上
删除磁盘垃圾,虚拟内存文件,
ghost全盘拷贝
删除原有的磁盘镜像文件
此时新建磁盘文件占用实际的空间
新建虚拟机,挂载新的磁盘文件
不要启动,建立快照
从此后有任何改动均存在于建立快照之后的快照磁盘文件中
用一段时间后,删除快照再重新建立一次即可
当然也是没办法的办法
不过还是管用的
头像
superjian1987
帖子: 74
注册时间: 2007-01-12 12:24
来自: 广州
联系:

#12

帖子 superjian1987 » 2007-09-10 9:19

mily 写了:我的做法
安装好需要的软件
新建一个磁盘文件
把两个盘挂到另一个虚拟机上
删除磁盘垃圾,虚拟内存文件,
ghost全盘拷贝
删除原有的磁盘镜像文件
此时新建磁盘文件占用实际的空间
新建虚拟机,挂载新的磁盘文件
不要启动,建立快照
从此后有任何改动均存在于建立快照之后的快照磁盘文件中
用一段时间后,删除快照再重新建立一次即可
当然也是没办法的办法
不过还是管用的
好像十分麻烦滴。这样的方法不太实用吧
Looking out of the window, staying out of the sun

So I chose freedom
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#13

帖子 bones7456 » 2007-09-10 9:23

mily 写了:我的做法
安装好需要的软件
新建一个磁盘文件
把两个盘挂到另一个虚拟机上
删除磁盘垃圾,虚拟内存文件,
ghost全盘拷贝
删除原有的磁盘镜像文件
此时新建磁盘文件占用实际的空间
新建虚拟机,挂载新的磁盘文件
不要启动,建立快照
从此后有任何改动均存在于建立快照之后的快照磁盘文件中
用一段时间后,删除快照再重新建立一次即可
当然也是没办法的办法
不过还是管用的
累不?为个虚拟机的几G空间搞成这样。。。值得吗?
关注我的blog: ε==3
头像
daviszhao
帖子: 56
注册时间: 2006-07-19 22:31
联系:

[分享]

#14

帖子 daviszhao » 2007-12-10 11:31

bones7456 写了:经实验,5.5G的vdi文件compact了以后还是5.5G。。。
在Vbox的手册里有说明啊:
8.13. VBoxManage modifyvdi
The modifyvdi command can be used to compact disk images, i.e. remove blocks that only contains zeroes. For this operation to be effective, it is required to zero out free space in the guest system using a suitable software tool.
这里的“a suitable software tool”在windows guest中可以试试 http://www.heidi.ie/eraser
linux的没有去找,大家看我处理后的结果:
$ ll -h
总用量 3.9G
-rw------- 1 daviszhao daviszhao 3.9G 2007-12-10 12:01 2003.vdi
$ VBoxManage modifyvdi /VBOX/VDI/2003.vdi compact
VirtualBox Command Line Management Interface Version 1.5.2
(C) 2005-2007 innotek GmbH
All rights reserved.

Shrinking '/VBOX/VDI/2003.vdi': 0%...........10%..........20%..........30%..........40%..........50%..........60%..........70%..........80%..........90%..........100%
$ll -h
总用量 3.5G
-rw------- 1 daviszhao daviszhao 3.4G 2007-12-10 12:09 2003.vdi
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45

#15

帖子 fanhe » 2007-12-10 23:53

如果确定的话最好不要用动态扩展的硬盘,动态扩展就是一直增大,知道最大为止的,即使你删了windows里面的文件
回复