Windows11企业版安装WSL2和Ubuntu发布版(避坑)

背景

win10企业版升级win11企业版后,安装WSL2,最后安装WSL的Ubuntu发布版,尝试网上各种方法,还是出现文章第三节所写的问题,差点被这问题搞放弃了,全网少有针对这个问题的答案,有也不顶用,靠自己学习WSL知识,找到该问题可能的原因,搞定该问题。

一、win10企业版升级win11企业版

参考本人博客:
https://blog.csdn.net/Acecai01/article/details/136752860

二、安装WSL和发布版

注意WSL2与其他模拟器或虚拟机冲突

WSL2与绝大多数手游模拟器(MUMU、雷神等)都不兼容,如果有使用模拟器的需求,需要谨慎考虑
原因:WSL2需要开启Hyper-V,而模拟器使用不能开启Hyper-V
如果两者冲突导致WSL2不可用,参考下方链接
https://www.bilibili.com/read/cv13748859

2.1、配置防火墙

(1)打开 “Window 安全中心”
(2)点击 “应用和浏览器控制”
(3)拉到底点击"攻击防护设置"
(4)切换到 “程序设置” 选项卡,等待片刻刷新出程序列表
(5)拉到底部,看到"C:\WINDOWS\System32\vmcompute.exe",点击并编辑
(7)下滚到 “控制流保护 (CFG)” ,取消勾选"替代系统设置"
(8)在Powershell中执行 “net start vmcompute”, 启动vmcompute

2.2、修复系统

(1)以管理员身份打开PowerShell
(2)执行命令 “sfc /scannow”,等待完成
(3)执行命令 " dism /online /cleanup-image /restorehealth",等待完成
(4)重启电脑

2.3、安装

参考链接:
https://contabo.com/blog/how-to-install-wsl2-on-windows-10/

2.4、WSL问题排查

官方各类问题排查方法
https://learn.microsoft.com/zh-cn/windows/wsl/troubleshooting#installation-issues

WSL日志查看方法
《[问题已处理]-排查wsl崩溃的方法》
https://blog.csdn.net/xujiamin0022016/article/details/126557180

三、问题

报错问题是:WslRegisterDistribution failed with error: 0x80070490 Error: 0x80070490 ???
过程
在2.3节中安装Ubuntu发布版步骤时:

(base) PS C:\WINDOWS\system32> wsl.exe --install Ubuntu-22.04
。。。
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80070490
Error: 0x80070490 ???Press any key to continue...

他人解决方法
针对该问题,这里有几篇其他人的解决办法(环境和本人的不同,本人不适用)
https://edosha.hatenablog.jp/entry/2022/06/09/145453
https://superuser.com/questions/1820365/wsl2-ubuntu-20-04-6-lts-not-working-wslregisterdistribution-failed-with-error
https://github.com/microsoft/WSL/issues/7946

本人解决方法
通过2.4节中所述查看WSL日志方法,找到安装Ubuntu时所产生的日志文件logs.etl(以管理员身份开启两个PowerShell,一个监听日志(注意要翻墙后操作),一个安装ubuntu产生问题),将其转为logs.xml后定位到可能的问题信息:
在这里插入图片描述
如上图红框内容与所产生的问题在形式上很相似,猜测是NAT网络模式的问题,主机和WSL发布版无法连通,查阅WSL网络访问知识:
https://learn.microsoft.com/zh-cn/windows/wsl/networking
尝试了如下方法:
(1)手动创建配置文件 “C:\Users\Administrator.wslconfig”, 文件内容如下:

[wsl2]
localhostForwarding=true
networkingMode=mirrored

保存后关闭。

(2)以管理员身份运行PowerShell,执行如下命令:

(base) PS C:\WINDOWS\system32> wsl --shutdown   # 重启WSL
(base) PS C:\WINDOWS\system32> netsh winsock reset    # 重置winsock,防止网络代理等问题

(3)重启电脑
(4)重新安装Ubuntu22.04,成功!!如下状态:

(base) PS C:\WINDOWS\system32> wsl -l -vNAME            STATE           VERSION
* Ubuntu-22.04    Running         2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/748708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python】自动化工具Selenium与playwright去除webdriver检测

对这个世界如果你有太多的抱怨 跌倒了就不敢继续往前走 为什么人要这么的脆弱 堕落 请你打开电视看看 多少人为生命在努力勇敢的走下去 我们是不是该知足 珍惜一切 就算没有拥有 🎵 周杰伦《稻香》 # -*- coding:utf-8 -*- import timefrom s…

k8s-高可用etcd集群 26

reset掉k8s2,k8s3,k8s4节点 清理完网络插件后重启 快速创建一个k8s集群 修改初始化文件 添加master节点 备份 查看etcd配置 启动docker 将etcd二进制命令从容器拷贝到本机 备份 查看快照状态 删除集群资源 恢复 停掉所有的核心组件 从快照恢复 重启所有…

知识蒸馏Matching logits与RocketQAv2

知识蒸馏Matching logits 公式推导 刚开始的怎么来,可以转看下面证明梯度等于输出值-标签y C是一个交叉熵,我们要求解的是这个交叉熵对的这个梯度。就是你可以理解成第个类别的得分。就是student model,被蒸馏的模型,它所输出的…

RTT——stm32f103的can总线通信

1.创建工程 2.配置时钟和引脚 引脚配置使能CAN 时钟配置,采用外部高速时钟 生成MDK工程后复制相关初始化函数到RTT-studio中 将void HAL_CAN_MspInit(CAN_HandleTypeDef* canHandle)函数复制至broad.c文件中 将时钟配置函数复制到drv_clk.c中,只复制函数…

C语言—打印如图矩阵

