WSL-windows子系统

2023/6/15

以下操作基于ubuntu22.02演示

# 安装WSL

使用管理员权限打开powershell,执行以下命令

  • 开启windows子系统功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
1
  • WSL2

    • 检查系统版本

      如果只是安装WSL1此时可以重启电脑,如果需要安装WSL2,则需要检查版本,win10需要满足以下条件 For x64 systems: Version 1903 or later, with Build 18362.1049 or later. 对于 x64 系统:版本 1903 或更高版本,内部版本 18362.1049 或更高版本。 For ARM64 systems: Version 2004 or later, with Build 19041 or later. 对于 ARM64 系统:版本 2004 或更高版本,内部版本 19041 或更高版本。

    • 启用虚拟机功能,wsl2依赖虚拟机,和wsl1运行机制不同

    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
    1
    • 下载linux内核更新包

    点击下载并双击安装 (opens new window)

    • 切换为wsl2

    wsl --set-default-version 2

  • 下载linux发行版

    ubuntu22.04 下载后安装 (opens new window)

# 升级WSL2

如果当时安装wsl安装的版本为1,则可升级为2

查看版本:

在CMD执行命令查看WSL子系统版本,如果不是2或为空则为1
>wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2
1
2
3
4

升级WSL子系统到2

> 以下操作是从1升级到2的步骤
> 以管理员身份打开powershell或cmd执行以下命令
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
> 执行成功后重启电脑
> wsl -l -v 查看当前子系统对应的版本
> wsl --set-version <distribution name> <versionNumber>  修改为要升级的版本
1
2
3
4
5
6

#

# 开机启动

在cmd中执行以下命令可启动ssh

wsl -d Ubuntu-20.04 -u root -e /etc/init.d/ssh start

将以上命令加入到windows计划任务中

右键此电脑-管理-计算机管理(本地)-系统工具-任务计划程序-任务计划程序库

  • 右侧创建任务,勾选使用最高权限运行;
  • 触发器:登陆时-当任何用户登陆时;
  • 操作
    • 程序或脚本:C:\Windows\System32\wsl.exe
    • 添加参数: -d Ubuntu-20.04 -u root -e /etc/init.d/ssh start

# 参考

Last Updated: 2023/12/9
只爱西经
林一