Windows 10 Windows Linux子系统安装指南-官网

官网文档传送门

安装Linux的Windows子系统

在Windows上安装任何Linux发行版之前,必须启用“ Linux的Windows子系统”可选功能。

以管理员身份打开PowerShell并运行:

PowerShell复制

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

要仅安装WSL 1,现在应该重新启动计算机并继续安装所选的Linux发行版,否则请等待重新启动并继续更新到WSL2。了解有关比较WSL 2和WSL 1的更多信息。

更新到WSL 2

要更新到WSL 2,您必须满足以下条件:

运行Windows 10,更新为2004版,内部版本19041或更高版本。  重要

当前要更新到Windows 10版本2004(内部版本19041),您需要加入Windows Insider程序并选择“发布预览”环。公开发布应于5月下旬到达。

通过选择Windows徽标键+ R来检查Windows版本,键入winver,然后选择“ 确定”。(或ver在Windows命令提示符中输入命令)。如果您的版本低于19041,请更新到最新的Windows版本。获取Windows Update Assistant。

启用“虚拟机平台”可选组件

在安装WSL 2之前,必须启用“虚拟机平台”可选功能。

以管理员身份打开PowerShell并运行:

PowerShell 复制

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重新启动计算机以完成WSL安装并更新到WSL 2。

将WSL 2设置为默认版本

在安装新的Linux发行版时,在Powershell中运行以下命令以将WSL 2设置为默认版本:

PowerShell复制

wsl --set-default-version 2

安装您选择的Linux发行版 打开Microsoft商店,然后选择您喜欢的Linux发行版。

设置新的发行版

首次启动新安装的Linux发行版时,将打开一个控制台窗口,并且将要求您等待一两分钟以将文件解压缩并存储在PC上。以后所有的发射都将花费不到一秒钟的时间。

然后,您需要为新的Linux发行版创建一个用户帐户和密码。

将发行版本设置为WSL 1或WSL 2

您可以通过打开PowerShell命令行并输入命令来检查分配给已安装的每个Linux发行版的WSL版本(仅在Windows Build 19041或更高版本中可用):wsl -l -v

powershell 复制

wsl --list --verbose

要将发行版设置为由任一版本的WSL支持,请运行:

powershell 复制

wsl --set-version  

确保用发行版的实际名称和数字“ 1”或“ 2” 代替。您可以随时通过运行与上述相同的命令将其替换为WSL 1,但是将“ 2”替换为“ 1”。

此外,如果要将WSL 2设置为默认体系结构,则可以使用以下命令:

powershell 复制

wsl --set-default-version 2

这将设置安装到WSL 2的任何新发行版的版本。

安装疑难解答

以下是相关的错误和建议的修复程序。有关其他常见错误及其解决方案,请参阅WSL故障排除页面。

安装失败,错误0x80070003

Linux的Windows子系统仅在系统驱动器上运行(通常是您的C:驱动器)。确保分发存储在系统驱动器上: 打开设置 -> 存储 -> 更多存储设置:更改新内容的存储位置 

WslRegisterDistribution失败,错误为0x8007019e

未启用Windows Subsystem for Linux可选组件: 打开控制面板 -> 程序和功能 -> 打开或关闭Windows功能 ->检查Linux的Windows子系统或使用本文开头提到的PowerShell cmdlet。

安装失败,错误0x80070003或错误0x80370102

请确保在计算机的BIOS中启用了虚拟化。有关如何执行此操作的说明因计算机而异,并且很可能在与CPU相关的选项下。

尝试升级时出错: Invalid command line option: wsl --set-version Ubuntu 2

请确保已启用Linux的Windows子系统,并且您使用的是Windows Build 19041版或更高版本。要启用WSL,请在具有管理员权限的Powershell提示符中运行以下命令:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux。您可以在此处找到完整的WSL安装说明。

由于虚拟磁盘系统限制,无法完成请求的操作。虚拟硬盘文件必须未压缩和未加密,并且不能稀疏。

请检查WSL Github线程#4103,在该线程中跟踪此问题以获取更新的信息。

无法将词语“wsl”识别为 cmdlet、函数、脚本文件或可运行程序的名称。

确保已安装Windows Subsystem for Linux可选组件。此外,如果您使用Arm64设备并从PowerShell运行此命令,则会收到此错误。而是wsl.exe从PowerShell Core或命令提示符运行。

版权声明

翼安博客


首发 翼安博客,转载请附链接!

赞赏支持

感谢支持!


建站不易,感谢支持!

推荐阅读
web开发技术栈(框架)总结
Bootstrap-Layui-Amazeui-jQuery-vue-react-AngularJS-ci-Thinkphp-Yii-Laravel-Node-Django-springMVC-apache-nginx-mysql-redis…… 天呐,好多…… 小编虽说出身工业软件,但心里一直藏着一个UI梦。近两年,小编业余时间从零开始摸索web开发,把web开发常用的技术和框
3479

