VMware--解决vmdk越来越大的问题(vmdk瘦身)

原文网址:VMware--解决vmdk越来越大的问题(vmdk瘦身)-CSDN博客

简介

本文介绍VMware解决vmdk越来越大的问题的方法。

问题描述

刚开始虚拟机的vmdk还不大,也就1G左右。用着用着,它越来越大,到了30多G!

原因分析

VMDK文件之所以大,是因为guest系统总是占用空间而不释放。

虚拟机删除文件只是把文件索引给剔除掉了,而删除的这个文件可能存在.vmdk的任何位置,对于windows来说,这个文件的中间有一块位置是0,此空间无法释放。唯一的办法就是用一些手段把这块0的空间推到.vmdk的末尾,这样windows就知道这个文件变小了。

vmware-vdiskmanager.exe就是干这个事情:对.vmdk进行空间整理,把中间那些是0的块给挪到后边去,就释放掉了。

解决方案

对vmdk进行瘦身。

1.在虚拟机Ubuntu里操作

复制代码
cat /dev/zero > zero.fill

最终会因为磁盘空间用完而退出:

查看一下zero.fill文件大小(77G):

然后删除此文件:

复制代码
rm -f zero.fill

2.在主机上操作

关闭虚拟机,使用vmware-vdiskmanager.exe来给vmdk瘦身。

本处我的VMware安装在D盘(D:\Program Files (x86)\VMware\VMware Workstation),vmdk在这里:vmware-vdiskmanager.exe -k "E:\work\vmware\Ubuntu20.04.1\Ubuntu20.04.1\Ubuntu20.04.1.vmdk"

到VMware目录下执行命令:

复制代码
vmware-vdiskmanager.exe -k "E:\work\vmware\Ubuntu20.04.1\Ubuntu20.04.1\Ubuntu20.04.1.vmdk"

查看*.vmdk文件,已经缩小了(大概缩小了一半):

相关推荐
草莓熊Lotso2 小时前
Linux 基础 IO 初步解析:从 C 库函数到系统调用,理解文件操作本质
linux·运维·服务器·c语言·数据库·c++·人工智能
Cx330❀2 小时前
从零实现Shell命令行解释器:原理与实战(附源码)
大数据·linux·数据库·人工智能·科技·elasticsearch·搜索引擎
学嵌入式的小杨同学8 小时前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
EverydayJoy^v^8 小时前
RH134学习进程——十二.运行容器(1)
linux·运维·容器
syseptember8 小时前
Linux网络基础
linux·网络·arm开发
zl_dfq8 小时前
Linux 之 【多线程】(线程的概念、Linux中的线程、页表)
linux
郝亚军9 小时前
如何在Ubuntu和win10/11之间通过samba访问对方的文件
linux·服务器·ubuntu
曦云沐10 小时前
【避坑指南】Ubuntu更新报错“Repository is not signed”的快速修复
linux·ubuntu·docker
带土111 小时前
10. .out文件
linux
STCNXPARM11 小时前
Linux camera之V4L2子系统详解
android·linux·camera·v4l2架构