如何在 Windows 10 上安装 WSL 2
翻译自 Joey Sneddon 2020年10月30日的文章《How to Install WSL 2 on Windows 10》 [1]

如果您想在最新的 Windows 版本中尝试经过改进的 Windows 子系统 Linux 2 (即 WSL 2) [2],要怎么做呢?我们在本文中介绍了安装它所需要做的所有事情。
WSL 2 是微软早在 2017 年推出的 WSL 的原始版本的重大升级。WSL 2 不仅仅是版本的升级。它更快、更通用,并且使用真正的 Linux 内核。未来的 Linux 内核更新甚至会以 Windows 10 软件更新的形式发布——想想看,这有点疯狂!
微软创建 WSL 2 的目的是为了提高性能。最好的方法是什么?添加完整的系统调用兼容性,即以真正的 Linux 内核为核心。
“添加 WSL 2 为新架构,为 WSL 团队提供了一个更好的平台来提供一些特性,使 WSL 成为在 Windows 中运行 Linux 环境的一种令人惊叹的方式。” 微软表示。
微软还计划让用户在 Windows 10 上运行桌面 Linux 应用程序,并使用 GPU 加强的任务,因此这种疯狂尚没有减弱的迹象。它还使得用单条命令安装 WSL 成为可能。
目前,除非您使用的是最新的内部版本,否则 WSL 2 的设置工作需要一点点的努力——但是,为了在 Windows 中调用和指挥一个完整的 Linux 系统,难道不值得吗?
在 Windows 10 上 安装 WSL 2

