一、准备

当前系统版本 Windows 10 企业版 LTSC 21H2 (家庭版可能不一样)

启用Hyper-V、适用于Linux的Windows子系统

二、安装

将 WSL 2 设置为默认版本

1
wsl --set-default-version 2

在Microsoft Store 安装,这里咱选的是Ubuntu18.04 LTS

安装之后打开,设置用户名和密码

使用PowerShell也能查看到

1
wsl --list --all -v

到这里wsl2基本安装好了

三、迁移到D盘

应该有两种方法,一种是使用LxRunOffline

参考:记录 WSL 从 C 盘迁移至 D 盘 | Laravel China 社区 (learnku.com)

另一种是使用自带的wsl命令

参考:win10 wsl2修改默认安装目录到其他盘_程序猿的博客-CSDN博客_wsl2 安装位置

WSL2安装Ubuntu20.04 - 老王的笔记 - 博客园 (cnblogs.com)

这里咱使用的是第二种

确保wsl是关闭状态

导出分发版为tar文件到d盘

命令:wsl --export 虚拟机名称 文件导出路径

1
wsl --export Ubuntu-18.04 D:\wsl\wsl-ubuntu-18.04.tar

卸载虚拟机(删除C盘的虚拟机数据)

命令:wsl –unregister 虚拟机名称

1
wsl --unregister Ubuntu-18.04

导入新的虚拟机

目标路径:新的虚拟机文件路径(理解为软件的安装路径就对了,咱安装在D:\wsl\Ubuntu1804)

虚拟机文件路径:第3步导出的文件(D:\wsl\wsl-ubuntu-18.04.tar)

–version 2:指定使用WSL2,如果填1就是指定使用WSL

命令wsl --import 虚拟机名称 目标路径 虚拟机文件路径 --version 2

1
wsl --import Ubuntu-18.04 D:\wsl\Ubuntu1804 D:\wsl\wsl-ubuntu-18.04.tar --version 2

导出后可以看到wsl以硬盘镜像文件在D盘指定的文件夹下

接下来就可以正常使用了

可能遇到的问题

错误代码0x800701bc

Installing, this may take a few minutes…
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel

解决:使用管理员权限运行powershell,并输入wsl --update 执行