一、准备工作

1.1 系统版本要求

  • 你的电脑必须运行Windows 10版本2004及更高版本(内部版本19041及更高版本)或Windows 11

    按住Windows徽标键+R,键入winver来查看电脑版本

  • 根据VMWare官方博客(2020年1月),新版VMware已经兼容Hyper-V,最低配置如下

    • 软件要求:电脑运行Windows 10 20H1(内部版本号19041及更高版本)
    • 硬件要求
      • Intel Haswell 或更新的 CPU
      • AMD Bulldozer 或更新的 CPU

    如果您的VMWare版本与Hyper-V不兼容,那么两者只能选其一,因此如果你已安装VMWare,请卸载VMWare后再尝试安装WSL 2

1.2 基本环境要求

  • 管理员模式下PowerShell或Windows命令提示符中输入以下命令以启用适用于Linux的Windows子系统可选功能

    1
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • 管理员模式下PowerShell或Windows命令提示符中输入以下命令以启用虚拟机平台可选功能

    1
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

    如果只使用WSL 1的功能,则仅需开启第一个可选功能;如果需要使用WSL 2的功能,则两个可选功能均需要开启。

二、安装

2.1 Powershell安装(推荐)

该方式可一键安装WSL及发行版

  • 管理员模式下PowerShell或Windows命令提示符中输入以下命令

    1
    wsl --install -d Ubuntu

    此命令将进行如下操作

    • 启用所需的可选组件
    • 下载最新的Linux内核
    • 将WSL 2设置为默认值
    • 并为您安装Linux发行版——Ubuntu
  • 重新启动计算机以安装运行WSL

  • 首次启动新安装的Linux发行版时,将打开一个控制台窗口,等待发行版安装完毕

  • 输入用户名和密码,初始化设置

2.2 Microsoft Store安装

  • 安装WSL:在Microsoft Store中搜索Windows Subsystem for Linux
  • 安装发行版:在Microsoft Store中搜索Ubuntu等发行版的名称

2.3 安装包安装

如因网络环境受限,Microsoft Store下载缓慢或无法下载,可以通过安装包安装

  • 获取WSL安装包MicrosoftCorporationII.WindowsSubsystemForLinux_<Version>_neutral_~_8wekyb3d8bbwe.msixbundle

    1. 微软商店查找要下载的应用
    2. 复制该应用页面的网址链接
    3. 粘贴至https://store.rg-adguard.net/的文本框内,点击解析
    4. 点击列表项下载(后缀名为.msixbundle.appxbundle
  • 同理,获取Ubuntu等发行版的安装包

  • 安装方式一:通过PowerShell中安装

    • 打开管理员模式下的PowerShell
    • 输入命令add-appxpackage <filename>.msixbundle
  • 安装方式二:通过应用安装管理器安装

    • 从Microsoft Store下载应用安装管理器
    • 直接双击下载的安装包即可安装

三、发行版

3.1 查看发行版

  • 通过在PowerShell或Windows 命令提示符中输入以下命令查看可安装的有效分发

    1
    2
    wsl -l -o
    wsl --list --online
  • 通过在PowerShell或Windows 命令提示符中输入以下命令查看已安装分发的状态和版本

    1
    2
    wsl -l -v
    wsl --list --verbose

3.2 更改发行版

  • 通过在PowerShell或Windows命令提示符中输入以下命令安装新分发

    1
    wsl --install -d <Distribution Name>
  • 通过在PowerShell或Windows命令提示符中输入以下命令用新分发替换旧分发

    1
    wsl --install -d <Distribution Name> <Distribution Name>
  • 通过在PowerShell或Windows命令提示符中输入以下命令设置默认发行版

    1
    2
    wsl -s <DistributionName>
    wsl --setdefault <Distribution Name>

3.3 更改版本

  • 通过在PowerShell或Windows命令提示符中输入以下命令设置默认版本,其中Version可选12

    1
    wsl --set-default-version <Version>
  • 通过在PowerShell或Windows命令提示符中输入以下命令更改某发行版的版本,其中Version可选12

    1
    wsl --set-version <Distribution Name> <Version>

3.4 关闭、卸载发行版

  • 通过在PowerShell或Windows命令提示符中输入以下命令关闭所有发行版

    1
    wsl --shutdown
  • 通过在PowerShell或Windows命令提示符中输入以下命令终止某发行版

    1
    wsl --terminate <Distribution Name>
  • 通过在PowerShell或Windows命令提示符中输入以下命令注销(卸载)某发行版

    1
    wsl --unregister <Distribution Name>

3.5 导入、导出发行版

  • 通过在PowerShell或Windows命令提示符中输入以下命令导出某发行版

    1
    wsl --export <Distribution Name> <FilePath>
  • 通过在PowerShell或Windows命令提示符中输入以下命令导入某发行版

    1
    wsl --import <Distribution Name> <InstallLocation> <FilePath> --version <Version>

3.6 更改发行版位置

WSL的发行版默认存储在C盘,如果想移动至其他磁盘,可按照以下步骤进行(以Ubuntu示例)

  • 导出发行版

    1
    wsl --export Ubuntu D:/export.tar
  • 删除原发行版

    1
    wsl --unregister Ubuntu
  • 导入发行版

    1
    wsl --import Ubuntu D:\Ubuntu D:\export.tar --version 2

四、其他命令

4.1 更新WSL

  • 通过在PowerShell或Windows命令提示符中输入以下命令更新WSL

    1
    2
    wsl --update
    wsl --update --web-download #从GitHub下载
  • 通过在PowerShell或Windows命令提示符中输入以下命令查看WSL的配置

    1
    wsl --status
  • 通过在PowerShell或Windows命令提示符中输入以下命令查看WSL的版本

    1
    wsl --version
  • 通过在PowerShell或Windows命令提示符中输入以下命令查看WSL命令列表

    1
    wsl --help

4.2 用户

  • 通过在PowerShell或Windows命令提示符中输入以下命令设置某发行版的默认用户

    1
    <Distribution Name> config --default-user <Username>

4.3 挂载

  • 通过在文件资源管理器的地址栏输入\\wsl$\<Distribution Name>以下地址访问WSL文件夹

    该功能仅在运行Windows 11版本22000或更高版本的电脑上生效

4.4 Linux指令

  • 设置Root密码

    1
    2
    sudo passwd root
    su

五、参考