在 Windows 11 中为 Linux 启动新的 Windows 子系统:方法如下

已发表: 2021-09-13

微软于 6 月 24 日发布了 Windows 11。这家软件巨头随后向 Windows Insider 计划的成员发布了该操作系统,目前可以由注册 Dev 和 Beta 渠道的人员进行测试。 尽管许多人对新的 UI 更改表示欢迎,但有些人仍然对继续困扰 Windows 的几个不一致之处持怀疑态度。

然而,Windows 11 的一个巧妙功能是改进的 Windows 子系统 Linux (WSL),它现在可以原生处理图形和音频。 在本文中,我们将了解 Windows 11 中 WSL 的新增功能以及如何开始使用它。

Windows 11 WSL 指南
  • 什么是 Linux 的 Windows 子系统
  • 在 Windows 11 中安装 WSL
    • 从 WSL 1 升级到 WSL 2
    • 在 Windows 11 中启用 WSL
    • 在 Windows 11 上的 WSL 2 中安装 Linux 发行版
      • 更新您的 WSL 应用程序
      • 检查和升级 Linux 发行版
  • 在 Windows 11 中访问 Linux 文件,反之亦然
    • 从 Windows 访问 WSL 文件的方法

什么是 Linux 的 Windows 子系统

通常情况下,开发人员会发现自己在熟悉的 Windows 界面和 Linux 中基于命令行的开发工具链的易用性之间切换。 此外,那些处理大数据的人会发现大量为 Linux 原生开发的开源工具。 适用于 Linux 的 Windows 子系统(简称 WSL)使开发人员能够继续使用 Windows 作为他们的主要操作系统,同时提供对本机 Linux 二进制文件的访问权限。

因此,用户不必担心运行虚拟机的仿真开销,也不必费心配置双引导设置。 虽然 Cygwin 确实为运行类 Unix 命令提供了 POSIX 兼容层,但它需要重新编译这些命令,因此适用性有限。 使用 WSL,Windows 用户可以像任何其他程序一样直接调用 Linux shell 并运行本机 Linux 二进制文件。

从 Windows 10 1903 开始​​,微软推出了名为 WSL 2 的新版本 WSL,它提供了与 Windows 文件系统更紧密的集成、更快的启动时间、更快的磁盘读取以及功能齐全的 Linux 内核。 现在有了 Windows 11,微软甚至添加了 GUI 和实时音频支持。

在 Windows 11 中安装 WSL

安装适用于 Linux 的 Windows 子系统需要注意一些先决条件。 由于 WSL 2 使用实际的虚拟机,因此您的 CPU 需要支持虚拟化。 虽然英特尔和 AMD 为台式机和笔记本电脑提供动力的大多数现代 CPU 应该不会出现此问题,但此功能通常在计算机的 BIOS/UEFI 中关闭。

引导至 PC 的 BIOS/UEFI 界面(通常,这涉及在开机时按 DEL 或 F2 键;有关详细信息,请参阅计算机的用户指南)。 进入 BIOS 后,根据您的 CPU 搜索 Intel Virtualization Technology 或 AMD Secure Virtual Machine(也表示为 SVM)并启用它。 保存更改并重新启动 PC。

从 WSL 1 升级到 WSL 2

除非您使用 WSL 1 从以前版本的 Windows 升级,否则所有最新版本的 Windows 10(1903 及更高版本)和 Windows 11 默认使用 WSL 2。使用新的 GUI、音频和文件系统增强功能需要强制升级到 WSL 2。

按照下面提到的步骤执行从 WSL 1 到 WSL 2 的就地升级:

1. 在提升的命令提示符、Windows 终端或 PowerShell 中键入以下内容。

 wsl --set-version <distro-name> 2

2. 确保输入发行版的确切名称。 如果有疑问,只需键入:

 wsl -l -v

3. 此命令列出已安装的 Linux 发行版、它们的当前状态以及它们正在使用的 WSL 版本。 使用上一条命令中此处列出的名称将 WSL 1 实例转换为 WSL 2。

在 Windows 11 中启用 WSL

如果这是您第一次在 Windows 11 上使用 WSL,将自动为您提供 WSL 2 环境。 您需要做的就是确保在 BIOS 中启用 CPU 虚拟化,并在您的环境中安装 WSL 功能。

1. 要启用 WSL,请单击开始按钮。

2. 键入“打开或关闭 Windows 功能”,并在对话框中启用适用于 Linux 的 Windows 子系统、Windows Hypervisor 平台和虚拟机平台。

在“打开或关闭 Windows 功能”中启用 WSL 功能

3. 单击确定并重新启动 PC。

WSL 2 最好的部分是大多数内核级功能直接由 Windows 更新提供。 您的 PC 可能会自动提供 WSL 2 内核更新。 如果没有,只需转到设置应用程序,单击 Windows 更新,然后单击检查更新以下载启用 WSLg(WSL GUI 的缩写)功能的最新内核。

此时,请注意,您需要拥有 Intel、NVIDIA 或 AMD 的最新图形驱动程序,具体取决于您的主要 GPU 适配器,以获得完整的 GPU 加速。 您可以为您的相应 GPU 使用 beta 驱动程序,或者只安装最新的公共版本。 既然先决条件已经完成,您就可以在 Windows 11 机器上安装 Linux 发行版了。

在 Windows 11 上的 WSL 2 中安装 Linux 发行版

在 Windows 11 上启动并运行 Linux 的最简单方法是前往 Microsoft Store 并搜索您选择的发行版。 当前可用的选项包括 Ubuntu(16.04、18.04 和 20.04)、Kali Linux、SUSE Linux Enterprise Server、openSUSE Leap、Fedora Remix for WSL 和 Debian。

适用于 Windows 11 的新 Microsoft Store 中的 Ubuntu

虽然 Microsoft Store 允许轻松下载和安装这些发行版,但目前选择有限。 但是,使用 WSL 2,可以通过获取相应的 .tar 文件来创建和旁加载您自己的发行版。 对于本文,我们将使用 Ubuntu,因为它非常流行,并且如果您遇到特定的命令或操作时遇到困难,可以在线获得极好的资源。

某些组织或加入域的 PC 可能对 Microsoft Store 的访问权限有限。 在这种情况下,您可以直接从 Microsoft 下载安装包。 请按照以下步骤安装发行版:

1. 您可以双击安装程序或使用安装程序文件夹中的以下 PowerShell 命令。

 Add-AppxPackage .\distro_name.appx

2. 安装您选择的发行版后,它应该会立即在“开始”菜单上弹出。

3. 只需单击图标即可启动 Ubuntu 安装实例。

4. 几秒钟后,系统将提示您创建用户帐户和密码。 如果由于某种原因,安装程序没有提示您输入用户帐户或密码,它将直接以 root 身份登录。

请记住,使用 root 权限操作是一种不好的安全做法。 默认情况下没有分配root密码,这使得它更容易受到攻击。 首先分配一个 root 密码然后创建一个常规用户帐户总是有帮助的。 以下是您的操作方法:

1. 要分配新的 root 密码,请使用以下命令:

 sudo passwd root

2.接下来,输入并确认新的root密码。 请务必安全地记下它。 要创建一个常规用户帐户,然后可以在需要时用于 root 访问,请键入:

 sudo adduser <username>

3. Ubuntu 将要求输入并确认您的密码以及其他一些信息,例如您的全名和电话(这是可选的)。

4. 这将创建您的专用 /home 目录,并在 bash shell 提示符处显示带有 $ 符号的用户名。

WSL 2 Ubuntu 实例现在可以使用了。

在 Windows 11 上的 WSL 2 中运行的 Ubuntu 实例

更新您的 WSL 应用程序

至此,我们完成了安装 Ubuntu 并创建了用户帐户和密码。 在继续进一步的步骤之前,它有助于进行快速更新检查并安装可用于您的发行版的最新软件包。

这可确保您的所有收件箱包裹都是最新的,并且您正在使用最新的功能和安全改进。 按照步骤:

1. 输入以下命令获取新版本:

 sudo apt-get update sudo apt-get upgrade

2. 在 bash 提示符下,第一次运行 sudo 时,它会要求您输入密码,该密码应至少在 15 分钟内有效,才能运行连续的 sudo 命令。

请注意,apt-get upgrade 将仅引用/etc/apt/sources/list/etc/apt/sources.list.d/中定义的存储库并相应地进行升级。

3.为了更无缝的更新过程,还运行:

 sudo apt-get dist-upgrade

该命令可以智能地添加或删除包,以确保系统中没有冗余。

检查和升级 Linux 发行版

通常,Microsoft Store 默认提供最新的长期服务 (LTS) 版本的 Ubuntu。 建议使用 LTS 版本以获得最大稳定性。 您可以通过运行以下命令检查新的操作系统版本:

 sudo do-release-upgrade

但是,通过首先运行上述更新和升级命令来确保现有安装是最新的。 您可以通过键入以下内容检查您的操作系统版本:

 lsb_release -a
WSL 2 中的 Ubuntu 版本检查

请注意,您还可以通过键入以下命令获取有关任何命令的更多信息:

 man <command name>

在 Windows 11 中访问 Linux 文件,反之亦然

现在我们已经在 Windows 11 的 WSL 2 中成功安装和配置了 Ubuntu,这有助于了解如何在 Linux 和 Windows 文件之间无缝移动。 在 Linux 中,可以将 NTFS 和其他文件系统挂载到专用的挂载目录中。

使用 WSL 的一种巧妙方法是,您可以直接从 Windows 文件夹调用 Linux 终端,并为您安装该文件夹。 这是通过一个名为 DrvFs 的文件系统插件实现的,WSL 使用该插件来启用 Linux 实例和 Windows 文件系统之间的互操作。

DrvFs 会自动挂载 HDD 和 SSD 等固定磁盘,并使其可供立即使用。 C 驱动器安装在/mnt/c上,D 驱动器安装在/mnt/d上,依此类推。

1. 您可以通过运行 df -h 命令列出所有磁盘及其挂载点来验证这一点。 在这个例子中,我们有一个 C 盘,它通过 DrvFs 挂载到 /mnt/c

WSLg 上 Ubuntu 中的 df -h 命令显示自动挂载的 DrvFs C: 驱动器

2. 要将 Windows 驱动器切换到 WSL,请在命令提示符下键入以下命令并按 Enter。

 cd /mnt/c #substitute c with the corresponding drive letter as needed

3.和普通Linux一样,你也可以通过创建挂载点来挂载外部存储设备。 使用以下命令

sudo mkdir /media/<dir name> #where <dir name> can be any directory name you wish to mount onto.

4. 然后将驱动器或分区挂载到该目录。

 sudo mount /dev/<deviceID> /media/<dir name>

5.要查看挂载的驱动器的内容,首先使用命令切换到它。

 cd /media/<dir name>

6. 最后,使用命令列出内容。

 ls -ls

由于 WSL 的重点是在 Linux 和 Windows 之间实现无缝互操作,因此也可以直接在 Windows 下查看 Linux 文件并使用 Windows 程序对其进行编辑。

Windows 将 WSL 视为网络上的 PC,并将 Linux 挂载为网络共享,以确保在用户在两个操作系统之间切换时正确维护文件权限。 有多种方法可以从 Windows 访问 WSL 文件。

从 Windows 访问 WSL 文件的方法

1. 最简单的方法是在文件资源管理器的左侧面板中查看名为“Linux”的条目。

2. 单击该按钮会将您安装的发行版列为文件夹。 单击相应的发行版文件夹以访问该发行版中的所有 Linux 目录。

3. 从那里,您可以创建自己的文件和目录,就像您通常在 Windows 中所做的那样。

直接从资源管理器访问 WSL 文件

4. 也可以通过在任何文件资源管理器或 Windows 的运行对话框中键入\\wsl$来访问上述目录列表。

5. 如果无尽导航不是你的菜,你也可以从 WSL 的任何 Linux 目录中键入explorer.exe 。 这将直接在当前工作的 Linux 目录中打开 Windows 文件资源管理器。

在本文中,我们熟悉了 WSL 2 以及如何在 WSL 2 中成功安装和更新 Linux 实例。我们还了解了如何在 Windows 和 Linux 之间无缝导航文件系统。 在接下来的文章中,我们将研究如何安装图形和音频应用程序,并了解它们在 Windows 11 的 WSLg 中的工作情况。

如果您有什么要补充的,请在下面的评论中发表您的想法。