系统极客一直在努力
专注操作系统及软件使用技能

如何在 Windows 11 中安装 WSL 2

windows 11

如果我在十几年前跟你说「Microsoft Love Linux」,你肯定认为我鬼打墙了。但当我们看到 Windows Subsystem for Linux(WSL)时,就印证了这句话的真实性。WSL 2 可以在 Windows 11 中安装和运行完整 Linux Kernel 的 Linux 环境,如果你还在使用 Windows 10,也可以使用 WSL 2,并在两者之间实现相对紧密的集成。

WSL 的第一版没有内核,并且性能远不如现在的 WSL 2。尽管 WSL 本质上仍然是一台虚拟机,但它与 Windows Host 主机之间存在紧密联系。

对于开发人员来说,WSL 意味着无需使用传统虚拟机,就可以实现 Windows 和 Linux 之间的无缝访问。当然,也不必是开发人员,对于所有用户来说,无论是「新手上路款」还是「老鸟归巢款」的 Linux 用户,WSL 都是一个易于安装且灵活强大的可靠工具。

Microsoft 在入门体验方面做了很多工作,在 Windows 11 中安装和使用 WSL 2 更容易上手了。下面系统极客就为大家详细介绍。

为什么使用 WSL

将一个操作系统(OS)安装到另一个操作系统内似乎比较矛盾。这样做有何意义?为什么将 Linux 安装到 Windows 中呢?

WSL 免费且简单易用

Windows Terminal 标签页中的 WSL
Windows Terminal 标签页中的 WSL

最直接的原因是 Linux 免费。Windows Subsystem for Linux(WSL)易于安装和卸载、简单、快捷,如果您对 Linux 感兴趣,就值得一试。

WSL 无需安装虚拟机

如果不想安装 Hyper-V、VirtualBox 或 VMWare 等虚拟机,WSL 就是最佳选项。它占用的空间和资源(CPU 和 RAM)也更少。

Windows 11 中的 Hyper-V
Windows 11 中的 Hyper-V

WSL 支持多种 Linux 发行版

目前 Microsoft Store 中为 WSL 提供了十来款 Linux 发行版,其中就包括:Ubuntu Desktop/Server、Debian、Kali、SUSE Linux Enterprise Server、OpenSUSE 和 Oracle Linux 的不同版本和变体。

Linux 发行版
Linux 发行版

你还可以使用以下 PowerShell 或「命令提示符」命令查看所有可用的发行版:

wsl --list --online
查看可用 WSL 发行版
查看可用 WSL 发行版

WSL 有利于职业发展

我们可以在工作和学习方面通过 WSL 使用各种 Linux 发行版,如:Ubuntu、Debian GNU/Linux、Kali 和 Alpine WSL。Linux 在服务器方面占有很大的市场份额,越来越多的组织也正在将 Linux 用于桌面。

工作效率
工作效率

学生可以将其用于教学过程,而不是去计算机实验室; 安全研究人员可以使用 Kali 发行版及其包含的工具;Web 开发人员、程序员和人工智能研究人员可以使用 Debian 或 Alpine WSL作为他们的开发环境。

WSL 适用于开源应用程序

大多数开源软件(OSS)首先是为 Linux 环境开发的。 因此,OSS 正在成为多个行业的标准,例如:游戏开发、图形设计和物联网(IoT)嵌入式系统。

考虑一下开源软件吧,它们通常是免费的。希望使用 Photoshop?可以考虑使用 GIMP;想学习 CAD 但买不起 AutoCAD?试试 OpenSCAD;想让视频编辑更上一层楼,但 Adobe Premiere 却遥不可及?Linux 有 Openshot。

在 Windows 11 中使用 Linux 应用程序
在 Windows 11 中使用 Linux 应用程序

更令人印象深刻的是,通过 WSL,你可以像 Windows 应用程序一样,在窗口中运行这些 Linux GUI 应用程序。而不需要在 Hyper-V、VirtualBox 中设置单独的虚拟机,也不需要第二台物理电脑或双系统。

你可以同时在 Windows 中使用 Visual Studio,通过 WSL 在 Linux 上用 GIMP 做照片编辑,而不会干扰你的工作流程。

通过 Windows Terminal 同时运行多个 Linux 发行版

如果你是 Windows Terminal 「多标签」功能的用户,可以在单独的标签中同时运行多个不同的 Linux 发行版。

Windows Terminal 标签页中的 Linux 发行版
Windows Terminal 标签页中的 Linux 发行版

使用 WSL 1 还是 WSL 2

WSL 有两个版本:WSL 1 和 WSL 2。默认为版本 WSL 2,这对大多数用户来说没有什么问题。但是,如果你不确定系统是否可以处理完整的 Linux 内核安装,或者不使用 Docker 之类的功能,那么 WSL 1 就够用了。

版本切换也很容易:在 PowerShell 中执行如下命令即可:

切换为 WSL 2:

wsl --set-default-version 2

切换为 WSL 1:

wsl --set-default-version 1
在 Windows 11 中切换 WSL 版本
切换 WSL 版本

WSL 1 和 WSL 2 功能比较

功能WSL 1WSL 2
Windows 和 Linux 之间的集成
启动时间短
与传统虚拟机相比,占用的资源量少
可以与当前版本的 VMware 和 VirtualBox 一起运行
托管 VM
完整的 Linux 内核
完全的系统调用兼容性
跨 OS 文件系统的性能

Windows 11 运行 WSL 2 所需条件

  • WSL 2 确实利用了 Hyper-V 架构,但并不需要使用 Windows 11 专业版或者安装 Hyper-V 组件,WSL 功能支持所有 Windows 11 SKU。
  • WSL 2 支持 x64 和 ARM 处理器。如果你在基于 ARM 的设备上使用它,需要使用具有 ARM 版本的 Linux,比如 Ubuntu。
  • 如果你的虚拟机软件支持嵌套虚拟化并启用了该功能,WSL 2 也可以在 Windows 内部的虚拟机中运行。

Windows 11 安装 WSL 2

方法 1:使用 PowerShell 安装 WSL

我们可以使用 PowerShell 安装 WSL:

1 在「开始」菜单中搜索powershell——以管理员身份打开「Windows PowerShell」

2 执行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Windows-Subsystem-Linux","VirtualMachinePlatform")

3 键入 Y 完成安装并重新启动计算机。

Windows 11 安装 WSL 2
使用 PowerShell 安装 WSL 2

4 完成以上步骤后,打开 Microsoft Store 获取要使用的 Linux 发行版:

方法 2:使用「命令提示符」安装 WSL

我们也可以使用「命令提示符」安装 WSL:

1 在「开始」菜单中搜索cmd——以管理员身份打开「命令提示符」

2 执行以下命令:

wsl --install
Windows 11 安装 WSL 2
使用「命令提示符」安装 WSL 2

以上命令默认会安装 WSL 2 组件和具有完整 Linux 内核的 Ubuntu 发行版。安装需要几分钟,然后提示您重新启动 Windows。

3 当 Windows 11 重新启动并且登录时,会打开一个 bash shell 窗口,然后继续安装 Ubuntu。 它将要求你输入新的 UNIX 用户名和新密码。 输入这些后,安装完成。

ubuntu 输入新的 UNIX 用户名和新密码
ubuntu 输入新的 UNIX 用户名和新密码

这将安装 Ubuntu 的 bash shell,它不是图形用户界面(GUI)。要启用它,还有其他步骤和先决条件。 但是,现在已经可以在 Windows 11 PC 上使用 Linux bash shell 命令了。

方法 3:通过「控制面板」安装 WSL

我们也可以使用「控制面板」通过图形界面的方式来安装 WSL:

1 使用Windows + R快捷键打开「运行」—— 执行control打开「控制面板」—「程序」—「程序和功能」—点击「启用或关闭 Windows 功能」

2 勾选「适用于 Linux 的 Windows 子系统」以及「虚拟机平台」后点击「确定」

Windows 11 安装 WSL 2
「控制面板」图形界面方式安装 WSL 2

3 功能启用后会要求立即重新启动 Windows 11 系统

4 完成以上步骤后,打开 Microsoft Store 获取要使用的 Linux 发行版:

来获取要使用的 Linux 发行版。

如何从 Windows 11 访问 Linux 文件系统

与在虚拟机中使用 Linux 不同,从 Linux 访问 Windows 文件很容易,反之亦然。

打开「文件资源管理器」在左边的导航窗格中选择「Linux」。在 Windows 和 Linux 之间移动文件时,确保使用的是副本,而不是原始件。(一些文件类型存在兼容性问题,有时文件会损坏。)

从 Windows 11 访问 WSL Linux 文件系统
从 Windows 11 访问 WSL Linux 文件系统

如何从 Linux 访问 Windows 11 文件系统

在 Linux bash shell 中,使用命令cd /mnt/c/移动到根目录。 然后使用ls命令列出目录和文件。 可以看到它们都是 Windows 目录和文件。

从 WSL Linux 访问 Windows 11 文件系统
从 WSL Linux 访问 Windows 11 文件系统

WSL 内核版本更新

WSL 2.1.3 内核更新

  • 将默认回收模式设为dropcache wsl2.autoMemoryReclaim=drop
    • 将 dropcache 空闲时间延长至 10 分钟
  • 使用显示语言而非默认语言进行本地化
  • 使用OnDistroRegisteringOnDistroUnregisteringListDistributionExecuteBinaryInDistribution方法扩展插件 API

启用 WSL 后,你的 Windows 11 计算机上就拥有了一个完整的 Linux 环境,或者可能是多个 WSL Linux 环境。 无论你想在 Linux 中做什么,现在都可以直接操作。

赞(1)

评论 2

  1. #1

    如果要使用WSL2,在方法3中还需要勾选「虚拟机平台」选项。只勾选「适用于 Linux 的 Windows 子系统」只能使用WSL1。

    unknown8个月前 (06-16)回复
    • 已经勘误,感谢您的提醒。

      海猴子8个月前 (06-16)回复