当前位置: 首页 > 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 的全局配置文件在哪里?
  • CSS中外联样式表代表的含义
  • ES6 学习笔记(一)let,const和解构赋值
  • JavaScript 基本功--面试宝典
  • Magento 1.x 中文订单打印乱码
  • unity如何实现一个固定宽度的orthagraphic相机
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 分享一份非常强势的Android面试题
  • 高性能JavaScript阅读简记(三)
  • 关于使用markdown的方法(引自CSDN教程)
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 让你的分享飞起来——极光推出社会化分享组件
  • 使用API自动生成工具优化前端工作流
  • 怎么把视频里的音乐提取出来
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • Mac 上flink的安装与启动
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 如何在招聘中考核.NET架构师
  • ​2021半年盘点,不想你错过的重磅新书
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​你们这样子,耽误我的工作进度怎么办?
  • # 飞书APP集成平台-数字化落地
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)shell调试方法
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .libPaths()设置包加载目录
  • .md即markdown文件的基本常用编写语法
  • .NET delegate 委托 、 Event 事件,接口回调
  • .net mvc部分视图
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .net 后台导出excel ,word
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • [ C++ ] template 模板进阶 (特化,分离编译)
  • [ NOI 2001 ] 食物链
  • [Android]通过PhoneLookup读取所有电话号码
  • [dts]Device Tree机制