VirtualBox的Windows虚拟机磁盘回收压缩

virtualBox的磁盘空间不会因为在虚拟机中删除东西后释放,这就导致.vmdk或.vdi文件特别越来越大。而且它不像VMware那样在菜单中就能清理,只能使用VBoxManage通过命令行清理。

先在虚拟机中从微软官网下载SDelete (https://technet.microsoft.com/en-us/sysinternals/bb897443),下载完成后解压将其放在任一位置,然后cmd进入到刚刚存放的目录下(简单点,直接放在c盘根目录下,打开cmd执行C:\sdelete -z c:\),执行

sdelete –z c:\

意思就是把整个c盘下的未使用的磁盘空间标记为0,等待执行完后把虚拟机关机,在主机中使用vitrualBox自带的工具进行清理。

如果虚拟硬盘是VirtualBox自己的VDI格式那压缩相对简单,打开CMD,执行:

cd C:\Program Files\Oracle\VirtualBox\     (virtualBox的默认安装目录,依据安装位置更改)
VBoxManage modifyhd F:\OS\xp.vdi –compact  (F:\OS\xp
### 减少 Oracle VM VirtualBox虚拟机的占用空间 对于 Oracle VM VirtualBox 用户来说,当遇到因编译安装或其他原因导致磁盘空间急剧增加的情况时,可以通过一系列措施使虚拟硬盘瘦身。具体做法如下: #### 清理无用数据 在执行任何瘦身操作之前,建议先清理掉不需要的数据文件以及缓存文件。这一步骤不仅能够释放部分可用空间,而且有助于后续步骤更好地工作。 #### 填充零字节文件 为了让未使用的扇区标记为空闲状态以便于压缩工具识别并去除这些区域所占据的空间,在 Linux 或者其他支持的操作系统上可以创建一个尽可能大的全0填充文件,并随后将其删除。此过程会使得那些曾经存储过已删除文件的地方被覆盖成空白,从而更容易被压缩算法检测到作为可回收的部分[^1]。 ```bash dd if=/dev/zero of=zerofill bs=1M rm zerofill ``` 这段命令首先利用 `dd` 工具从 `/dev/zero` 设备读取大量连续的零写入名为 "zerofill" 的临时文件中;接着通过 `rm` 删除该文件以完成清空动作。 #### 使用 VBoxManage compact 命令 一旦完成了上述准备工作之后,则可通过 VirtualBox 自带的命令行工具——VBoxManage 来实现对 vmdk 文件的实际缩小效果。需要注意的是,这里假设读者已经关闭了目标虚拟机并且确认其对应的 .vmdk 文件路径正确无误。 ```shell VBoxManage modifymedium disk /path/to/disk.vmdk --compact ``` 这条指令告诉 VirtualBox 尝试紧缩指定位置处的磁盘映像,即移除其中不再需要的内容来达到节省物理储存的目的[^4]。 #### 关闭快照功能或合并快照 如果频繁使用快照特性的话可能会造成额外大量的冗余副本累积起来挤占宝贵的资源。因此考虑定期评估是否真的有必要保留所有的历史版本记录,必要时不吝惜地清除旧有的不必要的快照或将它们合成为一个最新的稳定版镜像[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值