Skip to content

WSL安装与使用

WSL安装与使用

介绍

WSL 是 Windows Subsystem for Linux 的缩写,核心是 Windows 系统中无需虚拟机就能运行 Linux 环境的兼容层。 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用。

  • 直接在 Windows 上运行 Linux 命令行工具、应用,无需双系统或虚拟机。
  • 与 Windows 系统深度集成,可共享文件系统、网络,支持跨环境操作。
  • 轻量高效,启动速度快,资源占用比虚拟机低。

另外,请使用 WSL 2 版本

安装WSL

安装WSL2(官方文档

  • BIOS中启用虚拟化

  • 控制面板——启动或关闭Windows功能

    • ✅ 适用于 Linux 的 Windows 子系统 (Microsoft-Windows-Subsystem-Linux)
    • ✅ 虚拟机平台 (VirtualMachinePlatform)
  • 下载并安装WSL2内核更新包

  • 在管理员模式下打开 PowerShell,运行下面命令

shell
# 开启虚拟机监控程序
bcdedit /set hypervisorlaunchtype Auto
  • 重启
  • 在管理员模式下打开 PowerShell,运行下面命令
shell
# 将 WSL 2 设置为默认版本
wsl.exe --set-default-version 2

# 查看版本
wsl -v

WSL上安装Ubuntu

安装Ubuntu

  • 打开Microsoft Store应用商店,搜索ubuntu
  • 选择“Ubuntu 22.04.5 LTS”——点击安装获取。
  • 下载成功后,点击打开。设置初始用户名和密码(输入两次密码),即可使用。

image-20251110150300873

安装terminal工具

  • 打开Microsoft Store应用商店,搜索terminal
  • 选择“Windows Terminal”——点击获取安装

image-20251110151435561

  • 安装后点击打开,点击下拉箭头,选择“Ubuntu 22.04.5 LTS”

image-20251110151535287

后续使用:点击Windows开始按钮,选择上述应用,即可打开

访问 Windows上 文件

  • Windows 的磁盘(如 C盘D盘 等)会被挂载到 WSL 的 /mnt 目录下,路径格式为:/mnt/<磁盘盘符>/<Windows中的文件路径>
  • 例如:访问 Windows 的 C盘 根目录:/mnt/c/

切换root用户

命令需要输入的密码是否加载 root 完整环境前提条件
sudo -i普通用户密码是(推荐)普通用户在 sudo 组
sudo su普通用户密码普通用户在 sudo 组
su rootroot 密码已设置 root 密码

Ubuntu上安装Docker

安装Docker

官方文档

删除旧版本docker

shell
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)

设置源

shell
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: jammy
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

安装

shell
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 查看
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

设置镜像加速

shell
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me",
    "https://docker.m.daocloud.io",
    "https://dislabaiot.xyz"
  ]
}
EOF

# 重启服务生效
sudo systemctl daemon-reload && sudo systemctl restart docker

# 查看配置结果
root@ubuntu22:/etc/docker# docker info
Client: Docker Engine - Community
 Version:    28.1.1
 Context:    default
 ...
 ...
 Registry Mirrors:
  https://docker.1ms.run/
  https://docker.xuanyuan.me/
  https://docker.m.daocloud.io/
  https://dislabaiot.xyz/
 Live Restore Enabled: false

设置自动启动

在 Docker 服务启动时自动启动特定容器

  • Docker 原生支持,配置最简单、最可靠
  • 绝大多数情况推荐使用,管理单个或多个无依赖关系的容器
  • Docker 重启策略
shell
docker update --restart=always <容器名/ID>

(可选)WSL上使用GPU

准备工作

Windows正确安装最新NVIDIA驱动并重启。

  • 往NVIDIA官方驱动下载页面,根据你的显卡型号,下载最新的标准Game Ready Driver或Studio Driver即可。现代的NVIDIA驱动程序已经原生包含了对WSL 2的支持。
  • 运行下载的安装程序,按提示完成安装。安装完成后,再次重启Windows系统。

安装NVIDIA Container Toolkit

在WSL上的Ubuntu终端,运行:

shell
# 添加包仓库和GPG密钥
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 安装工具包
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# 配置Docker运行时并重启服务
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

验证GPU是否可用

如果能看到GPU信息输出,说明WSL 2的GPU直通已成功

shell
# 验证NVIDIA驱动是否正常
nvidia-smi
# 或
/usr/lib/wsl/lib/nvidia-smi

### 输出示例
Mon Jan 19 15:18:12 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.02              Driver Version: 560.94         CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1060 5GB    On  |   00000000:01:00.0  On |                  N/A |
| 27%   46C    P0             25W /  120W |     376MiB /   5120MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A        68      G   /Xwayland                                   N/A      |
+-----------------------------------------------------------------------------------------+

(可选)WSL迁移到D盘

参考资料