返回
释放 WSL 根文件系统空间:创建其他 VoIFS 工作目录
windows
2024-03-14 13:53:25
解决 WSL 根文件系统空间问题:移动 VoIFS 工作目录
简介
对于想要在 Windows 上运行 Linux 子系统 (WSL) 的用户来说,一个常见的问题是 WSL 根文件系统 (RootFS) 会占用大量 SSD 硬盘空间。虽然将 RootFS 移动到其他硬盘的方法有限,但创建其他 VoIFS 工作目录是一种可行的解决方案。
什么是 VoIFS?
VoIFS 是一种特殊的 WSL 文件系统,允许访问位于 / 和 /home 之外的目录。通过创建其他 VoIFS 工作目录,用户可以将项目编译到外部硬盘,从而释放系统分区上的宝贵空间。
步骤:创建其他 VoIFS 工作目录
- 以管理员身份打开 PowerShell。
- 创建挂载点:
mkdir <挂载点路径>
- 将新挂载点挂载为 VoIFS:
wsl --mount <挂载点路径>
- 将工作目录添加到 WSL 配置文件(~/.wslconfig)中,以使其在重启后自动挂载。
示例代码
- 创建挂载点:
mkdir D:\wsl-projects
- 将挂载点挂载为 VoIFS:
wsl --mount D:\wsl-projects
- 添加到 WSL 配置文件:
[automount]
# 挂载点路径
D:\wsl-projects
注意
- 每次重启后需要重新运行
wsl --mount
命令。 - 确保使用 WSL 命令行访问外部硬盘上的目录,例如:
cd /mnt/wsl-projects
。
结论
通过创建其他 VoIFS 工作目录,用户可以将项目编译到外部硬盘,从而释放系统分区上的宝贵空间。虽然此方法需要重新挂载 VoIFS,但它是将 WSL RootFS 移至其他硬盘的唯一可行解决方案。
常见问题解答
-
是否可以在笔记本电脑上使用此方法?
- 否,将 %LocalAppData% 文件夹移动到外部硬盘对于笔记本用户来说不方便。
-
为什么从 Windows 10 Build 14393 RTM 开始,创建 NTFS 硬链接不再适用于 WSL?
- 微软已从 Windows 10 Build 14393 RTM 中删除了此功能。
-
DriveFS 和 VoIFS 有什么区别?
- DriveFS 是 WSL 中的一个特殊文件系统,它不支持某些 Linux 文件系统功能,例如 chmod。VoIFS 是一个特殊的 WSL 文件系统,它允许访问位于 / 和 /home 之外的目录,并且支持完整的 Linux 文件系统功能。
-
如何解决 VoIFS 重新挂载问题?
- 将 VoIFS 工作目录添加到 WSL 配置文件(~/.wslconfig)中,以使其在重启后自动挂载。
-
有哪些替代方案可以移动 WSL RootFS?
- 目前还没有其他可行的替代方案可以移动 WSL RootFS。