翻译自 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 的过程如下:

  1. 启用 WSL 2
  2. 启用“虚拟机平台”
  3. 设置 WSL 2 为默认值
  4. 安装 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

如果本指南对您有用,请在评论中告诉我!

作者 : Joey Sneddon

译者 : 技术译民

出品 : 技术译站

链接 : 英文原文


  1. https://www.omgubuntu.co.uk/how-to-install-wsl2-on-windows-10 How to Install WSL 2 on Windows 10

  2. https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-index WSL 2

  3. 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

  4. https://www.microsoft.com/store/productId/9N6SVWS3RX71 Ubuntu 20.04 LTS on the Microsoft Store

  5. https://www.microsoft.com/store/productId/9N0DX20HK701 Windows Terminal on the Microsoft Store

如何在 Windows 10 上安装 WSL 2的更多相关文章

  1. 如何在Windows 10上运行Docker和Kubernetes?

    如何在Windows 10上运行Docker和Kubernetes? 在Windows上学习Docker和Kubernetes,开始的时候会让你觉得无从下手.最起码安装好这些软件都不是一件容易的事情. ...

  2. Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)

    Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...

  3. 在Windows 10上安装Oracle 11g数据库出现的问题及解决

    在Windows 10上安装Oracle 11g数据库,并且很多次出现过:当安装的进度条进行到快要结束的时候弹出一个提示框.如下: [Java(TM)2 Platform Standard Editi ...

  4. Windows 10 上安装 3D Studio Max 2016 报错的解决办法

    在 Windows 10 上安装 3D Stuido Max 2016 报错,无法正常安装,查看日志是 VC 运行时安装错误,经过分析发现在 Windows 10 上已经有这些运行时并且版本比安装包中 ...

  5. 在Windows 10 上安装使用binwalk

    Windows 10 推出的WSL 功能可以协助我们直接使用binwalk 分析Windows 内的文件 文章更新时间:2020年3月11日 一.WSL 准备 1.打开控制面板→程序和功能→启动或关闭 ...

  6. Redis进阶实践之三如何在Windows系统上安装安装Redis

    一.Redis的简介        Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...

  7. 在 Windows 10 上安装 Coq 库 Mathematical Components

    初学 Coq 时看的是 Mathematical Components 这本书,它自带了一个 Coq 的库,这是它的安装教程 这个库的安装要用到 OCaml Package Manager (OPAM ...

  8. Windows上安装配置SSH教程(2)——在Windows XP和Windows 10上安装并配置OpenSSH for Windows

    知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html ------------------------ 安装方式有3种: (1)Windows ...

  9. 如何在windows server上安装 Windows评估和部署工具包

    此文是<.NET内存宝典>一书的售后服务系列文章之一. 在<.NET内存宝典>一书(目前我还在翻译本书,预计年底出版)的第3章 “内存测量”里的“Windows性能工具包”一节 ...

随机推荐

  1. Nacos服务发现源码解析

    1.Spring服务发现的统一规范 Spring将这套规范定义在Spring Cloud Common中 discovery包下面定义了服务发现的规范 核心接口:DiscoveryClient 用于服 ...

  2. [Kafka][1][初识Kafka]

    目录 第1章 初识Kafka 1.1 发布与订阅消息系统 1.1.1 如何开始 1.1.2 独立的队列系统 1.2 Kafka登场 1.2.1 消息和批次(Message and batch) 1.2 ...

  3. IntelliJ IDEA 2019.1.3 x64 简约基本配置

    说明:本文针对IntelliJ IDEA 2019.1.3 x64版本,其他版本或许不能准确适用! 1.改变主体背景:Ctrl+Alt+S -> Editor -> Color Schem ...

  4. 硕思logo设计师注册码去哪里找

    硕思logo设计师注册码去哪里找呢?当然是硕思logo设计师官网啦! 最近小编总是会被网友们咨询关于logo设计的问题,其中很多网友并不是专业的设计人员,特别是一些设计公司面对新手设计时,往往会不知所 ...

  5. 合并2个数组为1个无重复元素的有序数组--Go对比Python

    Go实现: 1 package main 2 3 import ( 4 "fmt" 5 "sort" 6 ) 7 8 func main() { 9 var a ...

  6. ②SpringCloud 实战:引入Feign组件,完善服务间调用

    这是SpringCloud实战系列中第二篇文章,了解前面第一篇文章更有助于更好理解本文内容: ①SpringCloud 实战:引入Eureka组件,完善服务治理 简介 Feign 是一个声明式的 RE ...

  7. Contest 991

    A 先判合法然后容斥. 时间复杂度 \(O\left(1\right)\). B 贪心选最小的实验做成 \(5\) 分. 时间复杂度 \(O\left(n\right)\). 剩下的鸽了.

  8. Alpha冲刺——总结

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 ...

  9. Java支付项目实战教程,包括支付宝,微信等支付方式,不看亏!

    须知:视频来源网络,侵权请联系删除! 获取方式 扫描下面二维码回复:1024

  10. JZOJ8月5日提高组反思

    JZOJ8月5日提高组反思 再次炸了 虽然不是爆0 但也没差多少-- T1 想的DP 然后就打了 一开始是只能拿60的 后来想到了用前缀和优化 然后打完交了 最后一分钟测了一下空间 爆了 就赶紧把数组 ...