Tim*_*thy 10 disk-space windows-10 windows-subsystem-for-linux ubuntu-20.04
所以问题来了:我在 Windows 10 上的 WSL2 上使用 Ubuntu 20.04,我注意到在 Ubuntu 上删除文件后,我没有取回被删除文件占用的空间。例如:在我删除 Ubuntu 上的文件之前,它在 Windows 资源管理器上显示我的 (C:) 驱动器上的可用空间约为 46GB。然后在我删除了大约 10GB 的文件后,在我的情况下,一些临时 Gatsby 站点,它导致更少的可用空间,大约 45GB。我觉得这很奇怪。
所以我想我的问题是:我怎样才能取回那些未使用的位?是否有一些我可以使用的终端命令,或者我可以通过 windows gui 或其他方式执行某些操作。
PS 我之前的问题因缺乏细节而被关闭。我希望这一次就足够了。另外,请不要在没有对原因发表评论的情况下贬低这一点,但至少给我一些关于原因的信息。
Mas*_*sih 35
wsl.exe --shutdowncd C:\\Users\\<user>\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\\LocalState\\optimize-vhd -Path .\\ext4.vhdx -Mode full(确保ext4.vhdx没有被鼠标点击,否则会导致powershell中的文件正在被其他进程使用的错误)Gui*_*usa 34
当命令 letoptimize-vhd在您的系统中不可用时,请执行以下操作:
wsl --shutdown
Run Code Online (Sandbox Code Playgroud)
select vdisk file="C:\Users\%username%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
Run Code Online (Sandbox Code Playgroud)
diskpart /s <SAVED_SCRIPT_FOLDER_PATH>\compact-disk.txt
Run Code Online (Sandbox Code Playgroud)
Not*_*1ds 12
有一个关于这个主题的 WSL Github问题。WSL 将自动增加虚拟磁盘 (ext4.vhdx),但缩小它以回收未使用的空间是目前必须手动完成的事情。
您需要做的第一件事是知道您的 ext4.vhdx 的位置。对于默认的 Ubuntu 安装,它应该类似于%PROFILE%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\
然后,您可以使用多种技术来删除未使用的空间。我建议您从 a 开始wsl --shutdown并复制 vhdx 作为备份开始。如果您正在运行 Docker Desktop,也将其关闭,否则它可能会在您的--shutdown.
如果您使用的是 Windows Professional 或更高版本,则可以安装 Hyper-V 并使用 Optimize-VHD commandlet,如原始问题 中所述。.
在 Windows Home(及更高版本)上,您可以diskpart按照此评论中的说明使用。
导出 WSL 发行版并将其重新导入新的 WSL 实例(如本评论中所示)也将回收空间。请注意,您需要在导入后重置默认用户名。见这里。
我已经亲自测试并确认了第二种和第三种技术。
| 归档时间: |
|
| 查看次数: |
5885 次 |
| 最近记录: |