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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/637265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GD32E230C8T6《调试篇》之 (软件) IIC通信(主机接收从机) + GN1650驱动芯片 + 按键 + 4位8段数码管显示 (成功)

GD32E230C8T6《调试篇》之 &#xff08;软件&#xff09; IIC通信 GN1650驱动芯片 4位8段数码管显示&#xff08;成功&#xff09; IIC是什么IIC简介1&#xff09;IIC总线物理连接2&#xff09;IIC时序协议 按键扫描代码1&#xff09;DIG2短按只一次&#xff0c;长按超过1s 一…

若依微服务框架,富文本加入图片保存时出现JSON parse error: Unexpected character (‘/‘ (code 47)):...

若依微服务框架&#xff0c;富文本加入图片保存时出现JSON parse error: Unexpected character 一、问题二、解决1.修改网关配置2、对数据进行加密解密2.1安装插件2.2vue页面加密使用2.3后台解密存储 一、问题 若依微服务项目在使用富文本框的时候&#xff0c;富文本加入图片进…

【Java程序员面试专栏 专业技能篇】MySQL核心面试指引(一):基础知识考察

关于MySQL部分的核心知识进行一网打尽,包括三部分:基础知识考察、核心机制策略、性能优化策略,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 本篇Blog为第一部分:基础知识考察,子节点表示追问或同级提问 基本概念 包括一些核心问…

Python中的卷积神经网络(CNN)入门

卷积神经网络&#xff08;Convolutional Neural Networks, CNN&#xff09;是一类特别适用于处理图像数据的深度学习模型。在Python中&#xff0c;我们可以使用流行的深度学习库TensorFlow和Keras来创建和训练一个CNN模型。在本文中&#xff0c;我们将介绍如何使用Keras创建一个…

ARMv8-AArch64 的异常处理模型详解之异常类型 Exception types

异常类型详解 Exception types 一&#xff0c; 什么是异常二&#xff0c;同步异常&#xff08;synchronous exceptions&#xff09;2.1 无效的指令和陷阱异常&#xff08;Invalid instructions and trap exceptions&#xff09;2.2 内存访问产生的异常2.3 产生异常的指令2.4 调…

构建 aarch64 以及 riscv64 交叉编译工具链(裸机)

构建 aarch64 以及 riscv64 交叉编译工具链&#xff08;裸机&#xff09; 因为我的需求是构建裸机的程序&#xff0c;所以我选择了裸机相关的交叉工具链 其他工具链也类似&#xff0c;在给出的两个官方链接中提供了所有的交叉工具链&#xff0c;选择合适的工具构建即可 一、…

基于JavaWeb+SSM+Vue智能社区服务小程序系统的设计和实现

基于JavaWebSSMVue智能社区服务小程序系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 滑到文末获取源码 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相…

【排序算法】六、快速排序(C/C++)

「前言」文章内容是排序算法之快速排序的讲解。&#xff08;所有文章已经分类好&#xff0c;放心食用&#xff09; 「归属专栏」排序算法 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 快速排序1.1 原理1.2 Hoare版本&#xff08;单趟&#xff09;1.3 快速排序完整代码&…

Excel 根据日期按月汇总公式

Excel 根据日期按月汇总公式 数据透视表日期那一列右击&#xff0c;选择“组合”&#xff0c;步长选择“月” 参考 Excel 根据日期按月汇总公式Excel如何按着日期来做每月求和

Linux内存管理:(九)内存规整

文章说明&#xff1a; Linux内核版本&#xff1a;5.0 架构&#xff1a;ARM64 参考资料及图片来源&#xff1a;《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址&#xff1a; zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 引言 伙伴系统以页面为单位来管…

leetcode:每日温度---单调栈

题目&#xff1a; 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例&…

js数组的截取和合并

在JavaScript中&#xff0c;你可以使用slice()方法来截取数组&#xff0c;使用concat()方法来合并数组。 截取数组 slice()方法返回一个新的数组对象&#xff0c;这个对象是一个由原数组的一部分浅复制而来。它接受两个参数&#xff0c;第一个参数是开始截取的位置&#xff08…

代码随想录day24

回溯算法 回溯的本质是穷举&#xff0c;穷举所有可能&#xff0c;然后选出我们想要的答案&#xff0c;如果想让回溯法高效一些&#xff0c;可以加一些剪枝的操作。 回溯法&#xff0c;一般可以解决如下几种问题&#xff1a; 1、组合问题&#xff1a;N个数里面按一定规则找出k个…

天龙八部资源提取工具(提取+添加+修改+查看+教程)

可以提取&#xff0c;添加&#xff0c;修改&#xff0c;查看天龙八部里面的数据。非常好用。 天龙八部资源提取工具&#xff08;提取添加修改查看教程&#xff09; 下载地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1XOMJ1xvsbD-UUQOv3QfHPQ?pwd0kd0 提取码&…

赛车游戏简单单车C语言版

#include<stdio.h> #include<easyx.h> #include<time.h>#define WIDTH 512 #define HEIGHT 768//定义一个汽车类 struct FCar {//坐标float x, y;// 汽车种类int type;//汽车速度float speed; };//定义全局变量 图片坐标 IMAGE BG_IMG; //背景图片坐标 float…

unity 矩阵探究

public void MatrixTest1(){ ///Matrix4x4 是列矩阵&#xff0c;就是一个vector4表示一列&#xff0c;所以在c#中矩阵和Vector4只能矩阵右乘坐标。但是在shader中是矩阵左乘坐标&#xff0c;所以在shader中是行矩阵 Matrix4x4 moveMatrix1 new Matrix4x4(new Vector4(1,0,0,0)…

pip问题们

pip问题们 下载指定版本已经安装的库列表保存到文本文件中根据依赖文件批量安装库离线安装库&#xff08; .whl 文件&#xff09;pip install githttps:xxxx安装失败解决方法 下载指定版本 安装特定版本的package&#xff0c;通过使用, >, <, >, <来指定一个版本号…

hql(hive sql)中的join及踩过的坑

1 几种join方式 join join对应于inner join 内连接。 当多张表进行join的时候&#xff0c;所有表中与on条件中匹配的数据才会显示。 hql&#xff08;即hive sql&#xff09;的on子句中只支持and&#xff0c;不支持 or&#xff0c;也不支持null的对比。 left outer join 左外连…

2024 年 Vue.js 会发生什么

就像前端开发世界的其他部分一样&#xff0c;Vue 世界发展得很快。在这篇文章中&#xff0c;我想了解一下 Vue 的现状&#xff0c;并分享我对 2024 年发展趋势的预测。 Vue 2 生命周期结束 随着 Vue.js 社区的不断发展&#xff0c;2024 年标志着 Vue 2 生命周期的结束&#x…

logstack 日志技术栈-04-opensource 开源工具 SigNoz+Graylog

3. SigNoz SigNoz 是一个日志收集和分析工具&#xff0c;可以收集和管理来自各种来源的日志、指标、跟踪和异常。 它为使用 OpenTelemetry 检测应用程序提供本机支持&#xff0c;以防止供应商锁定&#xff0c;将收集到的数据存储在 ClickHouse 中&#xff0c;然后在用户友好的…