WSL (Windows Subsystem for Linux)

提醒

  • 这是一个前置技术

  • 集群平台本身不支持直接运行 WSL,但 WSL 是一个非常有用的工具,可用于在 Windows 环境中学习 Linux 系统操作以及构建容器镜像,这些镜像随后可以在集群上使用。

  • 安装WSL镜像之前,需要设置一些windows的环境信息,以便后续的调试,参考 : 推荐环境设置(进阶)

简介

WSL (Windows Subsystem for Linux) 是 Windows 10 和 Windows 11 中的一项功能,允许用户直接在 Windows 上运行 Linux 环境,无需虚拟机或双启动。WSL 提供了 Linux 内核的兼容性层,使 Linux 二进制文件可以在 Windows 上运行,同时保持与 Windows 文件系统和应用程序的互操作性。

WSL 有两个主要版本:

  • WSL 1:基于翻译层的实现,提供良好的性能和与 Windows 的集成

  • WSL 2:基于轻量级虚拟机的实现,提供完整的 Linux 内核和更好的性能

在 Windows 10/11 上安装 WSL

系统要求

  • Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)

  • Windows 11 所有版本

  • 至少 4GB RAM

  • 至少 50GB 可用磁盘空间

启用 WSL 功能

  1. 在控制面版启动下图功能项:

    ../../../../_images/wsl-1.png
  2. 重启计算机以完成安装

安装 WSL 2

  1. 打开 powershell 管理员权限 ,运行以下命令设置 WSL 2 为默认版本:

    wsl --set-default-version 2
    
    ../../../../_images/wsl2-ps.png
  2. 点击 https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 下载并安装 WSL 2 内核更新包:

安装 Linux 分发版

WSL 支持多种 Linux 分发版,以下是常用发行版的安装方法:

安装 Ubuntu 22.04 LTS

  1. 从 Microsoft Store 安装

    • 打开 Microsoft Store

    • 搜索 "Ubuntu 22.04 LTS"

    • 点击 "获取" 或 "安装"

    • 安装完成后点击 "启动"

  2. 启动 Ubuntu,并进行初始化设置:

    • 设置用户名(用于 WSL Ubuntu 环境)

    • 设置密码(用于 WSL Ubuntu 环境, 密码不能包含空格, 建议使用复杂密码,输入过程中密码不可见)

其他版本

小技巧

  • 当然,Microsoft Store 下载ubuntu 22的时候,大概率是会出现网络问题的,所以我们还是提供了其他安装方式

  1. 下载所需要的镜像,并解压到需要存放资料的目录(wsl还是相对占用硬盘空间的,建议放在硬盘空间比较大的分区)

  2. 解压镜像文件,双击 运行exe 程序,如果提示windows 保护窗口,选择 "更多信息" -> "仍然运行"

  3. 提示安装完成后,点击 "关闭" 按钮。重新启动exe程序即可启动linux子系统

  4. 启动linux子系统后,可以通过 ` sudo -s ` 切换到root用户,进行后续的系统配置

安装常用软件

根据不同的 Linux 发行版,安装命令有所不同。请选择您使用的发行版对应的命令:

Ubuntu

# 更新系统
sudo apt update

# 安装开发工具
sudo apt install -y build-essential git curl wget vim

# 安装 GUI 常用依赖
sudo apt install -y x11-apps xserver-xorg-core xserver-xorg-video-all \
     libx11-6 libx11-xcb1 libxcb1 libgl1-mesa-glx libgl1-mesa-dri \
     libxext6 libxrender1 libfontconfig1 libfreetype6 libice6 libsm6

Rocky & CentOS

# 切换到root用户
sudo -s

# 更新系统
dnf update -y

# 安装开发工具
dnf install -y @development-tools git curl wget vim

# 安装 GUI 常用依赖
dnf install -y xorg-x11-apps xorg-x11-server-Xorg xorg-x11-drivers \
         libX11 libX11-xcb libxcb mesa-libGL mesa-dri-drivers \
         libXext libXrender fontconfig freetype libICE libSM

WSL 与 Windows 文件互操作

  • 从 WSL 访问 Windows 文件


# Windows C 盘挂载在 /mnt/c
cd /mnt/c/Users/<windows-user-name>

# Windows D 盘挂载在 /mnt/d
cd /mnt/d
  • 从 Windows 访问 WSL 文件


WSL 能在/mnt 访问到各个分区的文件,直接cp 到对应分区,windows 打开对应目录即可访问到共享区域的数据

常见问题和解决方案

WSL 无法访问网络

解决方案:

# 重置网络
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

# 重启 WSL
wsl --shutdown

参考资料

Contributor:rkwu


最后更新: 2025 年 12 月 15 日