0%

初识 WSL2:以 Ubuntu 24.04 安装为例

目录

目录-初识 WSL2:以 Ubuntu 24.04 安装为例

0 前言

笔者早期使用的是 Windows / Ubuntu 双系统,但系统切换过于不便,对于有着日常 Windows 办公需求的开发者来说并不友好;后来转投 VMWare 虚拟机,整体体验尚可,但虚拟机很吃系统资源且无法使用主机的 GPU。

WSL(Windows Subsystem for Linux)是微软开源的一套用于在 Windows 中直接运行 Linux 环境的轻量虚拟化解决方案,弥补了双系统使用不便和虚拟机资源开销大的缺点,并且能够直接访问主机的 GPU。WSL 目前已发展到 WSL2,对比 WSL1 的主要区别如下:

WSL1 与 WSL2 的比较

本文将以 Ubuntu 24.04 为例,描述 WSL2 的安装、配置及 D 盘迁移的完整过程。

1 安装 WSL2

微软官方文档中介绍了更简洁的 WSL2 安装步骤,笔者进行尝试后并未成功。

1.1 检查 Windows 版本

WSL2 要求 Windows 内部版本为 18362.1049 或更高版本。按 Windows + R 并输入 winver,点击“确定”,查看 Windows 版本是否满足要求:

检查 Windows 版本

1.2 启用 WSL 功能

管理员身份打开 PowerShell:

1
2
3
4
5
# 启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 启用虚拟机平台功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

执行完上述命令后务必重启计算机,否则无法继续后续步骤!

1.3 安装 WSL2 内核更新包

下载并安装 WSL2 内核更新包

安装 WSL2 内核更新包

1.4 设置 WSL2 为默认版本

重启后,再次以管理员身份打开 PowerShell 并运行以下命令,将 WSL2 设置为默认版本:

1
wsl --set-default-version 2

1.5 安装 Ubuntu 24.04

打开 Microsoft Store,搜索 Ubuntu 24.04,点击“获取”进行安装:

通过微软应用商店获取并安装 Ubuntu 24.04

安装完成后,需要从菜单栏打开 Ubuntu 24.04,并根据提示设置用户名和密码。

2 将 Ubuntu 24.04 迁移至 D 盘

WSL 默认会将 Linux 发行版安装在 C 盘下,我们需要将安装好的 Linux 发行版迁移至空间充足的非系统盘下,本文中以 D 盘为例。

2.1 确认 Linux 发行版名称和状态

1
wsl --list --verbose

确认发行版名称和状态

2.2 导出系统备份

1
wsl --export Ubuntu-24.04 D:\ubuntu24.04.tar

2.3 注销原系统

1
2
# 执行完该命令后会立即释放 C 盘空间
wsl --unregister Ubuntu-24.04

2.4 在新位置导入系统

1
2
3
4
5
6
7
8
# 创建新系统目录
mkdir D:\WSL2\Ubuntu24.04

# 导入系统到新位置
wsl --import Ubuntu-24.04 D:\WSL2\Ubuntu24.04 D:\ubuntu24.04.tar --version 2

# 删除备份文件
del D:\ubuntu24.04.tar

2.5 设置用户名

1
2
# 设置默认用户(避免以 root 身份启动)
Ubuntu24.04 config --default-user YourUserName

3 配置 WSL2 资源限制

WSL2 默认会尽可能占用系统资源,可能导致 Windows 系统卡顿,因此需要对其进行资源限制。

3.1 查看主机系统资源

Ctrl + Shift + Esc 打开任务管理器,点击性能选项卡,查看主机的 CPU 核心总数和内存大小:

查看主机的 CPU 核心总数和内存大小

3.2 创建 .wslconfig 配置文件

在 C 盘的用户目录(如 C:\Users\YourName,打开 PowerShell 后默认进入的目录)下创建 .wslconfig 配置文件,根据主机系统资源进行配置并保存文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[wsl2]
# 限制最大内存使用(单位: GB 或 MB)
# 建议设置为物理内存的 50%-70%
memory=16GB

# 限制 CPU 核心使用数量
# 建议设置为总核心数减 1 或 2,为 Windows 系统留出资源
processors=8

# (可选)设置交换空间大小(虚拟内存)
# 默认约为物理内存的 25%
swap=8GB

# (可选)设置交换文件位置
# swapfile=D:\\WSL2\\swap.vhdx

# (可选)启用页面缓存(默认true,建议保持开启)
# pageReporting=true

3.3 应用配置

1
2
3
4
5
# 关闭 WSL
wsl --shutdown

# 重启 WSL,自动进入 Ubuntu 24.04
wsl

3.4 验证配置是否生效

在 Ubuntu 24.04 中运行下述命令:

1
2
3
4
5
# 检查内存限制
free -h

# 检查 CPU 核心数
nproc

可以看到 WSL2 可使用的内存大小及 CPU 核心数量已经和前文 .wslconfig 中的配置保持一致:

检查 WSL2 可使用的内存大小及 CPU 核心数量

4 安装 VS Code WSL 扩展

类似通过 remote ssh 插件连接远程主机,我们可以很方便地通过在 VS Code 中安装 WSL 扩展连接 Windows 本地的 WSL Ubuntu 开发环境。

首先,安装 WSL 扩展:

为 VS Code 安装 WSL 扩展

然后,按 Ctrl + Shift + p 呼出命令面板,输入 wsl,选择 Connect to WSL 连接 WSL:

连接 WSL

至此,我们已经配好了一个基本可用的 WSL Ubuntu 24.04 开发环境。Enjoy!

参考

  1. WSL 微软官方文档
Thank you for your donate!