Windows WSL2 占用磁盘空间清理释放
目前工作中时常用到WSL2(Ubuntu20.04),在使用一段时间后会发现WSL2所占用磁盘空间越来越多,体现在WSL2之上安装Linux分发对应的vhdx虚拟磁盘文件体积越来越大,会占用Windows自身空间,即使手动清理了Linux分发内文件释放空间,此虚拟磁盘文件体积也不会自动缩小,所以在有需要的时候需要手动缩减虚拟磁盘空间大小来释放更多空间给到Windows自身使用。 这里推荐一个软件WinDirStat,主要用于查找Windows系统内的大体积文件的,通常来说vhdx文件都是在系统中可以排进前十的大文件,所以用WinDirStat比较容易定位大文件和进行清理,例如下方截图,在我的系统中虚拟磁盘文件存放路径为(此路径用于后续进行磁盘缩减):C:\Users\rong\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgs\LocalState\ext4.vhdx

清理操作说明
以下方式在Windows10 或Windows11 专业版及以上测试通过
步骤一:进入WSL2的Linux分发手动删除Linux分发内无用文件
步骤二(可选):如果系统安装使用了Docker Desktop,一般还需要执行此步骤,否则很多空间会被占用无法释放,导致后续缩减磁盘时效果不理想。
进入Linux分发并执行如下命令,清理docker相关缓存,无用容器等占用空间。
docker system prune
注意:执行以上命令会清理以下内容,
- 所有已经停止运行的容器(运行中的不会被清理)
- 所有未被任何容器引用的volume
- 所有未被任何容器引用的network
- 所有未被任何镜像应用的layer,如果执行 docker system prune -a,则会一并删除未被任何运行中容器使用的镜像,需要小心使用。
- 构建镜像的缓存信息
步骤三:关闭所有WSL2已运行的分发,并关闭WSL2,方法为:
1. 如果有安装Docker Desktop 先关闭退出
2. 打开cmd窗口并执行如下命令关闭所有WSL分发
wsl --shutdown
步骤四: 以管理员身份打开一个cmd窗口,
1. 输入 diskpart 并回车,进入DISKPART命令行,如下图:

2. 在DISKPART>命令提示符下输入以下命令,每行以回车结尾,其中执行compact vdisk时会根据虚拟磁盘文件大小占用过一些时间。(虚拟磁盘文件一般位于:C:\Users\<your_username>\AppData\Local\Packages\<distro_package_name>\LocalState\ext4.vhdx)
select vdisk file="这里替换为上方通过WinDirStat获取的vhdx虚拟磁盘文件路径"
attach vdisk readonly
compact vdisk
detach vdisk
3. 执行 exit 并回车来退出DiskPart。
其他参考
以上方式是前两年找到的资料,一直在使用并沿用至今。 随着使用人更多,目前也出现了其他方式,例如在专业版及以上版本也可以通过powershell,进入存放vhdx文件目录,并执行Optimize-VHD -Path .\ext4.vhdx -Mode full命令进行磁盘大小缩减(未测试过)。
官方也在2023年9月声明新增了自动缩减虚拟磁盘文件大小的特性,但是也未测试过, 参考:
Windows Subsystem for Linux September 2023 update - Windows Command Line

