Windows Subsystem for Linux 2 (WSL2) 安装与实战完全指南

作为一名开发者,你是否经常面临这样的困扰:需要在 Windows 上编写代码,却不得不为了运行测试环境而繁琐地切换到 Linux,或者被迫在电脑上臃肿地运行着 VMware 或 VirtualBox 等虚拟机?实际上,现代开发工作流往往要求我们在享受 Windows 便捷的桌面体验的同时,拥有 Linux 原生般的强大命令行工具。

在本文中,我们将深入探讨 适用于 Linux 的 Windows 子系统 2 (WSL2),这是微软为解决这一痛点而推出的革命性解决方案。我们将一起学习如何从零开始在 Windows 10 上配置 WSL2,如何通过一行命令搭建开发环境,以及如何利用它来大幅提升我们的工作效率。

为什么选择 WSL2?

在开始动手之前,让我们先理解 WSL2 的核心优势,这将有助于我们明白它在技术架构上的优越性。

传统的 WSL 1 版本主要是一个翻译层,它将 Linux 系统调用实时翻译为 Windows NT 内核调用。虽然兼容性不错,但在文件系统性能上仍有瓶颈。而 WSL2 则采用了完全不同的架构:它使用了一个真正的、基于微软 Hyper-V 技术的轻量级实用虚拟机,并在其中运行着真正的 Linux 内核

这对我们开发者意味着什么呢?

  • 惊人的文件系统性能:与 WSL 1 相比,WSL2 在文件操作上的速度提升了数倍,特别是在安装依赖包或克隆大型 Git 仓库时,你会发现速度差异明显。
  • 完整的系统调用兼容性:它支持 Docker 容器等之前在 WSL 1 上难以运行的复杂 Linux 应用。
  • 极低的资源消耗:与传统的虚拟机不同,WSL2 在后台运行时几乎不占用任何内存或 CPU,当你关闭终端窗口后,它会自动释放资源,不再需要像以前那样笨重地管理虚拟机。

前置准备与系统检查

在正式安装之前,我们需要确保你的 Windows 10 系统版本符合要求。为了获得最佳体验,建议将系统更新至 Windows 10 版本 2004(内部版本 19041)或更高版本。

如果你正在运行较新的 Windows 11,步骤会简单得多,但今天我们将专注于在 Windows 10 上完成这一配置。接下来,让我们一起打开命令行工具,开始我们的安装之旅。

#### 步骤 1:启动 PowerShell 或 CMD

我们需要管理员权限来执行系统级安装。请按照以下步骤操作:

  • 按下键盘上的 Win 键 或点击屏幕左下角的开始菜单图标。
  • 输入 cmdPowerShell。为了方便起见,命令提示符和 PowerShell 在接下来的命令中效果相同。
  • 在搜索结果中,不要直接按回车,而是右键点击(或点击右侧的小箭头),选择 “以管理员身份运行”

#### 步骤 2:执行一键安装命令

微软大大简化了 WSL2 的安装流程。在以前,我们需要手动开启多个“可选功能”,现在,我们只需要一条命令即可完成所有繁重的工作。

在以管理员身份打开的窗口中,键入以下命令并按 Enter 键:

# WSL 一键安装命令,包含默认的 Ubuntu 发行版和 WSL2 内核更新
wsl --install

这条命令到底做了什么? 它在后台默默地完成了以下任务:

  • 启用“适用于 Linux 的 Windows 子系统”:这是 WSL 运行的基础功能。
  • 启用“虚拟机平台”:这是 WSL2 依赖的轻量级虚拟化技术,它与传统的 Hyper-V 虚拟机并不冲突。
  • 下载并安装最新的 Linux 内核:WSL2 需要一个真实的内核来运行 Linux。
  • 将 WSL 2 设置为默认版本:确保新安装的发行版使用更高效的架构。
  • 下载并安装 Ubuntu Linux:默认情况下,它会安装 Ubuntu 作为你的 Linux 发行版。

执行完命令后,你会看到系统提示安装正在进行,这通常需要几分钟时间,具体取决于你的网络速度(因为它需要下载内核和发行版包)。

#### 步骤 3:重启计算机

安装过程完成后,命令行窗口通常会提示你进行重启。请保存当前的工作,然后重启电脑。这是必要的步骤,因为系统需要加载刚才启用的虚拟机平台和内核组件。

重启完成后,当你第一次点击 Ubuntu 图标或直接在终端输入 wsl 时,系统会自动为你完成 Ubuntu 的最终配置。

自定义安装:选择你偏爱的 Linux 发行版

虽然 Ubuntu 是目前最流行且对初学者友好的选择,但作为一名专业的开发者,你可能更倾向于使用其他发行版,比如 OpenSUSE 用于开发企业级应用,或者 Kali Linux 用于安全测试。

如果你不想安装默认的 Ubuntu,可以在执行 wsl --install 之前进行指定。以下是具体的操作方法。

查看可用的发行版列表

# 列出所有可在线安装的 Linux 发行版
wsl --list --online

运行上述命令后,你会看到一长串列表,包括 INLINECODE3ad561b6, INLINECODE1084b1ee, INLINECODEe2d507aa, INLINECODEfa172acf 等。

安装指定的发行版

假设你更喜欢 Debian 的稳定性,你可以使用 -d 参数来指定安装:

# 仅安装 WSL 功能并指定 Debian 为目标发行版
wsl --install -d Debian

或者,如果你已经运行了默认安装,但想添加第二个发行版,直接运行指定安装的命令即可。

进阶配置:手动启用 WSL2(疑难解答)

虽然上面的“一键安装”方法在最新的 Windows 10 版本中非常有效,但如果你使用的版本较旧,或者自动化脚本出现了故障,你可以手动按照步骤来排查。