输出矩阵 在一个二维数组中形成并输出如下矩阵: #include <stdio.h> main() { int i,j,a[5][5];for(i0;i<4;i)for(j0;j<4;j)if(i<j) a[i][j]1;else a[i][j]i-j1;for(i0;i<4;i){ for(j0;j<4;j)printf("%d ",a[i][j]);printf("…

Xilinx FPGA模式配置

Xilinx FPGA模式配置 Xilinx UltraScale FPGA有7种配置模式&#xff0c;由模式输入引脚M[2:0]决定。七种模式如图1所示。 图1 7种配置模式 7种模式可分为3大类&#xff0c; 1、JTAG模式&#xff08;可归为从模式&#xff09;&#xff1b; 2、主模式&#xff1b; 3、从模式…

影响交易收益的因素有哪些?

在尝试做交易时&#xff0c;你可能会问自己一个问题&#xff1a;交易一天能赚多少钱&#xff1f;“如果我全职投入交易&#xff0c;一天能赚多少&#xff1f;”或者更广泛地说&#xff0c;“交易能为我带来怎样的财富&#xff1f;”这些问题本质上都充满了不确定性&#xff0c;…

Spring Cloud Alibaba微服务从入门到进阶(一)(SpringBoot三板斧、SpringBoot Actuator)

Springboot三板斧 1、加依赖 2、写注解 3、写配置 Spring Boot Actuator Spring Boot Actuator 是 Spring Boot 提供的一系列用于监控和管理应用程序的工具和服务。 SpringBoot导航端点 其中localhost:8080/actuator/health是健康检查端点&#xff0c;加上以下配置&#xf…

pytorch之诗词生成--2

先上代码: # -*- coding: utf-8 -*- # File : dataset.py # Author : AaronJny # Time : 2019/12/30 # Desc : 构建数据集 from collections import Counter import math import numpy as np import tensorflow as tf import settingsclass Tokenizer:""&…

成功解决RuntimeError: OpenSSL 3.0‘s legacy provider failed to load

报错 RuntimeError: OpenSSL 3.0s legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable CRYPTOGRAPHY_OPENSSL_NO_LEGACY. If you did not expect this er…

Java中文乱码问题深入剖析与高效解决方案

引言&#xff1a; 在现代软件开发中&#xff0c;特别是在涉及跨平台、多语言环境下&#xff0c;中文乱码问题一直是一个令人头疼的难题。Java作为一种跨平台、面向对象的编程语言&#xff0c;在处理中文字符编码方面也存在一些挑战。本文将深入探讨Java中文乱码问题的根源&…

css引入方式有几种?link和@import有什么区别

在HTML中&#xff0c;有两种主要的方式可以引入CSS样式表&#xff1a;使用<link>标签和使用import规则。它们之间有一些区别。 <link>标签&#xff1a;可以使用<link>标签在HTML文件中引入外部CSS样式表。它必须放在<head>标签中&#xff0c;并使用re…

邮件自动化:简化Workplace中的操作

电子邮件在职场中的使用对于企业和组织的日常活动起着重要的作用。电子邮件不再仅仅是一种通信方式&#xff0c;已经成为现代企业和组织实施日常运营的关键要素。 除了通信&#xff0c;电子邮件对于需求生成、流程工作流、交易审批以及各种其他与业务相关的活动至关重要。在当…

springboot高校门诊管理系统

摘 要 相比于以前的传统手工管理方式&#xff0c;智能化的管理方式可以大幅降低高校门诊的运营人员成本&#xff0c;实现了高校门诊管理的标准化、制度化、程序化的管理&#xff0c;有效地防止了高校门诊管理的随意管理&#xff0c;提高了信息的处理速度和精确度&#xff0c;能…

MySQL中的索引失效情况介绍

MySQL中的索引是提高查询性能的重要工具。然而&#xff0c;在某些情况下&#xff0c;索引可能无法发挥作用&#xff0c;甚至导致查询性能下降。在本教程中&#xff0c;我们将探讨MySQL中常见的索引失效情况&#xff0c;以及它们的特点和简单的例子。 1. **索引失效的情况** …

C#使用NPOI保存DataGridView数据到EXCEL文件

C# DataGridView可以显示各种表格数据&#xff0c;有时需要将结果保存到EXCEL文件中。开源库NPOI支持EXCEL格式文件的读写&#xff0c;可以使用NPOI编写通用的方法&#xff0c;自动将DataGridView控件表格数据保存到EXCEL文件。 具体代码参考如下&#xff1a; 主要引用: usi…

Linux:深入文件系统

一、Inode 我们使用ls -l的时候看到的除了看到文件名&#xff0c;还看到了文件元数据。 [rootlocalhost linux]# ls -l 总用量 12 -rwxr-xr-x. 1 root root 7438 "9月 13 14:56" a.out -rw-r--r--. 1 root root 654 "9月 13 14:56" test.c 每行包含7列&…

【JavaEE初阶系列】——多线程 之 创建线程

目录 &#x1f388;认识Thread类 &#x1f388;Sleep &#x1f388;创建线程 &#x1f6a9;继承Thread&#xff0c;重写run方法 &#x1f6a9;实现Runnable接口&#xff0c;重写run方法 &#x1f6a9;使用匿名内部类创建 Thread 子类对象 &#x1f6a9;使用匿名内部类&…

stm32_f103c8点亮led(01)

步骤 1设置时钟 2初始化GPIO 3设置输入输出 main函数 #include "stm32f10x.h" // Device header #include "Delay.h" int main(void) {RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//时钟GPIO_InitTypeDef jie_gpio;//初始…

非空约束

oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 非空约束 所谓的非空约束&#xff0c;指的是表中的某一个字段的内容不允许为空。如果要使用非空约束&#xff0c;只需要在每个列的后面利用“NOT NULL”声明即可 -- 删除数…