Linux虚拟机磁盘使用情况疑问,请高手解答!

我的Linux虚拟机是Ubuntu,分配的虚拟空间是20G,下面是磁盘使用情况,我这个虚拟机是从别人那直接拷贝过来的,文件夹就有18G,感觉有点太大了?
tidetime@Tidetime:~$ df -lh
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 19G 19G 0 100% /
varrun 252M 240K 252M 1% /var/run
varlock 252M 0 252M 0% /var/lock
udev 252M 48K 252M 1% /dev
devshm 252M 172K 252M 1% /dev/shm
lrm 252M 39M 213M 16% /lib/modules/2.6.24-21-generic/volatile
gvfs-fuse-daemon 19G 19G 0 100% /home/tidetime/.gvfs
我想问几个问题:
1.如果我的虚拟机放在win下的D盘,那么虚拟机的虚拟硬盘大小只会占用D盘的空间还是会占用其他盘的。
2.我看都没放什么东西,为什么提示没有剩余空间呢,在/目录下,使用ls -lah查看占用情况,发现所有文件只占用了几兆啊,那19G剩余的看不到的去哪了?
麻烦高人一一解答下,感激!

不用关注gvfs-fuse-daemon,他就是个网络虚拟文件,并不占用大小。
1、你放在哪个盘虚拟机就会占用哪个盘,不过虚拟机很容易扩展磁盘,可以把扩展磁盘放到其他盘符下。
2、使用ls -alh是无法查看磁盘占用情况的,你要使用df命令查看结果(呵呵,你已经用了)。
df --block-size=1M //以兆比特来显示,你也可以指定为G , df--block-size=1G
之所以没有剩余空间,因为你的虚拟磁盘文件指定大小为20G左右,当你虚拟机磁盘文件接近时就无法使用了。你的任务就是释放虚拟磁盘空间。

3、虚拟机文件越用越大问题。这是虚拟机的一个通病,就是即使你不使用,磁盘空间也会越来越大。实际占用空间远远小于虚拟机文件。所以你需要定期释放虚拟机磁盘空间。现在比较好的解决方案就是安装vmware-tool驱动,通过安装的vmware-toolbox工具来释放被占用的磁盘空间。(ubuntu可以在软件中心或新立得软件源去找toolbox或vmware字样,都可以找到,直接升级即可),不过如果你想释放磁盘空间,虚拟机必须最少分两个虚拟磁盘(或许还有其他办法,但是我没有找到)。如果你只有一个磁盘,就再新建一个虚拟磁盘,通过这个磁盘挂载系统磁盘(具体创建方法(以vm7为例):菜单→虚拟机→设置→硬件(或hardware→添加(或add)→磁盘(或hard disk),点击下一步,选择创建一个新的磁盘,下一步后选择SCSI,而在这里,有个模式,就是是否允许在该磁盘独立,如果你是用于放置源代码或开发代码,就要选择独立,并选择永久性的,否则不要选择独立(不独立就可以创建快照,一还原就回到原始状态),在下一步后指定磁盘大小,并选择“单个文件存储虚拟磁盘”(如果你放虚拟机的文件所在磁盘为ntfs格式,否则就选择“以每个文件为2GB存储磁盘”)),然后在命令提示符中输入 sudo vmware-toolbox ,输入密码后,选择shrink,选择你的 / 目录 ,再点击shrink即可,这样就可以释放虚拟磁盘浪费的空间了。还是那句话,你必须回扩展磁盘。并且要知道怎么把扩展的磁盘挂载到 / 目录下。新版ubuntu已经比较人性化,你新加的磁盘建立成功后就会自动挂载到计算机目录下,你选择位置→计算机,你单击右键直接格式化成ext3格式,然后:
1、输入:sudo mkdir /mnt/disk1 //建立挂载目录
2 输入: mount /dev/sdb1 /mnt/disk1 //如果你以前只有一个磁盘,如果以前有两个磁盘,就不需要建立新磁盘了,或者就把那个sdb1改为sdc1,以此类推。
如果想开机自动挂载到相应目录下,可以修改fstab文件
1、先查询要挂载的磁盘的uuid
ls -al /dev/disk/by-uuid
说明:这时你会发现你的磁盘,以及相应的uuid编码(很长的那一段十六进制数字),找准你的磁盘,复制下来UUID
2、然后编辑fstab目录
sudo gedit /etc/fstab
然后再文件的结尾写上如下信息:
UUID=d2d5d6a0-a2b9-4ef2-b5f0-538fd741a80d /mnt/disk1 ext3 defaults 0 2
说明:UUID就是对应着你的新建磁盘的uuid编码,替换即可。这是你可以进入/mnt/disk浏览你新建的磁盘了。如果嫌/mnt/disk1太难找,可以直接建立在 / 目录下 如 /work
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-29
占D盘的
首先虚拟机的磁盘空间在win下面是一个类似vmdk后缀名的文件,一般是在虚拟机下用多少,在win下就占多少。
然后你在虚拟机里没有磁盘空间可能你装的软件或者开发包太多了,一些驱动模块在这个虚拟机里也编译进去了等等。你ls -lah只是看的/目录下文件夹的大小和文件的大小,并不是看得所以文件的大小追问

我想问下,我从别人那拷贝过来的虚拟机目录有18G,那这18G是光安装文件的大小呢,还是说已经将划分的虚拟硬盘空间算在内了?感谢!

追答

包括了你虚拟硬盘在内的大小/

第2个回答  2011-07-29
1、D盘
2、从你上面的信息我看到你的根目录已经满了啊可用空间都为0了。。。。其他挂载点也之分出了252M,况且是一些特殊挂载,不是像/dev/sda1这样的标准文件系统,像devshm这个是内存内的。
#du -akx / | sort -nr | more [目录] ==>所有文件会从大到小排列,具体可以搜一下du的用法,找到时什么占用了你的空间,然后如果是日志等就把他们删掉。追问

我想问下,gvfs-fuse-daemon分区和/dev/sda1有什么区别吗?看着大小是一样的?

追答

用过瑞星加密盘吗?那个东西就是你设定了多大的加密盘空间,就会产生一个多大的文件,道理一样,虚拟一个多大的系统,也会产生一个多大文件。不是安装文件吧。。。。

第3个回答  2011-07-29
哥哥,你这个ls -lah命令不能看目录的大小哇~~~~~~~~你失误在这里了。
要看目录的大小, 你需要使用du -sh 目录名。
这个虚拟机肯定是装了什么东西,或者存了什么东西了。
你完全可以自己安装一个,时间不长,最多一个小时,还能练练手,何乐而不为呢
第4个回答  2011-07-30
本问题的答案你看其他人的就好,但我想说用什么虚拟机,直接装真机,用10.04的iso镜像(其他镜像不行),用UltraISO刻到U盘,重启机子U盘启动,装就是了。。。
相似回答