背景:用vmware安装的win11虚拟机,记得开启虚拟化引擎,否则无法安装wsl和docker等虚拟化功能

官方文档:https://learn.microsoft.com/zh-cn/windows/wsl/

安装

首先

控制面板程序启用或关闭Windows功能适用于Linux的Windows子系统

然后

管理员PowerShell

# 安装wsl
wsl --install
# 重启
shutdown -r -t 0

再然后

我这里wsl –install好像没装上还是咋的,再装一次

命令解释:

  • wsl --install:安装默认发行的Ubuntu
  • wsl -l -o:查看可以安装的wsl版本
  • wsl --install -d <指定版本>:wsl –install -d Ubuntu-22.04,我喜欢22.04这个
  • wsl -l -v:查看安装了哪些wsl
  • ` wsl –unregister <指定版本>`:卸载指定版本指定版本>
  • wsl ~:在用户的主目录中启动

实记:

PS C:\WINDOWS\system32> wsl --install
正在下载: Ubuntu
正在安装: Ubuntu
已成功安装分发。它可通过 wsl.exe -d Ubuntu 启动
PS C:\WINDOWS\system32> wsl -l -o
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。

NAME                            FRIENDLY NAME
AlmaLinux-8                     AlmaLinux OS 8
AlmaLinux-9                     AlmaLinux OS 9
AlmaLinux-Kitten-10             AlmaLinux OS Kitten 10
Debian                          Debian GNU/Linux
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
Ubuntu                          Ubuntu
Ubuntu-24.04                    Ubuntu 24.04 LTS
kali-linux                      Kali Linux Rolling
openSUSE-Tumbleweed             openSUSE Tumbleweed
openSUSE-Leap-15.6              openSUSE Leap 15.6
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_7                 Oracle Linux 8.7
OracleLinux_9_1                 Oracle Linux 9.1

这里装完设置一下用户和密码

PS C:\WINDOWS\system32> wsl --install -d Ubuntu-22.04
wsl: 使用旧分发注册。请考虑改用基于 tar 的分发。
正在安装: Ubuntu 22.04 LTS
已安装 Ubuntu 22.04 LTS
正在启动 Ubuntu 22.04 LTS...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: li
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Fri Mar 14 16:07:12 CST 2025

  System load:  0.14                Processes:             47
  Usage of /:   0.1% of 1006.85GB   Users logged in:       0
  Memory usage: 10%                 IPv4 address for eth0: 172.29.13.174
  Swap usage:   0%


This message is shown once a day. To disable it please create the
/home/li/.hushlogin file.
li@li-win11:~$ sudo su
[sudo] password for li:
root@li-win11:/home/li# passwd
New password:
Retype new password:
passwd: password updated successfully
root@li-win11:/home/li# exit
exit
li@li-win11:~$ exit
logout
请求的操作成功。直到重新启动系统前更改将不会生效。
PS C:\WINDOWS\system32> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Stopped         2
  Ubuntu-22.04    Stopped         2
PS C:\WINDOWS\system32> wsl -l
适用于 Linux 的 Windows 子系统分发:
Ubuntu (默认)
Ubuntu-22.04
PS C:\WINDOWS\system32> wsl --shutdown
PS C:\WINDOWS\system32> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Stopped         2
  Ubuntu-22.04    Stopped         2
PS C:\WINDOWS\system32> wsl --unregister Ubuntu
正在注销。
操作成功完成。
PS C:\WINDOWS\system32> wsl status
/bin/bash: line 1: status: command not found
PS C:\WINDOWS\system32> wsl --status
默认分发: Ubuntu-22.04
默认版本: 2
PS C:\WINDOWS\system32> wsl --version
WSL 版本: 2.4.12.0
内核版本: 5.15.167.4-1
WSLg 版本: 1.0.65
MSRDC 版本: 1.2.5716
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows 版本: 10.0.26100.3476

使用记录

直接看命令吧(常规的Ubuntu设置,可以看之前的Ubuntu记录)

PS C:\WINDOWS\system32> wsl ~
li@li-win11:~$ sudo apt update && sudo apt upgrade
li@li-win11:~$ explorer.exe . # 打开文件管理器的linux文件夹

wsl文件目录:``C:\Users\li\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState`