WSL迁移到非系统盘

手摸手教你如何将WSL从C盘迁移到其他盘,学不会作者下跪

  1. 列出所有安装的WSL发行版,记住这个名称(Ubuntu-22.04)

    PS C:\Users\Admin> wsl -l
    适用于 Linux 的 Windows 子系统分发版:
    Ubuntu-22.04 (默认)
    
  2. 在官方的常见问题解答查阅到,可以通过 wsl --export 命令将已安装的 WSL 发行版迁移到 D 盘或者其他盘,这里我在 I 盘下面创建了一个 WSL 文件夹,导出名称设置为了 Ubuntu-22.04.tar

    PS C:\Users\Admin> wsl --export Ubuntu-22.04 I:\WSL\Ubuntu-22.04.tar
    
  3. 之前的就可以卸载了

    PS C:\Users\Admin> wsl --unregister Ubuntu-22.04
    正在注销...
    
  4. 重新导入,指定名称和安装位置,参数:WSL名称、安装位置、刚才导出的 tar 文件

    PS C:\Users\Admin> wsl --import Ubuntu-22.04 I:\WSL\Ubuntu-22.04 I:\WSL\Ubuntu-22.04.tar
    
  5. 此时就已经迁移成功了,可以看到 I:\WSL\Ubuntu-22.0 目录下有一个 ext4.vhdx 虚拟硬盘文件

    # 之前导出的 tar 文件已经可以删除了
    PS C:\Users\Admin> rm -Force I:\WSL\Ubuntu-22.04.tar
    
  6. 但是不要高兴的太早,通过 wsl 命令进入系统发现默认登录的用户怎么变成了 root ???

    PS C:\Users\Admin> wsl
    root@PS2022NGOBPSKS:/mnt/c/Users/Admin#
    
  7. 问题不大,我们需要先记录下之前默认用户的 UID,执行:

    PS C:\Users\Admin> wsl -u root -e id -u <用户名>
    1000
    
  8. 此时打开我们的注册表编辑器。win+R 输入 regedit 回车

    输入路径 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss

    这个文件夹下有一个或多个 GUID(如 {12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx})的文件夹

    点进去看一下 DistributionName 的值,ok正是我要改的这个(Ubuntu-22.04)
    在这里插入图片描述

  9. 在这个文件夹,双击 DefaultUid,将数值数据改为刚才查到的用户的UID,基数为十进制,确定然后关闭就完事了
    在这里插入图片描述

  10. 此时再进入 wsl 已经是我们默认的用户了,完美撒花

    PS C:\Users\Admin> wsl
    oyal@PS2022NGOBPSKS:/mnt/c/Users/Admin$
    
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值