在 Windows 中运行 Linux：WSL 2  使用入门
继微软发布了 WSL 2 （Windows Subsystem for Linux 2）之后，前两天正式提供了 WSL2 更新，处于 Insider Fast 通道中的用户可以通过安装 Windows build 18917 更新来体验最新版本的 WSL2。
WSL
继微软发布了 WSL 2 （Windows Subsystem for Linux 2）之后，前两天正式提供了 WSL2 更新，处于 Insider Fast 通道中的用户可以通过安装 Windows build 18917 更新来体验最新版本的 WSL2。
![](/data/attachment/album/201906/14/104921w7gkmsel0q7kzj0r.jpg)


继微软发布了 WSL 2 （Windows Subsystem for Linux 2）之后，前两天正式提供了 WSL2 更新，处于 Insider Fast 通道中的用户可以通过安装 Windows build 18917 更新来体验最新版本的 WSL2。


在这篇文章中，我们将介绍如何入门、新的 `wsl.exe` 命令以及一些重要提示。有关 WSL 2 的完整文档可在[微软的文档页面](https://docs.microsoft.com/en-us/windows/wsl/wsl2-index)上找到。


### 安装 WSL 2


要安装并开始使用 WSL 2，请完成以下步骤：


* 启用“<ruby> 虚拟机平台 <rp>  （ </rp> <rt>  Virtual Machine Platform </rt> <rp>  ） </rp></ruby>”可选组件
* 使用命令行设置要由 WSL 2 支持的发行版
* 验证你的发行版使用的 WSL 版本


请注意，你需要运行 Windows 10 build 18917 或更高版本才能使用 WSL 2，并且你需要安装 WSL（可以在[此处](https://docs.microsoft.com/en-us/windows/wsl/install-win10)找到相关说明）。


#### 启用“虚拟机平台”可选组件


以管理员身份打开 PowerShell 并运行：



```
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
```

启用这些更改后，你需要重新启动计算机。


#### 使用命令行设置要由 WSL 2 支持的发行版


在 PowerShell 中运行：



```
wsl --set-version <Distro> 2
```

并确保将 `<Distro>` 替换为发行版的实际名称。 （你可以使用以下命令找到它们：`wsl -l`）。 你也可以通过运行与上面相同的命令随时更改回 WSL 1，但将“`2`”替换为“`1`”。


此外，如果你想使 WSL 2 成为默认架构，可以使用以下命令执行此操作：


 



```
wsl --set-default-version 2
```

这将使你安装的任何新发行版初始化为 WSL 2 发行版。


#### 完成验证发行版使用的 WSL 版本


要验证每个发行版使用的 WSL 版本，请使用以下命令：



```
wsl --list --verbose
或
wsl -l -v
```

你在上面选择的发行版现在应该在“version”列下显示“2”。 现在完成了，你随时可以开始使用你的 WSL 2 发行版了！


### WSL 2 的体验变化


首次开始使用 WSL 时，你会注意到一些用户体验变化。以下是此预览中两个最重要的变化。


#### 将 Linux 文件放在 Linux 根文件系统中


确保将 Linux 应用程序中经常访问的文件放在 Linux 根文件系统中，以享受文件性能优势。过去微软一直强调在使用 WSL 1 时将文件放入 C 盘，但 WSL 2 中的情况并非如此。要享受 WSL 2 中更快的文件系统访问权限，这些文件必须放在 Linux 根文件系统里面。而且现在 Windows 应用程序可以访问 Linux 根文件系统（如文件资源管理器！尝试在 Linux 发行版的主目录中运行：`explorer.exe .` 看看会发生什么），这将使这种转换变得更加容易。


#### 在初始构建中使用动态 IP 地址访问 Linux 网络应用程序


WSL 2 做了架构的巨大变更，使用了虚拟化技术，并仍在努力改进网络支持。由于 WSL 2 现在运行在虚拟机中，因此你从 Windows 访问 Linux 网络应用程序需要使用该 VM 的 IP 地址，反之亦然，你需要 Windows 主机的 IP 地址才能从 Linux 中访问 Windows 网络应用程序。 WSL 2 的目标是尽可能使用 `localhost` 访问网络应用程序！可以在[文档中](https://docs.microsoft.com/en-us/windows/wsl/wsl2-ux-changes#accessing-network-applications)找到有关如何执行此操作的完整详细信息和步骤。


要了解有关用户体验更改的更多信息，请参阅文档：[WSL 1 和 WSL 2 之间的用户体验变化](https://docs.microsoft.com/en-us/windows/wsl/wsl2-ux-changes)。


### 新的 WSL 命令


WSL 添加了一些新命令选项来帮助控制和查看 WSL 版本和发行版。


除了上面提到的 `--set-version` 和 `--set-default-version` 之外，还有：


* `wsl --shutdown`


立即终止所有正在运行的发行版和 WSL 2 轻量级实用程序虚拟机。


一般来说，支持 WSL 2 发行版的虚拟机是由 WSL 来管理的，因此会在需要时将其打开并在不需要时将其关闭。但也可能存在你希望手动关闭它的情况，此命令允许你通过终止所有发行版并关闭 WSL 2 虚拟机来执行此操作。
* `wsl --list --quiet`


仅列出发行版名称。此命令对于脚本编写很有用，因为它只会输出你已安装的发行版的名称，而不显示其他信息，如默认发行版、版本等。
* `wsl --list --verbose`


显示有关所有发行版的详细信息。此命令列出每个发行版的名称，发行版所处的状态以及正在运行的版本。默认发行版标以星号。


### 反馈意见


如果你遇到任何问题， 请在 Github 上提交问题： <https://github.com/microsoft/wsl/issues> ，如果你对 WSL 有一般性问题，你可以在这个[推特列表](https://twitter.com/craigaloewen/lists/wsl-team-members/members)上找到该团队所有成员的 Twitter。