Git for windows 修改Home路径(版本号:2.14)
前人留下的网络资料有解决1.9版本的这个问题,但对2.14版本已经不再适用。前人资料:http://www.cnblogs.com/fenpho/p/6208896.htmlhttp://www.cnblogs.com/xunzhiyou/p/5028789.html实际操作后,修改/etc/profile文件后,重新开始GitBash并没有生效。由于Git的默认路径在C:\Users\Admin
497

thinkphp6设置Content-type解决header添加不生效问题
thinkphp6设置Content-type解决header添加不生效问题原生php只需要加入header就可以实现输出各种格式的文件内容,如header("Content-type:text/css");然而,在thinkphp6中却不能生效。response总会自动的将内容以网页的形式输出。即自动添加<html>、<body>等标签,无法达到预期的效果。tp6框架中提
5003

【Gtest(Google Test)帮助手册】en-cn
Gtest官方使用文档英文文档获得方式:框架生成的执行文件,在命令行--help即可获得。中文翻译版本操作文档只对使用Gtest(GoogleTest)开发的测试用例有效。通过命令,你可以使用以下功能:选择测试用例: --gtest_list_tests列出所有的测试用例,但并不执行。代码中的用例TEST(Foo,Bar)显示出的结果是"Foo.Bar".  --gtest_f
2379

每天上班都像上坟一样难受,怎么办?三条妙招让上班像踏青
经常听到身边有些朋友抱怨,说每天上班的心情就想上坟。然而,真是如此么?小编相信,每位上班像上坟的朋友,身边不会缺少这样的朋友:每天上班精神抖擞,很有干劲,心情愉悦就像是来踏青一样。他们是怎么做到的呢?其实,上班不愉快无非就是上班时心情不好,感觉焦虑。要知道,这些都是可以解决的!人的一生,就是适应、利用、创造法则的一生。法则就是自然法则、社会秩序和公司规章制度。最无力的时候只能去学习、适应法则,成长
3186

CSDN-markdown编辑器示意效果
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗Ctrl+B斜体Ctrl+I引用Ctrl+Q插入链接Ctrl+L插入代码Ctrl+K插入图片Ctrl
1430

php开发遇到的Access denied for user
php开发遇到的Accessdeniedforuser'root'@'localhost'(usingpassword:NO)首发:2017-09-2413:44:38环境:CentOS6.5+php5.3.3在php开发过程中,我遇到了一个问题:在命令行中登录Mysql完全正常,然而PHP代码读取数据库却出了问题。报错如下:Accessdeniedforuser'root'@'localhost
3235

Linux环境C C++起Socket Server监听8080端口的代码实现
代码抄录自《UNUX网络编程卷一》,在实现开发环境中调试通过,经测试发现可以正常监听。(2017-09-0621:56:31)开发环境:CentOS,g++,VIM功能:C++实现Socket通信的Server端,实现监听8080端口接收到的消息。#include#include/*SeeNOTES*/#include#include#include#include#include#include
2726

CentOS 系统简易搭建FTP服务(四步足矣)
本文作者之前在CSDN发过(2017-09-0313:09:28),现在入驻本站。网上有很多的FTP搭建步骤,但普遍很繁琐,个人临时使用太麻烦。本次实验使用腾讯云服务器CentOS简易搭建FTP服务器,四行命令足矣完成基本使命。yuminstallvsftpdservicevsftpdstartuseradd-m-d/home/uftp-s/sbin/nologinuftppasswduftp目前
2499

解决修改CSS文件后网页显示不生效问题
刚开始学CSS,HTML+CSS+Div虽说是上个世纪就有产生的发明,但我却不会。不过,不要紧,学就是了。问题是这样的:我编写HTML文件,并调用CSS文件实现布局美化。然后,经常出现明明已经修改过CSS文件但HTML页面却并没有产生变化的现象。怎么办?CSS语法作为初学者,首先想到的时自己写错了。所以查找正确的语法,如这一文章中提到的HTML调用CSS管理、美化div,仔细检查,发现语法是OK的
3279

linux中查看C C++程序或调用其中某个函数(类)消耗内存的方法实现
验证C/C++程序或调用其中某个函数(类)消耗内存的方法:获取进程ID,调用/proc/[pid]/status查看消耗的内存页(4KB/内存页)进程ID获取方法UNIX环境高级编程中提到的getpid(),可以获取。头文件``查看内存信息sprintf(FILE_NAME,"/proc/%d/statm",pid);FILE*fp=fopen(FILE_NAME,"r");fscanf(fp,"
2611

Linux(Android)系统Root实现原理
方案主旨思想是查找系统漏洞,让本身具有root权限的进程执行打开root权限的操作。重烧engboot.img方案Android版本有user版本和eng版本的区别,其中eng版本可以用于开发调试,所以本身可以开启root权限。通过重烧engboot.img版本来获取root权限。这个原理理解起来很简单,原理章节不再详述。死锁问题root需要考虑两个问题:(1)root权限的获取;(2)root权
2989