Skip to content
程序扫地僧

wsl2系统迁移到非系统盘

wsl, wsl2, 子系统迁移, windows linux子系统1 min read

为什么要迁移WSL2子系统

WSL系统默认安装在C盘,习惯上C盘不会分配太多空间,重装系统还会丢失数据。所以把linux子系统迁移到其它盘上存放是一个好的选择。

导出原有WSL2子系统

先按官方文档的说明导出子系统到D盘。备份起来

1wsl --export Ubuntu-20.04 D:\wslexport\Ubuntu20.04.tar

导入安装新的WSL2子系统

通过导入备份的方式安装新的WSL2子系统,可以指定安装位置,所以这里可以指定安装到D盘。

1wsl --import UbuntuOnD D:\wsl\Ubuntu D:\wslexport\Ubuntu20.04.tar

新的WSL2子系统安装完成后,可以通过以下命令进去看一下有没什么不正常的地方:

1wsl -d UbuntuOnD

修改默认登录用户

新安装的系统默认以root用户登录,作为一个日常使用的系统,并不希望默认使用root账户登录,所以可以修改默认登录用户。

修改的方式有很多,修改注册表比较方便实用。

查看linux用户id

登录wsl linux用id命令查看

1id
2uid=1000(username)

这里uid是1000

修改注册表

win+R运行regedit,打开注册表,找到HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss

Lxss下面还有一些子项代表你安装的wsl系统,找到要改的那个,看Distribution的值可以看到名字,如下图所示,修改边上的DefaultUid的值为上面找到的用户id,如果没有DefaultUid就创建一个DWORD类型的项,选择按十进制保存,这里是id是1000。

默认登录用户

如果上面的方法无效,就只能用下面的命令指定登录的用户了

1wsl -d ubuntu -u user_name

删除原有WSL2子系统

1wsl --unregister Ubuntu-20.04

执行完上面的命令后,可以看到Ubuntu-20.04已经被删除了。

去开始菜单找到Ubuntu-20.04这个应用,这个应用会自动安装系统或者启动已安装的系统,已经没用了,所以把它删掉。

© 2022 by 程序扫地僧. All rights reserved.
粤ICP备2022042070号-1
使用Gatsby构建