#### 步骤 A:手动启用虚拟机平台

WSL2 依赖于“虚拟机平台”功能。如果你在后续运行 WSL 时收到错误提示,建议手动确认此功能已开启。

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

# DISM 命令:启用虚拟机平台特性
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

执行完毕后,同样需要重启电脑。

#### 步骤 B:将现有发行版转换为 WSL 2

如果你之前已经安装过 WSL 1 版本的 Ubuntu,想要升级到 WSL 2 以获得性能提升,可以使用以下命令。

首先,检查你当前的版本状态:

# 查看已安装的发行版及其 WSL 版本(1 或 2)
wsl --list --verbose

输出示例:

  NAME            STATE           VERSION
* Ubuntu          Running         1

如果 VERSION 显示为 1,你可以使用以下命令将其转换为 2:

# 将 Ubuntu 设置为使用 WSL 2 架构
wsl --set-version Ubuntu 2

这个过程可能需要一分钟左右,它会将你的旧文件系统迁移到新的虚拟磁盘中。

实战演练:在 WSL2 中安装 Linux 软件包

现在,WSL2 已经在你的 Windows 10 上完美运行。让我们通过一个实际的例子来看看如何在其中管理软件包。我们将以安装 INLINECODE0ec2e6b2 为例,它比传统的 INLINECODE5e7cf862 命令提供了更直观的进程监控界面,色彩丰富且支持鼠标操作。

#### 步骤 1:更新 APT 缓存

在安装任何软件之前,作为一名优秀的系统管理员,我们总是习惯先更新本地的软件包索引。这确保了你下载的是最新版本的软件。

打开你的 Linux 终端(Ubuntu),输入:

# 使用 sudo 获取超级用户权限,更新软件源列表
$ sudo apt update

代码解析

  • sudo:SuperUser DO,用于以管理员权限执行命令。
  • apt:Advanced Package Tool,Debian 和 Ubuntu 系列发行版的默认包管理器。
  • update:该指令并不会升级软件,而是同步远程服务器上的软件包索引到本地,相当于刷新了“菜单”。

#### 步骤 2:安装 htop

接下来,我们安装 htop 工具。

# 安装 htop 软件包,并默认回答“Yes”确认安装
$ sudo apt install -y htop

代码解析

  • install:指令安装软件包。
  • -y:这是一个非常实用的参数,它告诉 apt 在安装过程中如果遇到确认提示(如“Do you want to continue? [Y/n]”),自动选择 Yes。这在编写脚本时尤为重要,避免程序卡在等待用户输入上。

#### 步骤 3:运行并验证

安装完成后,直接输入软件名即可运行:

# 启动 htop
$ htop

你将看到一个彩色的、交互式的进程管理器。你可以按 F9 键结束进程,或按 F10 退出。这证明我们的 Linux 环境已经完全可以像一台真正的物理机一样工作了。

性能优化与实用技巧

为了让 WSL2 在 Windows 10 上运行得更加丝滑,这里有一些我们在长期使用中总结的实用建议:

#### 1. 存储 Windows 文件

在 WSL2 中,你可以通过 INLINECODEbce5ab9b 路径访问 Windows 的 C 盘。虽然这很方便,但请注意:尽量避免在 INLINECODE7f0dae13 下运行密集型的文件操作(如编译代码或运行 Git)

原因:跨文件系统(从 Linux 访问 Windows NTFS 文件系统)的 I/O 性能远低于 Linux 自身的 ext4 文件系统。如果将项目代码直接放在 WSL 的 Linux 主目录(INLINECODE92d332f9 或 INLINECODE76f2e9ee)中,你会发现编译速度和文件保存速度有显著提升。

#### 2. 内存管理

默认情况下,WSL2 会动态占用它所需的内存,最多可用到你 Windows 的一半内存(例如 16GB 内存可用 8GB)。如果你运行大型 Docker 容器,这可能会耗尽你的系统资源。

我们可以通过在 Windows 用户目录下创建 .wslconfig 文件来限制内存使用:

# 在 Windows 用户目录下创建或编辑 %UserProfile%\.wslconfig
[wsl2]
# 限制 WSL2 最大使用 4GB 内存
memory=4GB
# 限制使用 2 个处理器核心
processors=2

保存文件后,在 PowerShell 中运行 wsl --shutdown 重启 WSL 以应用设置。

#### 3. 常见错误:参考错误代码 0x80370102

如果你在安装或启动 WSL2 时遇到类似错误:

> WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel.

这通常是因为你没有安装最新的 Linux 内核更新包。虽然现在的 wsl --install 会自动处理,但在旧版本中,你需要手动下载并安装 MSI 更新包。或者,你可以再次运行安装命令来尝试修复。

总结与展望

在本文中,我们一起完成了从零开始在 Windows 10 上安装和优化 WSL2 的全过程。我们不仅学习了如何通过命令行工具快速搭建环境,还深入探讨了 WSL2 与传统虚拟机的区别、如何进行发行版的定制化管理,以及在实战中如何通过 apt 管理 Linux 软件包。

掌握 WSL2 不仅仅是为了“运行 Linux”,它更是连接 Windows 生产力生态与开源开发世界的桥梁。无论你是从事 Web 开发、云计算,还是仅仅热衷于探索 Linux 命令行的强大功能,WSL2 都能为你提供流畅、高效的体验。

现在,你已经拥有了强大的开发环境。接下来的步骤建议你尝试配置 Windows Terminal 以获得更好的多标签页体验,或者安装 VS Code 的 Remote-WSL 插件,直接在 Windows 上编辑代码,而在后台由 WSL 负责编译和运行。祝你编码愉快!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/41455.html
点赞
0.00 平均评分 (0% 分数) - 0