ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

部署WSL2时遇到0x80370102问题

2021-05-31 23:00:58  阅读:471  来源: 互联网

标签:虚拟化 部署 虚拟机 WSL 0x80370102 Windows WSL2


在部署WSL2时,遇到0x80370102问题

文章目录

前言

​ 一直以来笔者的嵌入式开发环境都是在Windows下的Linux虚拟机,最近想折腾一下基于WSL2的开发环境部署。

​ 关于WSL的部署,巨硬官方的文档《在 Windows 10 上安装 WSL》已经说的很详细。一般来说照着官方文档都没什么问题的,但偏偏笔者的两台机器部署都出现了同一个0x80370102的错误,而且按照文档没法解决,于是便有了本文,旨在记录一下这个问题的解决过程。

问题场景

1、在参考巨硬的官方文档部署WSL2,执行到步骤6:安装所选的 Linux 分发时,发生错误0x80370102;

2、在将WSL1版本的Linux分发转换到WSL2时,发生错误0x80370102。

在这里插入图片描述

问题分析

1、根据巨硬的官方文档,0x80370102是因为未启用BIOS虚拟化所引发的错误。网上搜这个错误,大部分都是说要在BIOS中启用CPU的虚拟化功能。

  • 安装失败,出现错误 0x80070003 或错误 0x80370102
    • 请确保在计算机的 BIOS 内已启用虚拟化。 有关如何执行此操作的说明因计算机而异,并且很可能在 CPU 相关选项下。
    • WSL2 要求 CPU 支持二级地址转换 (SLAT) 功能,后者已在 Intel Nehalem 处理器(Intel Core 第一代)和 AMD Opteron 中引入。 即使成功安装了虚拟机平台,旧版 CPU(例如 Intel Core 2 Duo)也无法运行 WSL2。

2、奇怪的是,我的机器跑虚拟机都好好的,理论上CPU的虚拟化功能应该是打开的才对。遂打开任务管理器的性能界面,确实显示虚拟化已启用

在这里插入图片描述

3、再次查看巨硬的文档《有关适用于 Linux 2 的 Windows 子系统的常见问题》,虽然没有直接描述这个问题,但是知道了WSL2是基于Windows的hyper-v虚拟平台的。会不会有可能是hyper-v平台出了问题?

WSL 2 是否使用 Hyper-V? 它是否可用于 Windows 10 家庭版?

WSL 2 在当前可使用 WSL 的所有 SKU 上都可使用,包括 Windows 10 家庭版。

最新版本的 WSL 使用 Hyper-V 体系结构来实现其虚拟化。 此体系结构将在“虚拟机平台”可选组件中提供。 此可选组件在所有 SKU 上都将可用。 当我们更深入地了解 WSL 2 版本时,可以看到有关此体验的更多详细信息。

4、顺道又看了下hyper-v的文档《Hyper-V 体系结构》,发现hyper-v平台依赖底层的Hypervisor(虚拟机监控程序?)和硬件打交道。

5、顺着Hypervisor这条线索,想起很久之前安装VMware的时候,因为冲突关掉了hyper-v《解决VMware Workstation 的虚拟化与window10自带的Hyper-V 服务冲突问题,完美卸载关闭(Hyper-V)》。好家伙,该不会是这个原因引起吧?当时博文中提到使用bcdedit这个工具查看和配置启动加载项。

2.第一个方法重启之后无效的话,进入方法二:用管理员权限打开CMD或window powershell 关闭 启动项

bcdedit /set hypervisorlaunchtype off

之后输入bcdedit 查看启动管理器,查看hypervisorlaunchtype是不是off状态的,重启之后生效。

6、通过hypervisor和bcdedit找到了BCDEdit的文档《BCDEdit /set - Windows drivers》,发现原来是没有启动虚拟机监控程序,导致hyper-v运行不了。

虚拟机监控程序设置

hypervisorlaunchtype [ Off | Auto ]
控制虚拟机监控程序启动选项。 如果要设置调试器以在目标计算机上调试 Hyper-V,请在目标计算机上将此选项设置为“自动”。

问题解决

1、用管理员权限打开cmd或者powershell,执行下面的命令:

bcdedit /set hypervisorlaunchtype Auto

在这里插入图片描述

2、提示操作成功之后,重启即可解决问题。

标签:虚拟化,部署,虚拟机,WSL,0x80370102,Windows,WSL2
来源: https://blog.csdn.net/qq_39757730/article/details/117431647

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有