欢迎光临
我们一直在努力

史上最全的WSL安装教程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */
#content_views .toc,
/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */
#content_views.markdown_views > p:empty:has(+ .toc),
#content_views.markdown_views > .toc + p:empty,
/* 富文本旧版目录标记 */
#content_views.htmledit_views #main-toc,
#content_views.htmledit_views #hr-toc,
#content_views.htmledit_views p[id*=\”-toc\”] {
display: none !important;
}
/* 目录去掉后,紧跟的首个标题不再多出一块上边距 */
#content_views.markdown_views > .toc + h1,
#content_views.markdown_views > .toc + h2,
#content_views.markdown_views > .toc + h3,
#content_views.markdown_views > .toc + h4,
#content_views.markdown_views > .toc + p:empty + h1,
#content_views.markdown_views > .toc + p:empty + h2,
#content_views.markdown_views > .toc + p:empty + h3,
#content_views.markdown_views > .toc + p:empty + h4 {
margin-top: 0 !important;
}

使用 WSL 在 Windows 上安装 Linux

一、安装

1. 简化命令安装(推荐)

若运行最新版 Windows(内部版本 20262+),可使用简化命令安装 WSL 及指定 Linux 发行版:

# 安装默认发行版
wsl –install

# 安装指定发行版(如 Ubuntu 22.04)
wsl –install Ubuntu-22.04

# 更新和升级软件包(进入 WSL 后执行)
sudo apt update && sudo apt upgrade

2. 手动安装

启用 WSL

适用于 Linux 的 Windows 子系统随 Windows 提供,但需先启用:

  • 通过 PowerShell(管理员)执行:dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
安装 Ubuntu 22.04

从 Microsoft Store 搜索并安装 Ubuntu 22.04,首次启动时设置用户名和密码。

安装 ROS2(可选)

wget https://gitee.com/ncnynl/commands/raw/master/online.sh
sudo chmod +x ./online.sh
./online.sh

# 安装 ROS2 humble
cs -s install_ros2_humble.sh

二、设置 WSL 开发环境

1. 从 WSL 1 升级到 WSL 2

检查系统要求
  • x64 系统:Windows 10 版本 1903+,内部版本 18362.1049+
  • ARM64 系统:Windows 10 版本 2004+,内部版本 19041+
启用虚拟机平台

以管理员身份打开 PowerShell 并执行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启计算机。

下载 Linux 内核更新包

根据系统架构下载并安装:

  • x64 内核包
  • ARM64 内核包
设置 WSL 2 为默认版本

wsl –set-default-version 2

将现有发行版升级到 WSL 2

wsl -l -v
wsl –set-version Ubuntu-22.04 2

2. WSL 配置文件

全局配置(.wslconfig)

文件路径:%UserProfile%\\.wslconfig,适用于 WSL 2 发行版。

示例配置:

[wsl2]
memory=4GB
processors=2
localhostforwarding=true
networkingMode=mirrored # 需要 Windows 11 22H2+
firewall=true
autoProxy=true
dnsTunneling=true

[experimental]
autoMemoryReclaim=gradual
hostAddressLoopback=true
sparseVhd=true

修改后需执行 wsl –shutdown 重启 WSL。

发行版配置(wsl.conf)

文件路径:/etc/wsl.conf,用于单个发行版配置。

示例:

[automount]
root = /
enabled = true
options = "metadata,uid=1000,gid=1000,umask=022"

[network]
hostname = DemoHost
generateHosts = false
generateResolvConf = false

[interop]
enabled = true
appendWindowsPath = true

[user]
default = DemoUser

[boot]
systemd = true
command = service docker start

3. 设置 Windows Terminal

从 Microsoft Store 安装 Windows Terminal,可自定义主题、默认启动项等,实现多标签管理。

4. 安装 Git

sudo apt update
sudo apt install git -y
git config –global user.name "Your Name"
git config –global user.email "your.email@example.com"

5. 设置 VSCode 编辑器

  • 在 Windows 上安装 VSCode,安装时勾选“添加到 PATH”。
  • 安装 远程开发扩展包。
  • 在 WSL 终端中进入项目目录,执行 code . 即可在 VSCode 中打开。
  • 常见问题

    若出现 /mnt/c/…/Code.exe: Exec format error,执行以下命令:

    sudo sh -c 'echo :WSLInterop:M::MZ::/init:PF > /usr/lib/binfmt.d/WSLInterop.conf'
    sudo systemctl unmask systemd-binfmt.service
    sudo systemctl restart systemd-binfmt
    sudo systemctl mask systemd-binfmt.service

    然后执行 wsl –shutdown 重启。

    6. GPU 加速(ML)

    安装 Docker

    curl https://get.docker.com | sh
    sudo service docker start

    安装 PyTorch + DirectML

    conda create –name py311 python=3.11 -y
    conda activate py311

    sudo apt install libblas3 libomp5 liblapack3
    pip install torch-directml

    验证:

    import torch
    import torch_directml
    dml = torch_directml.device()
    print(dml)
    print(torch.cuda.is_available()) # 应返回 False

    7. 运行 Linux GUI 应用

    先决条件:

    • Windows 10 19044+ 或 Windows 11
    • 安装对应 GPU 驱动程序(Intel / AMD / NVIDIA)
    • 发行版运行于 WSL 2

    # 更新 WSL
    wsl –update
    wsl –shutdown

    # 安装 GUI 应用
    sudo apt update
    sudo apt install nautilus x11-apps -y

    # 启动应用
    nautilus
    xcalc
    xclock

    8. 设置 Node.js

    # 安装 nvm
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

    # 安装 Node.js LTS
    nvm install –lts

    # 验证
    node –version
    npm –version

    三、WSL 常用命令

    命令说明
    wsl –list –online 列出可在线安装的发行版
    wsl -l -v 列出已安装发行版及版本
    wsl –set-version <名称> 2 将发行版切换至 WSL 2
    wsl –shutdown 关闭所有 WSL 实例
    wsl –export <名称> <路径>.tar 导出发行版
    wsl –import <名称> <安装路径> <tar路径> 导入发行版
    wsl –unregister <名称> 卸载发行版
    wsl ~ 在用户主目录启动 WSL
    wsl -u root 以 root 身份进入
    wsl top 查看 WSL 进程资源使用

    四、网络

    WSL 安装后会自动创建虚拟网卡,默认使用 NAT 网络模式。可在 .wslconfig 中配置 networkingMode=mirrored 启用镜像网络。

    五、磁盘存储

    1. 存储架构

    WSL 2 使用 VHDX 虚拟磁盘文件存储 Linux 文件系统,默认位于:

    %USERPROFILE%\\AppData\\Local\\Packages\\<Distro>\\LocalState\\ext4.vhdx

    2. 挂载 Windows 磁盘

    • 自动挂载:默认 Windows 驱动器挂载于 /mnt/ 下。
    • 手动挂载:sudo mount -t drvfs C: /mnt/c
    • 自定义挂载:编辑 /etc/fstab 实现持久化挂载。

    3. 迁移 WSL 到其他盘

    # 导出
    wsl –export Ubuntu-22.04 D:\\ubuntu_backup.tar

    # 注销原发行版
    wsl –unregister Ubuntu-22.04

    # 导入到新位置
    wsl –import Ubuntu-22.04 D:\\wsl\\ubuntu D:\\ubuntu_backup.tar –version 2

    # 设置默认用户
    Ubuntu-22.04.exe config –default-user yf

    六、连接 USB 设备

    1. Windows 安装 usbipd-win

    从 GitHub Releases 下载安装。

    2. 使用示例

    # 列出 USB 设备
    usbipd list

    # 绑定设备
    usbipd bind —busid <BUSID>

    # 附加到 WSL
    usbipd attach —wsl —busid <BUSID>

    3. WSL 侧检查

    sudo modprobe vhci_hcd
    lsusb
    ls /dev/video* # 若为摄像头

    4. 编译自定义内核(如需支持特定硬件)

    若需启用摄像头或特定驱动,可自行编译 WSL 内核。

    # 下载对应版本内核源码
    git clone -b linux-msft-wsl-6.6.87.2 https://github.com/microsoft/WSL2-Linux-Kernel.git

    # 安装编译依赖
    sudo apt install build-essential flex bison dwarves libssl-dev libelf-dev libncurses-dev

    # 配置内核(启用摄像头等)
    make menuconfig KCONFIG_CONFIG=Microsoft/config-wsl

    # 编译
    make -j$(nproc) KCONFIG_CONFIG=Microsoft/config-wsl
    make modules_install
    make install

    # 将编译好的内核复制到 Windows
    cp arch/x86/boot/bzImage /mnt/d/wsl/

    # 在 .wslconfig 中指定内核
    [wsl2]
    kernel=D:\\\\wsl\\\\bzImage

    七、运行 Windows 程序

    在 WSL 终端中可直接运行 Windows 可执行文件:

    notepad.exe
    calc.exe
    code ~

    可设置别名以简化使用:

    alias npp="/mnt/d/Program\\ Files/Notepad++/notepad++.exe"
    # 将 alias 添加到 ~/.bashrc 持久化

    八、常见问题

    1. systemd 启动失败

    若出现 Failed to start the systemd user session,可降级 WSL 版本至 2.5.9,或更新至更高版本以获取修复。

    2. 镜像网络模式不支持

    检查:

    • Windows 版本是否满足要求(Windows 11 22H2+)
    • Hyper-V 及虚拟机平台是否启用
    • BIOS 中虚拟化技术是否开启

    3. USB/IP 加载失败

    确认内核配置中包含:

    CONFIG_USBIP_CORE=m
    CONFIG_USBIP_VHCI_HCD=m

    若使用自定义内核,确保对应模块已编译并安装。

    赞(0)
    未经允许不得转载:171主机测评 » 史上最全的WSL安装教程
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址