【WSL】Windows下的Linux子系统使用方法指南

▒ 目录 ▒

    • 导读
      • 需求
      • 开发环境
    • 1️⃣ WSL安装
      • 启用或关闭windows功能
      • 安装`分发`
      • 命令行启动Linux
    • 2️⃣ WSL 的基本命令
      • 显示帮助
      • 列出可用的 Linux 发行版
      • 列出已安装的 Linux 发行版
      • 检查 WSL 版本
      • 更新 WSL
      • 通过 PowerShell 或 CMD 运行特定的 Linux 发行版
      • 关闭WSL全部服务
      • 关闭WSL指定发行版
      • 注销或卸载 Linux 发行版
      • 装载磁盘或设备
      • 卸载磁盘
    • 参考资料

导读

需求

早在18年就听说了WSL,也第一时间的尝试了,可惜当时条件苛刻,没有合适的硬件承载,只能放弃。

开发环境

版本号 描述
文章日期 2023-12-14
操作系统 Win11 - 22H2 22621.2715

1️⃣ WSL安装

WSL(Windows Subsystem for Linux)是Windows系统中一个强大的功能,它为用户提供了一种与Linux系统兼容的运行环境。本文将深入介绍WSL的使用方法,包括WSL的安装、配置、使用命令行和图形界面等方面。

启用或关闭windows功能

  1. 打开系统设置,选择应用选项卡,选择可选功能菜单:
    【WSL】Windows下的Linux子系统使用方法指南_第1张图片
  1. 滑到最下方,选择更多Windows功能菜单:
    【WSL】Windows下的Linux子系统使用方法指南_第2张图片
  1. 在下面对话框中,启用适用于Linux的windows 子系统虚拟机平台功能。
    如果提示重启系统,请重启,避免不必要的错误。
    【WSL】Windows下的Linux子系统使用方法指南_第3张图片
  1. 重启后会自动安装部分组件,如下图:
    【WSL】Windows下的Linux子系统使用方法指南_第4张图片

ps: 未安装wsl组件的情况下,还会弹出提示安装组件,直接点击即可安装。

安装分发

类似nvm、maven等管理软件,可以通过wsl.exe命令查看已经安装和可以安装的Linux系统。

  1. 查看已经安装列表:wsl -l
    刚开始时没有内容的,提示如下:
    【WSL】Windows下的Linux子系统使用方法指南_第5张图片
  1. 查看可用安装列表:wsl --list --online
    会显示如下内容:
    我们在这里选择Ubuntu
C:\Users\Knine> wsl --list --online
以下是可安装的有效分发的列表。
使默认分发用 “*” 表示。
使用 'wsl --install -d ' 安装。

  NAME                                   FRIENDLY NAME
* Ubuntu                                 Ubuntu
  Debian                                 Debian GNU/Linux
  kali-linux                             Kali Linux Rolling
  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
  openSUSE-Leap-15.5                     openSUSE Leap 15.5
  SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
  SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
  openSUSE-Tumbleweed                    openSUSE Tumbleweed
  1. 安装并设置用户名密码:wsl --install Ubuntu
    接着按照下面步骤执行即可进入Ubuntu
    【WSL】Windows下的Linux子系统使用方法指南_第6张图片

命令行启动Linux

如果不是安装的情况,如何进入Linux呢?

  1. 执行bash
  2. 执行wsl -d Ubuntu
    【WSL】Windows下的Linux子系统使用方法指南_第7张图片

2️⃣ WSL 的基本命令

显示帮助

wsl --help
【WSL】Windows下的Linux子系统使用方法指南_第8张图片

列出可用的 Linux 发行版

wsl --list --online
缩写形式: wsl -l -o

以下是可安装的有效分发的列表。
使用 'wsl.exe --install ' 安装。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
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
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed

列出已安装的 Linux 发行版

wsl --list --verbose
缩写形式: wsl -l -v
可与 list 命令一起使用的其他选项包括:–all(列出所有发行版)、–running(仅列出当前正在运行的发行版)或 --quiet(仅显示发行版名称)。

C:\Users\Knine>wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

C:\Users\Knine>wsl -l -v -a
参数错误。
Error code: Wsl/E_INVALIDARG

C:\Users\Knine>wsl -l -v --all
  NAME      STATE           VERSION
* Ubuntu    Running         2

C:\Users\Knine>wsl -l -v --running
  NAME      STATE           VERSION
* Ubuntu    Running         2

检查 WSL 版本

wsl --version

C:\Users\Knine>wsl --version
WSL 版本: 2.0.9.0
内核版本: 5.15.133.1-1
WSLg 版本: 1.0.59
MSRDC 版本: 1.2.4677
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本: 10.0.22621.2715

更新 WSL

wsl --update

# 略

通过 PowerShell 或 CMD 运行特定的 Linux 发行版

wsl --distribution --user
示例: wsl --distribution Ubuntu

C:\Users\Knine>wsl --distribution Ubuntu
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.

one@yeahmao:/mnt/c/Users/Knine$

ps: 也可以直接使用bash运行默认版本的Linux。

关闭WSL全部服务

wsl --shutdown
立即终止所有正在运行的发行版和 WSL 2 轻量级实用工具虚拟机。 在需要重启 WSL 2 虚拟机环境的情形下,例如更改内存使用限制或更改 .wslconfig 文件,可能必须使用此命令。

关闭WSL指定发行版

wsl --terminate
示例: wsl --terminate Ubuntu
小编试了,如果被占用的情况,会执行失败的。

解除WSL占用:

  • 保证没有运行指定发行版
  • 保证没有通过Exploer等进程打开Linux盘符
    【WSL】Windows下的Linux子系统使用方法指南_第9张图片

ps: 运行bash命令,会自动启动服务。

注销或卸载 Linux 发行版

wsl --unregister

# 略

装载磁盘或设备

wsl --mount
缩写形式: wsl --mount E:
以管理员启动,但是依然报错了,目前未解决该问题(E:为U盘盘符)。

C:\Windows\System32>wsl --mount -t drvfs E:
拒绝访问。
Error code: Wsl/Service/AttachDisk/E_ACCESSDENIED

卸载磁盘

wsl --unmount

参考资料

  • Windows系统 WSL安装 CentOS7 和docker https://www.jianshu.com/p/ed0d23e742d0
  • 导入要与 WSL 一起使用的任何 Linux 发行版 https://learn.microsoft.com/zh-cn/windows/wsl/use-custom-distro

你可能感兴趣的:(全栈,windows,linux,WSL)