相关文章:
Windows WSL2 占用磁盘空间清理释放
目前工作中时常用到WSL2(Ubuntu20.04),在使用一段时间后会发现WSL2所占用磁盘空间越来越多,体现在WSL2之上安装Linux分发对应的vhdx虚拟磁盘文件体积越来越大,会占用Windows自身空间,即使手动清理了Linux分…...
2022 年全国职业院校技能大赛高职组云计算赛项试卷部分解析
2022 年全国职业院校技能大赛高职组云计算赛项试卷部分解析 【赛程名称】高职组-云计算赛项第一场-私有云【任务 1】私有云服务搭建[10 分]【题目 2】Yum 源配置[0.5 分]【题目 3】配置无秘钥 ssh[0.5 分]【题目 4】基础安装[0.5 分]【题目 5】数据库安装与调优[0.5 分]【题目 …...
2.C语言——控制语句
控制语句 1.分支语句/判断语句if 语句if...else 语句if...else if...else语句 switch语句 2.循环语句 while 语句 do...while 语句 for 语句 3.转向语句 break continue go to 1.分支语句/判断语句 if 语句 if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 */ } …...
Linux网络之PXE高效批量装机、Kickstart全自动化安装
一. PXE网络装机简介和相关知识 1. 常见的三种系统安装方式和相关文件 ① 三种系统安装方式 u启动安装:在U盘中下载相关的安装系统及镜像文件,u盘插机安装 光驱安装:将带有所需系统的光盘放进电脑服务器中,按照官方引导装机 …...
react umi/max 页签(react-activation)
思路:通过react-activation实现页面缓存,通过umi-plugin-keep-alive将react-activation注入umi框架,封装页签组件最后通过路由的wrappers属性引入页面。 浏览本博客之前先看一下我的博客实现的功能是否满足需求,实现功能…...
计算机网络编程
一、计算机网络(概述、简介) 说起网络,相信大家都不陌生,把分散在不同地点的计算机设备,通过传输介质、通信设施和网络通信协议,实现资源共享和信息传输的系统,我们称之为:计算机网…...
【计算机网络实训】期末考题-路由重分发+三层交换机VLAN间路由
路由重分发三层交换机VLAN间路由 实验目的实验内容及步骤仿真配置环境搭建要求:实验步骤配置Switch0配置Switch1配置交换机Multilayer Switch 0路由器Router0上的配置路由器Router1的配置 测试PC0 自动获取地址成功,PC0 可 ping 通 switch0,网…...
git 常规操作及设置
git 常规操作及设置 Git是一个分布式版本控制系统,可以用来跟踪文件的修改历史并与其他人进行协作开发。下面是一些常见的Git操作及设置: 初始化仓库:使用命令git init在当前目录创建一个新的Git仓库。 克隆仓库:使用命令git clo…...
element中表格组件的row-class-name和class-name属性的使用以及无效处理
1.这两个属性的使用,row-class-name用在el-table标签上,class-name用在el-table-column标签上。两个属性即可绑定类名也可绑定函数 <!-- 这里是绑定函数,也可以绑定类名 --> <el-table :data"tableData" selection-chang…...
【AI理论知识】EM算法
基本定义 期望最大化算法(Expectation-Maximization,EM算法)是一种用于估计包含潜在变量的概率模型参数的迭代优化算法。EM算法的主要目标是在存在未观测数据或缺失数据的情况下,通过迭代地进行期望步骤(E步ÿ…...
03 OSPF
参考文章 1 初步认识OSPF的大致内容(第三课)-CSDN博客 2...
node.js(express.js)+mysql实现注册功能
文章目录 实现步骤一、获取客户端提交到服务器的用户信息,对表单中的数据,进行合法性的效验 代码如下:二、检测用户名是否被占用三、对密码进行加密四、插入新用户(完整代码)总结 实现步骤 一、获取客户端提交到服务器的用户信息…...
AI绘画Stable Diffusion进阶使用
本文讲解,模型底模,VAE美化模型,Lora模型,hypernetwork。 文本Stable Diffusion 简称sd 欢迎关注 使用模型 C站:https://civitai.com/ huggingface:https://huggingface.co/models?pipeline_tagtext-to-…...
C 练习实例33 - 质数(素数)判断
题目:判断一个数字是否为质数。 程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。 这题做过很多遍了,懂得都懂。 代码…...
docker环境下mongo副本集的部署及异常修复
最近更换了办公地点。部署在本地docker环境里的mongo数据库不能使用了。原因是本地的ip地址变更。以前的mongo副本集的配置需要更新。处理完后,索性重新记录一下mongo副本集在docker中的部署流程。 mongo的事务及副本集 我们先了解一下什么是事务,事务…...
【Java】Maven的安装与配置
初识Maven Maven是专门用于管理和构建Java项目的工具,它的主要功能有: 提供了一套标准化的项目结构 提供了一套标准化的构建流程(编译,测试,打包,发布……) 提供了一套依赖管理机制 标准化的…...
向量和向量如何相乘?
向量与向量相乘主要有两种方式:点积(内积)和叉积(外积)。这两种运算的结果和应用是不同的。 点积(内积): 点积是两个向量的对应元素相乘后再求和的结果,通常用于计算两个…...
计算机组成原理 指令流水线
文章目录 指令流水线指令流水线的概念流水线性能分析流水线的吞吐率流水线的加速比流水线的效率 影响流水线的因素结构相关 (资源冲突)数据相关 (数据冲突)控制相关 (控制冲突) 流水线分类超量流水线 指令流水线 #mermaid-svg-sWaRASMFAvh8sLJk {font-family:"trebuchet m…...
macOS - md5 | md5sum
文章目录 简单使用介绍文档Linux - md5summacOS - md5 大文件传输是否完整,你可以使用 md5 进行校验 linux 上使用 md5sum 命令,在macOS 上 md5 命令是和 md5sum 等效的 简单使用介绍 参考:https://blog.csdn.net/cnds123321/article/detail…...
Tomcat快速入门
1.Tomcat介绍 Apache Tomcat 是由 Apache Software Foundation(ASF)开发的一个开源 Java WEB 应用服务器,如apache处理静态HTML能力突出不同,tomcat处理动态HTML能力相当强大,因此一般项目都是部署apachetomcat&#…...
3个秘诀让AI成为你的象棋教练:Vin象棋智能助手完全指南
3个秘诀让AI成为你的象棋教练:Vin象棋智能助手完全指南 【免费下载链接】VinXiangQi Xiangqi syncing tool based on Yolov5 / 基于Yolov5的中国象棋连线工具 项目地址: https://gitcode.com/gh_mirrors/vi/VinXiangQi 你是否曾遇到这样的象棋困境࿱…...
3分钟搞定:Source Code Pro字体终极配置指南,让代码阅读体验提升300%
3分钟搞定:Source Code Pro字体终极配置指南,让代码阅读体验提升300% 【免费下载链接】source-code-pro Monospaced font family for user interface and coding environments 项目地址: https://gitcode.com/gh_mirrors/so/source-code-pro 你是…...
ACE协议实战:如何通过AxDOMAIN信号优化多核SoC的缓存一致性?
ACE协议实战:AxDOMAIN信号在多核SoC缓存一致性中的深度优化 1. 多核SoC缓存一致性的工程挑战 在现代嵌入式系统设计中,多核处理器架构已成为提升性能的主流方案。当我们把多个ARM Cortex-A系列核心集成到同一芯片时,缓存一致性管理立即成为系…...
解决WSL2和Hyper-V网络冲突:最新镜像模式+防火墙配置指南
解决WSL2与Hyper-V网络冲突的终极方案:镜像模式与防火墙深度配置 在Windows系统上同时运行WSL2和Hyper-V虚拟机时,网络冲突问题几乎成为每个开发者的必经之路。想象一下这样的场景:当你正在调试一个分布式系统,WSL2中的微服务需要…...
在Ubuntu 22.04上,用Docker搞定PaddleOCR-VL多版本CUDA部署(含FlashAttention避坑)
在Ubuntu 22.04上实现PaddleOCR-VL多版本CUDA容器化部署全指南 当深度学习项目遇上多版本CUDA环境时,开发者往往陷入依赖地狱。本文将带你用Docker构建一个完整的PaddleOCR-VL解决方案,涵盖从环境隔离到性能调优的全流程,特别针对50系显卡的F…...
写论文没思路?这样梳理,新手也能快速理清逻辑
写论文最磨人的,从来不是熬夜写正文,而是明明定好了选题,却陷入“思路卡顿”的死循环——对着空白文档坐一下午,脑子里只有零散的碎片想法,不知道从哪切入、怎么展开,好不容易写下几句,又觉得逻…...
2026年最新出炉!汉中装修公司口碑排行榜大揭秘来了!
装修是一件大事,关乎着未来生活的品质和舒适度。在汉中,众多装修公司让人眼花缭乱,如何选择一家靠谱的装修公司成为了许多业主的难题。今天,我们就来揭秘2026年汉中装修公司口碑排行榜,重点推荐汉中恒丰装饰࿰…...
如何快速上手IINA:macOS上最强大的免费视频播放器终极指南
如何快速上手IINA:macOS上最强大的免费视频播放器终极指南 【免费下载链接】iina 项目地址: https://gitcode.com/gh_mirrors/iin/iina 还在为macOS上找不到好用的视频播放器而烦恼吗?今天我要为你介绍一款macOS平台上最强大、最现代化的免费视频…...
我的世界Java版1.21.4的Fabric模组开发教程(二)创建物品
这是适用于Minecraft Java版1.21.4的Fabric模组开发系列教程专栏第二章——创建物品。想要阅读其他内容,请查看或订阅上面的专栏。 物品(Items) 指的是可以被玩家和其他实体拾起并使用的元素。想要在Minecraft中添加自己的物品,通常需要完成下面的步骤&…...
如何快速实现 Nativefier 桌面应用时间同步:完整 NTP 服务配置指南
如何快速实现 Nativefier 桌面应用时间同步:完整 NTP 服务配置指南 【免费下载链接】nativefier Make any web page a desktop application 项目地址: https://gitcode.com/gh_mirrors/na/nativefier Nativefier 是一款能将任何网页转换为桌面应用的强大工具…...
