当前位置: 首页 > news >正文

如何在 Windows 10 中安装 WSL2 的 Linux 子系统

本文介绍如何在 Windows 10 中安装 WSL2 的 Linux 子系统


本文内容

    • 第一步:启用虚拟机平台和 Linux 子系统功能
    • 第二步:安装一个 Linux 发行版
    • 第三步:启用 WSL2

第一步:启用虚拟机平台和 Linux 子系统功能

以管理员权限启动 PowerShell,然后输入以下命令启用虚拟机平台:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

以管理员权限启动 PowerShell,然后输入以下命令启用 Linux 子系统功能:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

在以上每一步命令执行完之后,PowerShell 中可能会提示你重新启动计算机。按“Y”可以重新启动。

启用 VirtualMachinePlatform

启用 Microsoft-Windows-Subsystem-Linux

正在启用 Linux 子系统

当然,这个命令跟你在控制面板中启用“适用于 Windows 的 Linux 子系统”功能是一样的。

在控制面板中启用虚拟机平台和 Linux 子系统

第二步:安装一个 Linux 发行版

打开微软商店应用,在搜索框中输入“Linux”然后搜索,你可以看到搜索结果中有很多的 Linux 发行版可以选择。选择一个你喜欢的 Linux 发行版本然后安装:

搜索 Linux

选择一个 Linux 发行版本然后安装:

安装一个 Linux 发行版

需要注意,在商店中的安装并没有实际上完成 Linux 子系统的安装,你还需要运行一次已安装的 Linux 发行版以执行真正的安装操作。

安装 Linux

第三步:启用 WSL2

重要:你的操作系统版本必须至少大于或等于 Windows 10.0.18917 !

使用 wsl -l 可以列出当前系统上已经安装的 Linux 子系统名称。注意这里的 -l 是列表“list”的缩写,是字母 l 不是其他字符。

wsl -l

如果提示 wsl 不是内部或外部命令,说明你没有启用“适用于 Windows 的 Linux 子系统”,请先完成本文第一步。

如果提示没有发现任何已安装的 Linux,说明你没有安装 Linux 发行版,或者只是去商店下载了,没有运行它执行真正的安装,请先完成本文第二步。

使用 wsl --set-version <Distro> 2 命令可以设置一个 Linux 发行版的 WSL 版本。命令中 <Distro> 替换为你安装的 Linux 发型版本的名称,也就是前面通过 wsl -l 查询到的名称。

本文的示例使用的是小白门喜欢的 Ubuntu 发行版。

wsl --set-version Ubuntu> 2

设置 WSL2

当然,使用以下命令可以在以后安装 Linux 的时候默认启用 WSL2:

wsl --set-default-version 2

参考资料

  • Install WSL 2 - Microsoft Docs

我的博客会首发于 https://blog.walterlv.com/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。

如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。

知识共享许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

相关文章:

  • 如何安装和准备 Visual Studio 扩展/插件开发环境
  • 基于 Roslyn 同时为 Visual Studio 插件和 NuGet 包开发 .NET/C# 源代码分析器 Analyzer 和修改器 CodeFixProvider
  • 软件界面中一些易混淆/易用错的界面文案,以及一些约定俗成的文案约定
  • WPF 的 VisualBrush 只刷新显示的视觉效果,不刷新布局范围
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • 使用 Roslyn 分析代码注释,给 TODO 类型的注释添加负责人、截止日期和 issue 链接跟踪
  • 为 NuGet 指定检测的 MSBuild 路径或版本,解决 MSBuild auto-detection: using msbuild version 自动查找路径不合适的问题
  • 解决方案文件 sln 中的项目类型 GUID
  • 两种方法设置 .NET/C# 项目的编译顺序,而不影响项目之间的引用
  • 理解 Visual Studio 解决方案文件格式(.sln)
  • nuget.exe 还原解决方案 NuGet 包的时候出现错误:调用的目标发生了异常。Error parsing the nested project section in solution file
  • 找出 .NET Core SDK 是否使用预览版的全局配置文件在哪里(探索篇)
  • 如何在 Visual Studio 2019 中设置使用 .NET Core SDK 的预览版(全局生效)
  • 使用基于 Roslyn 的 Microsoft.CodeAnalysis.PublicApiAnalyzers 来追踪项目的 API 改动,帮助保持库的 API 兼容性
  • Visual Studio 2019 中使用 .NET Core 预览版 SDK 的全局配置文件在哪里?
  • [译]如何构建服务器端web组件,为何要构建?
  • CEF与代理
  • js面向对象
  • QQ浏览器x5内核的兼容性问题
  • React as a UI Runtime(五、列表)
  • React Transition Group -- Transition 组件
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 从零开始学习部署
  • 对JS继承的一点思考
  • 飞驰在Mesos的涡轮引擎上
  • 给Prometheus造假数据的方法
  • 简单易用的leetcode开发测试工具(npm)
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 手写双向链表LinkedList的几个常用功能
  • MPAndroidChart 教程:Y轴 YAxis
  • #图像处理
  • (¥1011)-(一千零一拾一元整)输出
  • (2)(2.10) LTM telemetry
  • (差分)胡桃爱原石
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (离散数学)逻辑连接词
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (强烈推荐)移动端音视频从零到上手(下)
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)负载均衡,回话保持,cookie
  • (转载)从 Java 代码到 Java 堆
  • .gitignore文件设置了忽略但不生效
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET Core WebAPI中封装Swagger配置
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net Stream篇(六)
  • .Net(C#)自定义WinForm控件之小结篇
  • .NetCore项目nginx发布
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout