Windows 和 Linux 是两种最流行的操作系统 (OS)。 Windows 提供了用户友好的方法,而 Linux 则具有高度可定制性,使其成为开发人员、生产力人员和学习者的绝佳选择。
需要 Windows 内的虚拟化或双启动才能同时访问两者。
不过,Windows 的新功能可以让您更轻松地在 Windows 上访问 Linux。
WSL2 简介 – 适用于 Linux 的 Windows 子系统简介。这是一项 Windows 功能,允许您从 Windows 访问 Linux。
本文重点介绍 WSL2。了解有关其定义、用途、安装过程以及如何有效使用它的更多信息。
让我们开始吧。
什么是适用于 Linux 的 Windows 子系统?
适用于 Linux 的 Windows 子系统允许您直接从 Windows 终端访问 GNU/Linux 环境,无需双启动或使用虚拟化工具。这允许您访问 Linux 内核。这意味着您可以直接从 Windows 使用 Linux 功能,例如命令行工具、应用程序和实用程序。
WSL 2 是一种现代 Windows 子系统,提供比 WSL1(随 Windows 10 启动)更强大的功能和速度。此外,大多数 Windows 安装都预装了 WSL。必须启用才能使用。
WSL2 在底层使用 Windows 的 Hyper-V 虚拟机技术。这使得 WSL2 与 Linux 兼容,并且运行速度比 WSL1 快近 20 倍。
简而言之,WSL2 是一个适用于 Linux 的现代 Windows 子系统,它使像您这样的 Windows 用户可以直接访问 Linux 内核。
WSL2 简介
我们还将在整个教程中使用Windows 终端。对于在 Windows 上使用终端来说,这是一个方便但推荐的选项。对于想要使用命令行工具和 WSL 的用户来说,这是一个现代、快速且高效的终端。
电脑要求
并非所有 PC 都可以运行 WSL2。要运行 WSL2,您的系统必须支持虚拟化。这是因为 WSL2 在内部使用Hyper-V 。
此外,您必须使用支持 SLAT(二级地址转换)的 64 位 CPU。几乎所有现代 CPU 都支持这一点。
关于磁盘空间,您至少需要 1 GB 的可用空间。
从 BIOS 启用虚拟化
如果满足硬件要求,则应从主板的 BIOS 中启用它。
按 F2、Del 或 F10 等键盘键进入 BIOS。
在BIOS中,需要找到并启用AMD的安全虚拟机(SVM)/Intel的虚拟化技术VTx。完成后,重新启动机器。
如果您需要进一步说明,请查看我的另一篇文章如何使用 Hyper-V 在 Windows 10 上安装 Ubuntu 以获取详细说明。
为 WSL2 启用 Windows 功能
现在已满足硬件要求,从 Windows 启用 WSL2。
第一步是检查您的 Windows 版本。这将帮助您了解 Windows 是否支持 WSL。
为此,请按键盘上的 CMD + R并输入 winver。 ” 将显示 Windows 版本。
如果您使用的是 Windows 10,则可能正在使用 WSL1。然而,对于大多数 Windows 11 用户来说,它是 WSL2。
除 Windows S 之外的所有 Windows 10 和 11 版本都支持 WSL2,因为出于安全目的禁用了虚拟化。
如果您使用的是 Windows S,则需要更改为其他版本,例如 Windows Home 或 Pro。
为此,请转到“设置”>“更新和安全”>“激活”并更改操作系统。
您还必须安装最新的 Windows 更新。这确保了对 WSL2 的完全兼容性和支持。要更新系统,请转至“设置”>“Windows 更新”。

WSL2 需要启用多项 Windows 功能。
转至控制面板 > 程序和功能。下面是“打开或关闭 Windows 功能”。单击它,将打开一个新窗口“ Windows 功能”。
在那里,搜索“ Hyper-V”、“虚拟机平台”和“ Linux 的 Windows 子系统”。

