WSL¶
约 461 个字 25 行代码 预计阅读时间 2 分钟
WSL VHDX 空间回收¶
WSL2 通过一个虚拟硬盘文件(ext4.vhdx)运行 Linux 发行版,当用户在 Linux 环境中安装软件或创建文件时,这个 .vhdx 文件会自动增长。但当用户删除文件时,虚拟硬盘文件并不会自动收缩。它只是在文件系统内部将那些空间标记为“可用”,但从 Windows 的角度看,这个虚拟硬盘文件本身的大小没有变化。因此,Windows 中显示的文件大小,实际上是 .vhdx 文件的峰值大小,而不是当前实际使用的大小。
要解决这个问题,我们需要手动对虚拟硬盘文件进行压缩,将未使用的空间还给 Windows。操作步骤如下:
-
找到
.vhdx文件以我系统下的路径为例,
ext4.vhdx文件位于以下路径处:若有差异,可参考官方文档: 如何查找 Linux 分发版的 .vhdx 文件和磁盘路径
-
关闭 WSL
可通过
wsl -l -v查看虚拟机的运行状态: -
使用
diskpart工具压缩.vhdx文件以管理员身份打开 Powershell,输入
diskpart并回车,进入diskpart环境,依次执行以下命令:# 1. 选择虚拟磁盘文件 select vdisk file="C:\Users\voilern\AppData\Local\wsl\{e2800d09-529e-46a3-87b6-bec3cfaf8c7a}" # 2. 以只读方式附加磁盘 attach vdisk readonly # 3. 压缩虚拟磁盘 compact vdisk # 4. 分离虚拟磁盘 detach vdisk # 5. 退出 diskpart exit结束后,
.vhdx文件占用的空间即被释放。
WSL 中文字体配置¶
WSL2 中安装的系统默认没有中文字体,需要自己配置。为节省系统空间,我们可以通过 fontconfig 文件让 Linux 系统使用本地的中文字体。操作步骤如下:
-
创建
fontconfig配置文件 -
编辑配置文件
在打开的文件中,添加以下内容:
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <dir>/mnt/c/Windows/Fonts</dir> </fontconfig>如果已有内容,在
<fontconfig>与</fontconfig>标签内添加<dir>标签即可。保存文件。 -
刷新字体缓存
结束后,系统即支持中文字体库。