目录
0 前言
笔者早期使用的是 Windows / Ubuntu 双系统,但系统切换过于不便,对于有着日常 Windows 办公需求的开发者来说并不友好;后来转投 VMWare 虚拟机,整体体验尚可,但虚拟机很吃系统资源且无法使用主机的 GPU。
WSL(Windows Subsystem for Linux)是微软开源的一套用于在 Windows 中直接运行 Linux 环境的轻量虚拟化解决方案,弥补了双系统使用不便和虚拟机资源开销大的缺点,并且能够直接访问主机的 GPU。WSL 目前已发展到 WSL2,对比 WSL1 的主要区别如下:
本文将以 Ubuntu 24.04 为例,描述 WSL2 的安装、配置及 D 盘迁移的完整过程。
1 安装 WSL2
微软官方文档中介绍了更简洁的 WSL2 安装步骤,笔者进行尝试后并未成功。
1.1 检查 Windows 版本
WSL2 要求 Windows 内部版本为 18362.1049 或更高版本。按 Windows + R
并输入 winver
,点击“确定”,查看 Windows 版本是否满足要求:
1.2 启用 WSL 功能
以管理员身份打开 PowerShell:
1 | # 启用 WSL 功能 |
执行完上述命令后务必重启计算机,否则无法继续后续步骤!
1.3 安装 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,并根据提示设置用户名和密码。
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 | # 执行完该命令后会立即释放 C 盘空间 |
2.4 在新位置导入系统
1 | # 创建新系统目录 |
2.5 设置用户名
1 | # 设置默认用户(避免以 root 身份启动) |
3 配置 WSL2 资源限制
WSL2 默认会尽可能占用系统资源,可能导致 Windows 系统卡顿,因此需要对其进行资源限制。
3.1 查看主机系统资源
按 Ctrl + Shift + Esc
打开任务管理器,点击性能选项卡,查看主机的 CPU 核心总数和内存大小:
3.2 创建 .wslconfig 配置文件
在 C 盘的用户目录(如 C:\Users\YourName
,打开 PowerShell 后默认进入的目录)下创建 .wslconfig
配置文件,根据主机系统资源进行配置并保存文件:
1 | [wsl2] |
3.3 应用配置
1 | # 关闭 WSL |
3.4 验证配置是否生效
在 Ubuntu 24.04 中运行下述命令:
1 | # 检查内存限制 |
可以看到 WSL2 可使用的内存大小及 CPU 核心数量已经和前文 .wslconfig
中的配置保持一致:
4 安装 VS Code WSL 扩展
类似通过 remote ssh 插件连接远程主机,我们可以很方便地通过在 VS Code 中安装 WSL 扩展连接 Windows 本地的 WSL Ubuntu 开发环境。
首先,安装 WSL 扩展:
然后,按 Ctrl + Shift + p
呼出命令面板,输入 wsl
,选择 Connect to WSL
连接 WSL:
至此,我们已经配好了一个基本可用的 WSL Ubuntu 24.04 开发环境。Enjoy!
参考
- WSL 微软官方文档