迁移WSL2
准备工作
下载并解压 LxRunOffline
停止wsl
1 | wsl --shutdown |
查看发行版
1 | .\LxRunOffline.exe list |
本机迁移
执行迁移
1 | .\LxRunOffline.exe move -n Ubuntu -d D:\Ubuntu |
自行替换相关变量
查看结果
1 | .\LxRunOffline.exe get-dir -n Ubuntu |
提桶跑路
将虚拟磁盘目录拷到新位置(另一台计算机),运行以下命令
1 | .\LxRunOffline.exe register -n Ubuntu -d X:\Ubuntu |
或者使用 export / install 命令 导出/安装
跑路后遗症的解决
权限设置
在WSL新目录的权限设置中,当前用户勾选“完全控制”,以免出现拒绝访问的错误。相关issue.
添加防火墙例外
在迁移至新的计算机后,WSL2可能无法连接到Windows宿主机。这将导致DNS解析失败,因为默认的Nameserver地址即为宿主机的IP(可以在/etc/wsl.conf
中修改这一设定)。这个特性也被用于获取宿主机IP(参见WSL设置代理)。
WSL2被视为处在“公共网络”,需要添加防火墙例外使得WSL2能够正常连接到Windows宿主机:
1 | New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow |
重启Hyper-V网络适配器
WSL2网络问题 一种可能的解决方案
1 | echo "Restarting WSL Service" |
- 关于WSL安装的相关问题,查阅官方文档.
- 运行
LxRunOffline.exe
, 会显示帮助。