然后将请求重新启动以使更改生效。
您还可以通过运行以下命令来启用它:
$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 安装 WSL2
现在满足了所有先决条件,是时候安装 WSL 了。
打开 Windows 终端 (Windows 10) 或 Windows PowerShell (Windows 11) 并输入以下命令:
$ wsl#输出
Copyright (c) Microsoft Corporation. All rights reserved.
Usage: wsl.exe [Argument]
Arguments:
…..这意味着 WSL 可用但尚未激活。
现在,要安装 WSL,请使用管理员权限运行以下命令:
$ wsl --install#输出
PS C:\Users\Logan99> wsl --install
Installing: Virtual Machine Platform
Virtual Machine Platform has been installed.
Installing: Windows Subsystem for Linux
Windows Subsystem for Linux has been installed.
Installing: Ubuntu
Ubuntu has been installed.
The requested operation is successful. Changes will not be effective until the system is rebooted.注意:考虑到您是通过 Windows 功能启用的,您可能看不到这一点。相反,您应该得到以下输出: (如果您这样做,请跳至下一节) 。
Ubuntu is already installed.
Launching Ubuntu...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
New password:
Retype new password:要检查 WSL 的版本,请输入wsl –version命令。
$ wsl --version#输出
WSL version: 1.1.6.0
Kernel version: 5.15.90.1
WSLg version: 1.0.50
MSRDC version: 1.2.3770
Direct3D version: 1.608.2-61064218
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22621.1413您可能已经注意到,WSL 版本 1.1.6.0 已预安装。因此,如果它不起作用并打印错误,则表明未安装 WSL。
要更改为 WSL2,请运行以下命令:
$ wsl --set-default-version 2出现此消息是因为我们的系统已经预安装了 WSL。
您还可以从 Windows 应用商店安装 WSL。首先,打开商店并搜索“Windows Subsystem for Linux”。 ”

单击获取。然后等待安装完成。
安装后,单击“打开”,Windows 终端将打开,并显示消息“Linux 的 Windows 子系统尚未安装发行版”。

在 WSL 上安装发行版
安装 WSL 后,安装您的 Linux 发行版。
默认情况下,WSL 安装 Ubuntu LTS 版本。为此,您需要运行以下命令:
$ wsl --installUbuntu 安装将开始。在安装过程中,系统会要求您设置新的 UNIX 用户名和密码。

安装完成后,您将看到 Ubuntu Linux 提示符。所有 Linux 命令都可以在这里使用。让我们检查一下 Ubuntu 版本。
$ lsb_release -a#输出
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy就是这样!您现在可以访问 Linux 内核。
要退出分发,需要输入以下命令:
$ exit#输出
nitt@DESKTOP-58T1V9I:/mnt/c/Users/Logan99$ exit
logout 安装更多发行版
同样,您可以安装其他发行版,例如 Fedora、Debian 和 OracleLinux_8_5。要查看可用的分发选项,请输入以下命令:
$ wsl --list --online 
要安装Debian,需要输入以下命令:
$ wsl --install -d Debian
Or
$ wsl.exe --install Debian与 Ubuntu 类似,您也会被要求安装用户名和密码。
#输出
现在,让我们检查一下 Debian 版本。
$ cat /etc/issue#输出
$ Debian GNU/Linux 11 \n \l但是 Fedora 呢?如果使用wsl –list –online命令,它不会显示在列表中。
您还可以从 Windows 应用商店安装发行版。
打开 Windows 应用商店并输入“Linux 发行版”。所有可用的内容都会被列出。此处仅显示官方支持的发行版。

您必须手动搜索对非官方发行版的支持。然而,这些非官方发行版充满了错误,并且并非 100% 安全。因此,仅将其用于实验目的。

单击“安装”以使其在您的系统上可用。
设置默认分布
如果您想查看可用发行版的列表,可以使用以下命令来执行此操作:
$ wsl --list 
Ubuntu 中的“Default”关键字意味着在命令提示符下键入“ wsl ”将启动默认的 Linux 发行版。
要更改默认分布,请输入以下命令:
$ wsl --setdefault <DistroName>因此,要将 Debian 设置为默认发行版,需要输入以下命令:
$ wsl --setdefault Debian 
因此,下次您在终端中输入wsl时,Debian 将启动。
切换发行版的 WSL 版本
默认情况下,该发行版使用 WSL2。要列出当前安装的发行版及其 WSL 版本,请输入以下命令:
$ wsl --list --verbose#输出
NAME STATE VERSION
* Ubuntu Stopped 2
Debian Stopped 2这里的*指的是默认的Linux安装。
现在,要将 WSL 版本从 2 更改为 1,请键入:
$ wsl --set-version Ubuntu 1另外,如果您想从 1 改回 2,请键入:
$ wsl --set-vesion Ubuntu 2注意:转换可能需要一些时间才能发生。转换过程中请勿关闭窗口。

