查看 Linux distributions
打開 PowerShell 并執行如下命令:
wsl -l -v
搜索并找到?ext4.vhdx?文件
我的 ext4.vhdx 文件如下:
C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx
由于我這里?C?盤空間不足主要是?Ubuntu-22.04?刪除文件后?ext4.vhd?沒有縮容引起的,所以只壓縮了它的?ext4.vhdx。
注意:如果有多個 Linux distributions,可根據自己的情況壓縮對應的 ext4.vhdx
備份虛擬磁盤文件所屬的 Linux distribution(可選)
在?PowerShell?中執行如下命令:
1)關閉 WSL2 中的 linux distributions
wsl --shutdown
2)備份指定的 Linux distribution 到指定的位置
wsl --export Ubuntu-22.04 D:\Ubuntu-22.04.tar
執行結果如下:
如果后續步驟出現錯誤,可以從備份的文件中恢復。本人后續步驟并沒有出現錯誤,所以并沒有實踐恢復的操作。
有需要的讀者可以參考:wsl2-backup-and-restore-images-using-import-and-export
壓縮虛擬磁盤文件
在?PowerShell?中執行如下命令:
1)關閉 WSL2 中的 linux distributions
wsl --shutdown
2)運行管理計算機的驅動器的 DiskPart 命令
diskpart
運行 diskpart 結果如下:
在新打開的?DiskPart?命令窗口中執行如下命令:
1)選擇虛擬磁盤文件
select vdisk file="C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx"
執行結果如下:
2)壓縮文件
compact vdisk
執行結果如下:
3)壓縮完畢后卸載磁盤
detach vdisk
執行結果如下:
上述操作執行完畢,WSL2?刪除文件后空出來的磁盤空間就被釋放了。
磁盤空間釋放效果
- 壓縮前 C 盤剩余空間:27 GB
- 壓縮后 C 盤剩余空間:59 GB