必要条件
要在 Windows 10 上安装 WSL 2,您需要以下东西:
- Windows 10 2020年5月(2004) 版, Windows 10 2019年5月(1903) 版,或者 Windows 10 2019年11月(1909) 版
- 一台支持 Hyper-V 虚拟化的计算机
Windows 10 2020年5月更新已于 2020年5月发布(显然),但并非每个设备都能立即升级。要查看您的计算机上是否有 Windows 10 2020年5月更新,请转至“设置” > “更新和安全性” > “Windows 更新”。
在 8 月,微软将 WSL 2 向后移植到 Windows 10 的较早版本。版本号为 1903 或 1909 的任何人也可以安装WSL 2 —— 但必须首先安装 Windows 更新 KB4566116。
高级(和心急)的 Windows 用户可以强制安装 Windows 10 2020年5月更新,但请记住,如果按照这种方法操作,您可能会遭遇缺失驱动程序、GUI 故障或其他硬件故障。
从技术上来讲,您可以在 Windows 10 build 18917 或更高版本的“内部”版本上安装 WSL 2。我不太熟悉“内部”版本系统是如何工作的,所以请注意,本文的其余部分都基于在稳定版的 Windows 上使用该功能。
为了运行 WSL 2,您的计算机还需要支持 Hyper-V 虚拟化。您可以检查您的计算机确认对 Hyper-V 的支持 [3]。
如果您不能同时满足这两个必要条件,则无法安装或启用 WSL 2——但可以使用 WSL 1。
在 Windows 10 上安装 WSL 2 的过程如下:
- 启用 WSL 2
- 启用“虚拟机平台”
- 设置 WSL 2 为默认值
- 安装 Linux 发行版
我将使用 PowerShell 应用程序依次介绍每个步骤,您需要以管理员身份运行此应用程序。您可以在 Windows “开始” 菜单中找到 PowerShell。
注意:也可以使用 GUI 安装 WSL 1,但使用命令行安装的速度要快得多,而且由于 WSL 是 CLI 工具,这也比较讲得通!
第 1 步,启用 WSL
不管您想要使用哪个版本的 WSL,都首先需要启用它。为此,请以管理员身份打开 PowerShell 工具并运行以下命令。小心不要在命令中输入错误或遗漏任何字符:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
如果只想使用 WSL 1,您可以跳到第 4 步。
第 2 步,启用“虚拟机平台”
WSL 2 需要启用 Windows 10 的 “虚拟机平台” 特性。它独立于 Hyper-V,并提供了一些在 Linux 的 Windows 子系统新版本中可用的更有趣的平台集成。
要在 Windows 10(2004)上启用虚拟机平台,请以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
要在 Windows 10(1903,1909)上启用虚拟机平台,请以管理员身份打开 PowerShell 并运行:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
为了确保所有相关部件都整齐到位,您应该在此时重启系统,否则可能会发现事情没按预期进行。
第 3 步,设置 WSL 2 为默认值
以管理员身份打开 PowerShell,然后运行以下命令以将 WSL 2 设置为 WSL 的默认版本:
wsl --set-default-version 2
如果需要,您可以(随时)将发行版配置为以 WSL 1 模式运行。
第 4 步,安装一个 Linux 发行版
有了 WSL 和必要的虚拟化技术,接下来您要做的就是从 Microsoft Store 中选择并安装 Linux 发行版。
有几种不同的发行版可供选择,包括 OpenSUSE、Pengwin、Fedora Remix 和 Alpine Linux。但是我个人推荐(自然地)Ubuntu 20.04 LTS(尽管也有 18.04 LTS 和 16.04 LTS 可用)。
要在 Windows 10 上安装 Ubuntu,请打开 Microsoft Store 应用,搜索 “Ubuntu 20.04”,然后单击“获取”按钮:
Ubuntu 20.04 LTS on the Microsoft Store [4]
当您在 Microsoft Store 中时,我强烈建议您也安装开源的 Windows Terminal 应用程序。该工具旨在为您提供最佳的 WSL 体验:
Windows Terminal on the Microsoft Store [5]
第 5 步,使用 WSL 2
当您安装 Ubuntu(或其他 Linux 发行版)时,快捷方式已添加到 Windows “开始”菜单中。使用它可以“打开” Ubuntu(或您选择的任何发行版)。第一次运行发行版时,速度似乎有点慢。这是预料之中的;发行版必须解压缩其所有内容——只是不要中断这个过程。
还将提示您设置用于发行版的用户名和密码。尝试挑选一些您不会忘记的字符。
将 WSL 1 上的 Ubuntu 转换到 WSL 2
如果您使用 WSL 1,则可以将现有的 WSL 1 安装升级到 WSL 2。要将现有的 WSL 1 发行版转换到 WSL 2,请在 PowerShell 中运行以下命令,例如:
wsl.exe --set-version Ubuntu 2
使用时,您应将命令中的 “Ubuntu” 替换为您在 WSL 1 上安装运行的对应发行版的名称。
译者补充
可以在 PowerShell 中运行下面命令显示所有发行版的详细信息:
wsl --list --verbose
命令 wsl --set-version 可更改指定分发版的版本,其用法为:
wsl --set-version <分发版名称> <版本号>
例如:
wsl --set-version Ubuntu-20.04 2
如果本指南对您有用,请在评论中告诉我!
https://www.omgubuntu.co.uk/how-to-install-wsl2-on-windows-10 How to Install WSL 2 on Windows 10 ︎
https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-index WSL 2 ︎
https://www.zdnet.com/article/windows-10-tip-find-out-if-your-pc-can-run-hyper-v/ Find out if your PC can run Hyper-V ︎
https://www.microsoft.com/store/productId/9N6SVWS3RX71 Ubuntu 20.04 LTS on the Microsoft Store ︎
https://www.microsoft.com/store/productId/9N0DX20HK701 Windows Terminal on the Microsoft Store ︎
如何在 Windows 10 上安装 WSL 2的更多相关文章
- 如何在Windows 10上运行Docker和Kubernetes?
如何在Windows 10上运行Docker和Kubernetes? 在Windows上学习Docker和Kubernetes,开始的时候会让你觉得无从下手.最起码安装好这些软件都不是一件容易的事情. ...
- Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)
Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...
- 在Windows 10上安装Oracle 11g数据库出现的问题及解决
在Windows 10上安装Oracle 11g数据库,并且很多次出现过:当安装的进度条进行到快要结束的时候弹出一个提示框.如下: [Java(TM)2 Platform Standard Editi ...
- Windows 10 上安装 3D Studio Max 2016 报错的解决办法
在 Windows 10 上安装 3D Stuido Max 2016 报错,无法正常安装,查看日志是 VC 运行时安装错误,经过分析发现在 Windows 10 上已经有这些运行时并且版本比安装包中 ...
- 在Windows 10 上安装使用binwalk
Windows 10 推出的WSL 功能可以协助我们直接使用binwalk 分析Windows 内的文件 文章更新时间:2020年3月11日 一.WSL 准备 1.打开控制面板→程序和功能→启动或关闭 ...
- Redis进阶实践之三如何在Windows系统上安装安装Redis
一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...
- 在 Windows 10 上安装 Coq 库 Mathematical Components
初学 Coq 时看的是 Mathematical Components 这本书,它自带了一个 Coq 的库,这是它的安装教程 这个库的安装要用到 OCaml Package Manager (OPAM ...
- Windows上安装配置SSH教程(2)——在Windows XP和Windows 10上安装并配置OpenSSH for Windows
知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html ------------------------ 安装方式有3种: (1)Windows ...
- 如何在windows server上安装 Windows评估和部署工具包
此文是<.NET内存宝典>一书的售后服务系列文章之一. 在<.NET内存宝典>一书(目前我还在翻译本书,预计年底出版)的第3章 “内存测量”里的“Windows性能工具包”一节 ...
随机推荐
- 还不懂spring中的bean的话,你一定得好好看看这篇文章
bean的作用域 bean的生命周期 bean的装配 代码 实体类 package com; import java.util.List; public class User { private St ...
- Elements-of-Python01_Input/Output
(内容包括输入input,输出print,注释comment,预测类型转换eval,命名与赋值Name & Bestow) 输入Input 和 输出Print Python中利用input() ...
- 关于C# Span的一些实践
Span这个东西出来很久了,居然因为5.0又火起来了. 相关知识 在大多数情况下,C#开发时,我们只使用托管内存.而实际上,C#为我们提供了三种类型的内存: 堆栈内存 - 最快速的内存,能够做到极 ...
- 如何使用ABBYY FineReader 识别竖排或反转文本?
ABBYY FineReader 15(Windows系统)OCR文字识别软件拥有强大的OCR识别功能,能够对这些竖排排版的文档进行准确的识别,另外对于一些具有反转颜色(白色字符和黑暗背景的图像)的文 ...
- 为什么思维导图软件MindManager成为了企业培训必备的工具
企业培训,无论是前期准备.中间的演讲演示.还是后期的总结整理等.MindManager都可以以不同的形式,给你更好的培训方式.下面就来看看MindManager是怎么协助企业培训的吧: 前期准备--制 ...
- 电脑adb命令给智能电视安装APK
配置环境 1.电脑需要配置好adb系统环境 具体操作较复杂,请自行百度. 2.电视打开adb命令 在电视的关于界面通过遥控器「上上下下左右左右」进入工厂模式,在「高级设置」-「其他」中的「adb开关」 ...
- 2018年第九届蓝桥杯【C++省赛B组】B、C、D、F、G 题解
B. 明码 #STL 题意 把每个字节转为2进制表示,1表示墨迹,0表示底色.每行2个字节,一共16行,布局是: 第1字节,第2字节 第3字节,第4字节 .... 第31字节, 第32字节 给定一段由 ...
- Java基础教程——结构化编程
结构化编程 各结构的图示请参见: https://www.cnblogs.com/tigerlion/p/10703926.html 选择结构 |-if:如果 |-else:其他:此外:否则. pub ...
- Django之ModelForm实际操作使用
1.定义model数据库字段如下: class User(models.Model): """ 员工信息表用户.密码.职位.公司名(子.总公司).手机.最后一次登录时间. ...
- Java集合【1】--俯瞰java集合分类
目录 (一) java集合分类 (1) Iterable接口 1. 内部定义的方法 1.1 iterator方法 1.2 forEach方法 1.3 spliterator方法 2. Collecti ...