最近在研究AI相关的技术,因为大部分开源技术都是运行于Mac或Linux上的,所以自己就启用了WSL服务,方便直接在windows环境中使用ubuntu系统。
但是没有多长时间就遇到了问题:AI的很多模型都是按GB算的,系统的磁盘空间增长很快,C盘空间很快就变红了。
于是参考网上的信息,尝试迁移虚拟磁盘文件的位置。
以下命令在PowerShell窗口中执行:
# $target 设置为你要移动到的目标目录
$target = “E:\WSL\Ubuntu-WSL2\”
wsl –shutdown
cd ~\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState
mkdir $target -Force
mv ext4.vhdx $target
cd ..
# 删除当前(C盘)的虚拟磁盘文件/目录
rm LocalState
# 创建软链接目录
New-Item -ItemType SymbolicLink -Path “LocalState” -Target $target
创建软链接后,可以看到以下链接的LocalState目录:
注:此方式遇到了以下错误:
# 使用普通权限的cmd启动wsl时,出现以下错误,而之前是没有的。
C:\Users\xhy_cy>wsl
无法将磁盘“C:\Users\xhy_cy\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx”附加到 WSL2: 拒绝访问。
Error code: Wsl/Service/CreateInstance/MountVhd/HCS/E_ACCESSDENIED
解决办法:以管理员的权限来启动wsl,之后就可以正常使用了。也尝试过将“WSL”快捷方式的兼容性修改为“以管理员身份运行此程序”,这样也是可以的,但是它引起了一个新的问题,就是在普通命令行中执行wsl时,提示需要提升权限才可以执行wsl了。