WSL 2数据卷迁移

WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。

这一新的体系结构改变了这些 Linux 二进制文件与Windows 和计算机硬件进行交互的方式,但仍然提供与 WSL 1(当前广泛可用的版本)中相同的用户体验。

单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。 WSL 2 使用全新的体系结构,该体系结构受益于运行真正的 Linux 内核。

简单来说WSL2是WSL的加强版,其实现方式与WSL不同,并且WSL 2拥有完整的Linux内核、更贴近真实Linux的使用场景。

  1. 以管理员身份运行PowerShell,执行:
    wsl -l -v
    查看已安装的所有WSL实例的名称及版本:
      NAME            STATE           VERSION
    * Ubuntu-18.04    Stopped         2
    如果STATE不是Stopped,那么需要执行
    wsl --shutdown
    以我的WSL实例”Ubuntu-18.04”为例,执行
    wsl --export Ubuntu-18.04 E:\Temp\Ubuntu-18.04.tar
    wsl --unregister Ubuntu-18.04
    wsl --import Ubuntu-18.04 E:\Temp\.virtual-machines\Ubuntu-18.04 E:\Temp\Ubuntu-18.04.tar --version 2
    上述操作完成之后能够顺利打开WSL Ubuntu-18.04,但是显示以root身份登录,这时我们需要完成最后一步——设置默认用户:在C:\WINDOWS\System32下以管理员身份运行PowerShell,执行:
    ubuntu1804.exe config --default-user <username>
    如果你的WSL Ubuntu的名称是Ubuntu-20.04,那么对应的可执行文件名为ubuntu2004.exe,具体名字可以在System32下查看。将这里的username改为之前WSL Ubuntu设置的用户名(注意不能大写)以后,重启WSL Ubuntu即可发现~路径下的文件都在,oh-my-zsh等Shell效果也都还在。

WSL 2数据卷迁移
https://blog.cikaros.top/doc/dd2b8cf.html
作者
Cikaros
发布于
2022年5月13日
许可协议