【记录】WSL2 新系统迁移过程

旧电脑导出

在原电脑: (需要管理员权限)

  1. 关闭虚拟机 wsl --shutdown
  2. 查看已经安装的实例 wsl -l -v,输出如下:
  NAME          STATE           VERSION
* Ubuntu2004    Stopped         2
  1. 导出虚拟机 wsl --export Ubuntu2004 E:\Ubuntu_20220605.tar ,即导出到 E 盘,文件名为 Ubuntu_20220605.tar

新电脑操作

新电脑的系统应该没有安装任何的 wsl 子系统,必须手动安装一个再注销才能导入原有的版本。

  1. 查看最新版本的 wsl wsl -l -o ,并显示如下输出:
  NAME            FRIENDLY NAME
* Ubuntu          Ubuntu
  Debian          Debian GNU/Linux
  kali-linux      Kali Linux Rolling
  openSUSE-42     openSUSE Leap 42
  SLES-12         SUSE Linux Enterprise Server v12
  Ubuntu-16.04    Ubuntu 16.04 LTS
  Ubuntu-18.04    Ubuntu 18.04 LTS
  Ubuntu-20.04    Ubuntu 20.04 LTS
  1. 安装 wsl2 最新版,以 Ubuntu2004为例:wsl --install -d Ubuntu-20.04
  2. 然后自动安装虚拟机平台和 Ubuntu2004,安装成功后会弹出设置用户名和密码的窗口。这里用不上,因此随便设置了一个。(估计可以不需要设置直接关闭)
  3. 终止刚刚运行的虚拟机 wsl --shutdown
  4. 输入 wslconfig /l wslconfig /u Ubuntu-20.04 注销虚拟机。
PS C:\Users\dnfkr> wslconfig /l
适用于 Linux 的 Windows 子系统分发版:
Ubuntu-20.04 (默认)
PS C:\Users\dnfkr> wslconfig /u Ubuntu-20.04
正在注销...
  1. 导入 tar 文件:
    wsl --import ubuntu2004 E:\Dev\ubuntu2004 E:\Dev\Ubuntu_20220605.tar --version 2
    ubuntu2004 是新的实例名称,可以执行设置。设置后即输入 wsl -l -v 后显示的名称;
    E:\Dev\ubuntu2004 是导入后的镜像以及相关数据的存放路径;
    E:\Dev\Ubuntu_20220605.tar 是需要导入的虚拟机备份文件,即通过 --export 导出的那个文件。

随后就可以正常启动了。不要从开始菜单里启动,会重新下载。走终端启动即可。

修改默认用户名

通过 wsl --export 导出,然后在其他系统导入 后的,wsl 进入系统后默认用户名变成root,需要修改默认的为原来的用户名,按如下方法得到解决: 输入 regedit 打开注册表 导航到键:HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss 检查其子项以找到在项目中具有正确名称的分发 DistributionName 创建或修改名为 DWORD 的项目 DefaultUid 并将其设置为默认用户的用户ID(uid)。这里 root 用户 id 是 0,而第一个用户 ID 是 1000(0x3e8)

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要将WSL 2子系统迁移到D盘,您可以按照以下步骤操作: 1. 首先,确保已经安装并启用了WSL 2。如果尚未完成此操作,请参考官方文档进行安装和配置。 2. 打开命令提示符或PowerShell,并输入以下命令以查看已安装的WSL系统列表: ``` wsl --list ``` 3. 选择要迁移WSL系统,并记录下其名称。 4. 输入以下命令以停止该WSL系统: ``` wsl --terminate <子系统名称> ``` 5. 输入以下命令以将该WSL系统导出为tar文件: ``` wsl --export <子系统名称> <导出路径\导出文件名.tar> ``` 例如,可以使用以下命令将子系统导出到D盘根目录下的wsl.tar文件中: ``` wsl --export <子系统名称> D:\wsl.tar ``` 6. 导出完成后,输入以下命令以删除该WSL系统: ``` wsl --unregister <子系统名称> ``` 7. 输入以下命令以导入之前导出的tar文件,并创建一个的子系统: ``` wsl --import <系统名称> <系统安装路径> <tar文件路径> ``` 例如,可以使用以下命令将之前导出的wsl.tar文件导入到D盘根目录下的wsl_new目录中,并命名为"new_wsl": ``` wsl --import new_wsl D:\wsl_new D:\wsl.tar ``` 8. 输入以下命令以启动WSL系统: ``` wsl -d <系统名称> ``` 现在,您应该已成功将WSL 2子系统迁移到D盘上的路径。请确保替换命令中的`<子系统名称>`,`<导出路径\导出文件名.tar>`,`<系统名称>`,`<系统安装路径>`和`<tar文件路径>`为实际的值。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值