如果我在十几年前跟你说「Microsoft Love Linux」,你肯定觉得我鬼打墙了,Windows 和 Linux 可一直都是竞争对手。时任微软 CEO Steve Ballmer 还曾公开宣称 Linux 是「癌症」,毕竟 Linux 作为免费、开源的 Windows 替代品,抢走了微软不少的市场份额和营收。
后来,可能是为了与 VMware 等虚拟化厂商竞争,以及发展云计算平台的需要,微软在 Hyper-V 虚拟化平台上增加了对 Linux 的原生支持,让 Windows 也可以在 Hyper-V 虚拟机中运行 Linux 系统。但是,在 Hyper-V 中运行 Linux 虚拟机需要消耗大量的系统资源,而且宿主机(Host OS)与虚拟机(Guest OS)之间的交互也比较麻烦。
什么是 WSL 2?
- 时间来到 2017 年,事情正在起变化。微软正式发布了「适用于 Linux 的 Windows 子系统」,即人们熟知的 Windows Subsystem for Linux,简称 WSL。
- 在 2019 年,微软又基于 Hyper-V 架构的部分功能,推出了全新的 WSL 2。它能够在一个高度优化的虚拟化中运行完整的 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 最简单的方法是使用命令行:
1、右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开「Windows 终端」。
2、在 Windows PowerShell 或「命令提示符」交互窗口中,执行以下命令:
wsl --install
3、以上命令会启用 WSL 2 所需的所有功能,并默认下载 Ubuntu 发行版。安装需要几分钟,完成后会提示你重启 Windows。
使用命令行安装 WSL 2
4、重新登录 Windows 11 后,系统会自动弹出一个命令行窗口,以继续安装并启用 Ubuntu。按命令提示设置好你的 Linux 用户账户和密码后,即可开始使用。
初始化 Ubuntu 系统
方法 2:使用 PowerShell 安装 WSL 2
我们也可以通过 PowerShell 来安装 WSL 2:
1、使用Windows + R
快捷键打开「运行」对话框,输入powershell
,然后按Ctrl + Shift + Enter
,以管理员权限打开 PowerShell。
2、执行以下命令启用 WSL 和虚拟机平台功能:
Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Windows-Subsystem-Linux","VirtualMachinePlatform")
3、安装完成后,键入Y
重启计算机。
使用 PowerShell 安装 WSL 2
4完成以上步骤后,需要通过 Microsoft Store 获取要使用的 Linux 发行版(后面会有专门介绍)。
如果在安装 WSL 时没有选择安装 Virtual Machine Platform,那么将使用 WSL 1。
方法 3:通过「Windows 功能」启用 WSL 2
如果你更习惯使用图形界面,也可以通过「Windows 功能」在 Windows 11 中启用 WSL 2:
1、使用Windows + R
快捷键打开「运行」对话框,执行OptionalFeatures
打开「Windows 功能」。
2、勾选「适用于 Linux 的 Windows 子系统」和「虚拟机平台」,然后点击「确定」。
使用「Windows 功能」安装 WSL 2
3、安装完成后,点击「立即重新启动」。
安装好后,点击立即重新启动
4、系统重启完成后,请通过 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 版本:
1、右键点击「开始」菜单,选择「终端管理员」,以管理员权限打开「Windows 终端」。
2、在 Windows PowerShell 或「命令提示符」窗口中,执行以下命令:
- 查看当前 WSL 版本:
wsl --version
- 手动更新 WSL 版本:
wsl --update
- 安装最新的预发行版(可选):
wsl --update --pre-release
查看当前并更新 WSL 版本
- 如果更新之后遇到问题或出现故障,可以回滚到上一版本:
wsl --update --rollback
如果你觉得手动更新比较麻烦,可以在「Windows 更新」中设置 WSL 自动更新:
1、使用Windows + I
快捷键打开「设置」>「Windows 更新」>「高级选项」。
2、打开「接收其他 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 发行版可供选择:
1、通过以下链接直接进行安装,或者在 Microsoft Store 中搜索需要的发行版进行安装:
- Ubuntu 22.04 LTS
- openSUSE Leap 15.5
- SUSE Linux Enterprise 15 SP5
- Kali Linux
- Debian Linux
- Fedora WSL
- deepin WSL
上一页12 下一页 阅读全文