在 Windows 中运行 Linux：WSL 2  使用入门
WSL
![](/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。


OK
We’re excited to announce starting today you can try the [Windows Subsystem for Linux 2](https://devblogs.microsoft.com/commandline/announcing-wsl-2/) by installing Windows build 18917 in the Insider Fast ring! In this blog post we’ll cover how to get started, the new wsl.exe commands, and some important tips. Full documentation about WSL 2 is available on [our docs page](https://docs.microsoft.com/en-us/windows/wsl/wsl2-index).

# Getting Started with WSL 2

We can’t wait to see how you start using WSL 2. Our goal is to make WSL 2 feel the same as WSL 1, and we look forward to hearing your feedback on how we can improve. The [Installing WSL 2](https://docs.microsoft.com/en-us/windows/wsl/wsl2-install) docs explains how to get up and running with WSL 2.

There are some user experience changes that you’ll notice when you first start using WSL 2. Here are the two most important changes in this initial preview.

## Place your Linux files in your Linux root file system

Make sure to put the files that you will be accessing frequently with Linux applications inside of your Linux root file system to enjoy the file performance benefits. We understand that we have spent the past three years telling you to put your files into your C drive when using WSL 1, but this is not the case in WSL 2. To enjoy the faster file system access in WSL 2 these files must be inside of the Linux root file system. We have also made it possible for Windows apps to access the Linux root file system (like File Explorer! Try running: `explorer.exe .`

in the home directory of your Linux distro and see what happens) which will make this transition significantly easier.

## Access your Linux network applications with a dynamic IP address in initial builds

WSL 2 includes a huge architecture change using virtualization technology, and we are still working on improving the networking support. Since WSL 2 now runs in a virtual machine, you will need to use that VM’s IP address to access Linux networking applications from Windows, and vice versa you will need the Windows host’s IP address to access Windows networking applications from Linux. We aim to include the ability for WSL 2 to access network applications with `localhost`

as soon as we can! You can find full details and steps on how to do this in our documentation [here](https://docs.microsoft.com/en-us/windows/wsl/wsl2-ux-changes#accessing-network-applications).

To read more about the user experience changes please see our documentation: [User Experience Changes Between WSL 1 and WSL 2](https://docs.microsoft.com/en-us/windows/wsl/wsl2-ux-changes).

# New WSL Commands

We’ve also added some new commands to help you control and view your WSL versions and distros.

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


Use this command to convert a distro to use the WSL 2 architecture or use the WSL 1 architecture.: the specific Linux distro (e.g. “Ubuntu”) : 1 or 2 (for WSL 1 or 2) -
`wsl --set-default-version <Version>`


Changes the default install version (WSL 1 or 2) for new distributions. -
`wsl --shutdown`


Immediately terminates all running distributions and the WSL 2 lightweight utility virtual machine.The VM that powers WSL 2 distros is something that we aim to manage entirely for you, and so we spin it up when you need it and shut it down when you don’t. There could be cases where you would want to shut it down manually, and this command lets you do that by terminating all distributions and shutting down the WSL 2 VM.

-
`wsl --list --quiet`


Only list the distribution names.This command is useful for scripting since it will only output the names of distributions you have installed without showing other information like the default distro, versions, etc.

-
`wsl --list --verbose`


Shows detailed information about all the distributions.This command lists the name of each distro, what state the distro is in, and what version it is running. It also shows which distributions is default with an asterisk.


# Looking ahead and hearing your feedback

You can expect to get more features, bugfixes, and general updates to WSL 2 inside of the Windows Insiders program. Stay tuned to their experience blog and this blog right here to learn more WSL 2 news.

If you run into any issues, or have feedback for our team please file an issue on our Github at: https://github.com/microsoft/wsl/issues , and if you have general questions about WSL you can find all of our team members that are on Twitter on [this twitter list](https://twitter.com/craigaloewen/lists/wsl-team-members/members).

Updates:

- Changed the instruction to access your Linux files from Windows to
`explorer.exe .`

- Changed first sentence of post to spell out the WSL acronym.

## 69 comments