Windows 11:WSL 2 安装和管理指南,3 种方法任你选
Windows 11:WSL 2 安装和管理指南,3 种方法任你选
WSL 2(Windows Subsystem for Linux 2)是微软推出的一项重要技术,它允许用户在Windows系统上直接运行Linux环境,无需借助虚拟机或双系统。对于开发者和系统管理员来说,WSL 2提供了一个高效、便捷的跨平台开发环境,既保留了Windows的生产力工具,又能够使用Linux的强大功能。本文将详细介绍WSL 2的安装、管理和使用方法。
如果十几年前有人告诉你「Microsoft Love Linux」,你可能会觉得不可思议,因为Windows和Linux一直是竞争对手。微软前CEO Steve Ballmer甚至曾公开宣称Linux是「癌症」。然而,随着技术的发展和市场需求的变化,微软开始转变态度,不仅在Hyper-V虚拟化平台上增加了对Linux的支持,更推出了适用于Linux的Windows子系统(WSL)。
什么是 WSL 2?
- 时间来到2017年,微软正式发布了「适用于Linux的Windows子系统」,即人们熟知的Windows Subsystem for Linux,简称WSL。
- 在2019年,微软又基于Hyper-V架构的部分功能,推出了全新的WSL 2。它能够在一个高度优化的虚拟化环境中运行完整的Linux内核。
WSL 2只需要较少的系统资源,就能实现Windows和Linux之间的无缝集成。虽然WSL 2也使用了虚拟化技术,但它会自动在后台运行和管理,无需用户手动配置或维护(要维护也可以)。
WSL 2主要面向将Windows作为生产力工具,但又希望在Linux环境中完成工作的用户和开发人员。你可以运行grep、awk和sed等命令行工具,以及依赖这些工具的Bash脚本。不仅如此,你还可以从WSL命令行启动Windows应用,甚至在Windows上运行Linux图形应用。
WSL 2 的系统要求
- WSL 2使用了Hyper-V架构的一部分功能,但对Windows 11的版本并没有限制。家庭版、教育版、专业版和企业版都可以安装。
- 除了x86_64架构外,WSL 2也支持ARM处理器。但要在基于ARM的设备上运行,所使用的Linux系统也必须是ARM版本。
- 如果你使用的虚拟机软件支持嵌套虚拟化,WSL 2也可以在虚拟机中的Windows上运行。
在 Windows 11 上安装 WSL 2
方法 1:使用 WSL 命令安装
在Windows 11中,安装WSL 2最简单的方法是使用命令行:
- 右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开「Windows终端」。
- 在Windows PowerShell或「命令提示符」交互窗口中,执行以下命令:
wsl --install
- 以上命令会启用WSL 2所需的所有功能,并默认下载Ubuntu发行版。安装需要几分钟,完成后会提示你重启Windows。
使用命令行安装WSL 2
- 重新登录Windows 11后,系统会自动弹出一个命令行窗口,以继续安装并启用Ubuntu。按命令提示设置好你的Linux用户账户和密码后,即可开始使用。
方法 2:使用 PowerShell 安装 WSL 2
我们也可以通过PowerShell来安装WSL 2:
- 使用Windows + R快捷键打开「运行」对话框,输入powershell,然后按Ctrl + Shift + Enter,以管理员权限打开PowerShell。
- 执行以下命令启用WSL和虚拟机平台功能:
Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Windows-Subsystem-Linux","VirtualMachinePlatform")
- 安装完成后,键入Y重启计算机。
使用PowerShell安装WSL 2
- 完成以上步骤后,需要通过Microsoft Store获取要使用的Linux发行版(后面会有专门介绍)。
如果在安装WSL时没有选择安装Virtual Machine Platform,那么将使用WSL 1。
方法 3:通过「Windows 功能」启用 WSL 2
如果你更习惯使用图形界面,也可以通过「Windows功能」在Windows 11中启用WSL 2:
- 使用Windows + R快捷键打开「运行」对话框,执行OptionalFeatures打开「Windows功能」。
- 勾选「适用于Linux的Windows子系统」和「虚拟机平台」,然后点击「确定」。
使用「Windows功能」安装WSL 2
- 安装完成后,点击「立即重新启动」。
安装好后,点击立即重新启动
- 系统重启完成后,请通过Microsoft Store来获取要使用的Linux发行版(后文会有专门介绍)。
如果在安装WSL时没有勾选「虚拟机平台」,那么将使用WSL 1。
在 Windows 11 上管理 WSL 版本
WSL 1 和 WSL 2 功能对比
- WSL 1是一个轻量级的Linux兼容性层,它会将Linux系统调用转换为Windows NT内核调用来实现Linux应用程序的运行,但不支持完整的Linux内核功能。
- WSL 2使用真正的Linux内核,并且支持Docker等其他高级功能。
功能 | WSL 1 | WSL 2 |
---|---|---|
Windows和Linux之间的集成 | ✅ | ✅ |
启动时间短 | ✅ | ✅ |
与传统虚拟机相比,占用资源少 | ✅ | ✅ |
可以与当前版本的VMware和VirtualBox一起运行 | ✅ | ✅ |
托管VM | ❌ | ✅ |
完整的Linux内核 | ❌ | ✅ |
完全的系统调用兼容性 | ❌ | ✅ |
跨OS文件系统的性能 | ✅ | ❌ |
systemd支持 | ❌ | ✅ |
IPv6支持 | ✅ | ✅ |
更新 WSL 版本
WSL的更新版本会首先发布到GitHub,然后会打包到Windows Update进行分发。你可以在Windows 11中手动或自动更新WSL版本:
- 右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开「Windows终端」。
- 在Windows PowerShell或「命令提示符」窗口中,执行以下命令:
- 查看当前WSL版本:
wsl --version
- 手动更新WSL版本:
wsl --update
- 安装最新的预发行版(可选):
wsl --update --pre-release
查看当前并更新WSL版本
- 如果更新之后遇到问题或出现故障,可以回滚到上一版本:
wsl --update --rollback
如果你觉得手动更新比较麻烦,可以在「Windows更新」中设置WSL自动更新:
- 使用Windows + I快捷键打开「设置」>「Windows更新」>「高级选项」。
- 打开「接收其他Microsoft产品的更新」开关,这样每当有新的WSL修订版本发布时,就会随Windows 11自动更新。
开启Windows Update自动更新WSL版本
切换 WSL 默认版本
要切换WSL默认版本也非常容易,在命令行中执行以下命令即可:
- 切换为WSL 2:
wsl --set-default-version 2
- 切换为WSL 1:
wsl --set-default-version 1
切换WSL默认版本
如无特殊需求,推荐始终使用WSL 2,以获得最佳功能和性能。
使用 WSL 在 Windows 11 上管理 Linux 发行版
安装 Linux 发行版
在Microsoft Store应用商店中,有很多主流Linux发行版可供选择:
- 通过以下链接直接进行安装,或者在Microsoft Store中搜索需要的发行版进行安装:
通过Microsoft Store安装WSL发行版
- 安装好后点击「打开」,在弹出的命令行窗口中设置好Linux用户账户和密码,等待系统初始化完成。
安装完成后点击「打开」
在命令提示中完成初始化
- 此外,你也可以执行以下命令,查看有哪些可用的发行版,然后再进行安装:
wsl --list --online # 查看可用Linux发行版
wsl --install --distribution <DistroName> # 安装指定Linux发行版
使用命令查看并安装可用WSL发行版
- 安装完成后,在命令行窗口中设置Linux用户账户和密码,完成系统初始化。
设置默认 Linux 发行版
如果你在Windows 11上为WSL安装了多个Linux发行版,可以通过以下步骤来指定默认发行版:
- 右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开「Windows终端」。
- 在Windows PowerShell或「命令提示符」窗口中,执行以下命令:
wsl --list --verbose # 查看已安装的发行版、WSL版本信息和当前状态
wsl --set-default <DistroName> # 重新指定默认发行版
手动指定默认WSL发行版
同时运行多个 Linux 发行版
在Windows 11中安装多个Linux发行版后,即便没将其设置为默认发行版,也可以随时启动来使用。
- 在「开始」菜单的「所有应用」列表,或「推荐的项目」中打开指定的Linux命令行窗口。
通过「开始」菜单启动指定发行版
- 右键点击「开始」菜单,选择「终端管理员」,在「Windows终端」的「打开新标签页」下拉菜单中打开特定Linux的命令行窗口。
在「Windows终端」中与指定发行版直接交互
移动 Linux 发行版存储位置
以下方法仅适用于WSL 2.3.11及以上版本。
默认情况下,WSL会将Linux发行版存放在C盘的以下路径,其中包含了发行版的根文件系统和相关配置文件:
%USERPROFILE%\AppData\Local\Packages\<发行版的包名>\
WSL发行版默认存放路径
以前,移动发行版需要手动导出→将其作为新发行版导入WSL→然后删除原来的发行版,这3个步骤。但从WSL 2.3.11开始,微软引入了更简单的--move参数来移动发行版的底层存储。
例如,要将Ubuntu 22.04实例移动到D盘的一个专用WSL文件夹,可以使用以下命令:
- 列出已安装的发行版:
wsl --list
- 将特定发行版移动到指定路径:
wsl --manage Ubuntu-22.04 --move <path>
- 移动成功后,会有通知提示。
通过wsl的-move参数直接移动特定发行版
Windows 11 和 Linux 文件系统互访
使用WSL的一大优势是:Windows 11和Linux之间的文件系统能够无缝互访,比在传统虚拟机中使用Linux要方便得多。让我们来看看如何实现这种互访:
在 Windows 11 中访问 Linux 文件系统
- 使用Windows + E快捷键打开「文件资源管理器」。
- 在左侧导航窗格中找到并点击「Linux」,就可以像浏览Windows文件一样浏览Linux文件了。
在Windows 11中浏览Linux文件夹
在 Linux 中访问 Windows 11 文件系统
- 在Linux中打开「终端」,执行以下命令即可进入Windows 11的C盘根目录:
cd /mnt/c/
- 使用ls命令列出目录和文件,你会看到熟悉的Windows目录和文件结构。
在Linux中访问Windows 11指定驱动器
在Linux中,访问Windows 11其他盘符的方式也类似,例如D盘可以使用/mnt/d/。