在WSL2中删除文件后,磁盘空间未释放

问题描述

  • 在WSL2中删除文件后,磁盘空间未得到释放

解决方法

一、关闭WSL2中的linux distributions

# 关闭 WSL2 中的 linux distributions
wsl --shutdown
# 运行管理计算机的驱动器的 DiskPart 命令
diskpart

二、找到要压缩的虚拟磁盘文件

  • 虚拟磁盘文件一般在
  • C:\Users{username}\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx
  • 然后再第一步打开的diskpart窗口中
# 选择虚拟磁盘文件
select vdisk file="C:\Users\admin\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx"

# 以只读方式进行
attach vdisk readonly 

# 压缩虚拟磁盘文件
compact vdisk

# 分离虚拟磁盘文件
detach vdisk

解决过程

三、分析原因

  • Windows 会自动创建 vhdx 后缀的虚拟磁盘文件作为WSL2的存储。
  • 一般下载文件内存不够时, vhdx 后缀的虚拟磁盘文件会自动扩容
  • 但是扩容后,却不会自动缩容,所以需要手动压缩,才能释放磁盘空间
  • 这个 vhdx 后缀的虚拟磁盘文件特点是可以自动扩容,但是一般不会自动缩容。
  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WSL(Windows Subsystem for Linux)是Windows 10操作系统的一个功能,可以在Windows环境运行Linux发行版。WSL 2是WSL的第二代版本,它与第一代版本相比具有更好的性能和功能。 在使用WSL 2时,可能会遇到无法将磁盘附加到WSL 2并显示"系统找不到指定的文件"的问题。这通常是由于路径设置或文件不存在等原因导致的。 首先,确保你的磁盘路径是正确的,并将磁盘所在路径输入到WSL 2的配置文件。可以使用以下命令打开WSL 2的配置文件: $ wsl --list --verbose 找到对应的发行版,比如Ubuntu,使用以下命令打开配置文件: $ notepad.exe \\\wsl$\\Ubuntu-20.04\\etc\\wsl.conf 在配置文件添加或修改以下内容: [automount] root = / options = "metadata,umask=22,fmask=11,case=off" enabled = true mountFsTab = false 注意,路径可能因发行版和安装方式而异。 接下来,确保你的磁盘文件路径是正确的。你可以使用CMD或PowerShell来执行以下命令: $ wsl --mount <磁盘文件路径> 例如: $ wsl --mount C:\Users\YourUser\disk.vhdx 如果磁盘文件不存在,你需要创建一个新的磁盘文件,并将其挂载到WSL 2。可以使用WSL 2提供的工具来创建磁盘文件。可以执行以下命令: $ wsl --create <磁盘文件路径> <磁盘大小> 例如: $ wsl --create C:\Users\YourUser\disk.vhdx 20GB 这样,你就能将磁盘成功附加到WSL 2并开始使用了。 如果问题仍然存在,可能是其他原因导致的。你可以尝试更新WSL 2版本、重启计算机等常规的故障排除方法。如果问题仍然无法解决,建议参考微软官方文档或向技术支持寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值