使用不同的用户名启动特定的发行版
如果您想启动特定的发行版怎么办?为此,您需要输入以下命令:
$ wsl -d <DistroName>
Or
$ wsl --distribution <DistroName>要启动 Ubuntu,请输入:
$ wsl -d Ubuntu如果您想以特定用户名开始,则需要在 -user 后面添加用户名。
$ wsl -d <DistroName> --user <UserName>例如,使用“root”用户名启动 Debian。
$ wsl -d Debian --user root注意:如果您使用不存在的用户启动分发,您将收到“找不到用户”错误。
更新Linux
您可以通过输入以下命令来更新您的 Linux 发行版:
$ sudo apt update
$ sudo apt upgrade此外,您还可以查找 WSL 的 Linux 内核更新。
$ wsl --update使用 WSL2 进行 Visual Studio 代码设置
您还可以设置 VS Code 以与 WSL 配合使用。这样您就可以直接从 VS Code 访问 WSL 终端。它可以帮助您使用基于 Linux 的应用程序开发应用程序,同时可以访问 Linux 特定的实用程序和工具链。
此外,您还可以利用 VS Code 的强大功能,同时访问特定于 Windows 的生产力工具。
为此,您需要安装远程开发扩展包。您还可以通过在“扩展”选项卡中搜索名称来直接从 VS Code 进行搜索。

如果您在本地工作,可以转到 VS Code 菜单并进行设置。从那里,选择视图 > 终端。
将打开一个终端。 “+”符号旁边会出现一个“>”符号。单击它,您的 WSL 终端将列出。

您还可以在这里选择“默认配置文件”。 ”
这是可能的,因为 VS Code 可以直接访问\\wsl$\以及在本地主机上运行的调试器。
使用图形应用程序和 WSL2
要使用图形应用程序,您必须安装正确的 WSL2 驱动程序。 Intel 、 AMD和Nvidia提供了 WSL 驱动程序,以帮助基于 Linux 的图形应用程序顺利运行。
然而,我们仍然发现这种方法存在问题。首先,这些图形应用程序可能有一些不起作用的功能。此外,许多应用程序可能无法运行,因此您必须寻找替代品。
也就是说,这在很大程度上是一种试错方法,并且可能非常耗时。
查看我们的 WSL2 指南,了解如何使用 Ubuntu 处理图形应用程序。
Windows 上的 Docker 桌面 WSL2
如果您不想使用 Hyper-V 在本地进行设置,可以使用 Docker Desktop,它正式支持 WSL2。这使您可以设置更快的工作流程,以便直接在 Windows 上使用 Docker 工具。查看本指南以获取更多信息。
为什么微软如此重视 Linux?
微软是一家私营公司。您希望在封闭环境中创建类似 Windows 的解决方案,并希望您的用户坚持使用 Windows 而不是 Linux。
但在 2016 年,他们宣布了对开源的承诺。 2001 年初,当 Steve Ballmer 将 Linux 称为“癌症”时,人们的看法发生了变化。
2023年,情况发生了变化。微软正在将 Linux 直接纳入其生态系统。他们于 2019 年 5 月发布了 WSL2 ,并于 2021 年 10 月将 WSL2 带到了 Windows 应用商店。 WSL2 v1.0 也于 2022 年 11 月发布。
它还允许 Linux 用户访问 Microsoft 软件,例如 Edge 和 Teams。他们还积极为 Linux 内核和 Linux 基金会产品成员做出贡献。
所有这些都表明微软正在认真对待Linux。但一些怀疑论者认为微软并不喜欢Linux 。
所以微软对Linux很感兴趣。他们的 Windows 子系统证明了他们对 Linux 和开源的承诺。但最重要的是,我希望我的用户能够无缝访问 Linux 内核,而无需使用虚拟化或双引导进入 Linux 操作系统。
最后一句话
在“哪种操作系统最适合开发者”的时代,开发者可以选择一条路径来访问这两种操作系统。 WSL2 提供通过各种 Linux 发行版对 Linux 内核的访问。另外,它速度很快并且可以与 Docker 配合使用。
WSL2 目前正在积极开发中,解决兼容性问题并将更多权力交给开发人员。因此,WSL2 的未来看起来一片光明。 Microsoft 竭尽全力让 Windows 用户可以访问 Linux 内核。
接下来,查看作为系统管理员和开发人员应该了解的 Linux 发行版。




![2021 年如何设置 Raspberry Pi Web 服务器 [指南]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)

