win10 WSL2 引起的 VirtualBox 启动问题

本文记录了在尝试启用WSL2功能后,导致VirtualBox虚拟机无法正常启动的问题解决过程。通过一系列尝试,包括调整Windows功能、Hyper-V状态及VirtualBox版本,最终通过关闭Hyper-V成功修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动虚拟机系统时报错:Call to WHvSetupPartition failed!

罪魁祸首:https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-install 尝试启用 WSL2,执行了 Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform。然后发现现在 win10 系统是 1903,还不是预览版,无法使用 wsl2 功能。并且,这么一弄,把 VirtualBox 虚拟机搞坏了。挺悲催,这事儿花了我不少时间,最后还竹篮打水一场空。

为修复问题,查了不少资料,尝试了一些办法。

  • 打开“启动或关闭 Windows 功能”,去掉“虚拟机平台“,重启。问题还在。
  • 查到新版本 VirtualBox 6.0 开始是已经兼容 win10 的虚拟机平台的,包括 Hyper-V 的使用。于是在我的家庭版 Windows 上安装了 Hyper-V,问题没变。然后顺便体验了下 Hyper-V 安装 Ubuntu,并不好用。
  • 查到有说新版本 VirtualBox 有 bug,于是把版本降到了 5.3,变成了另一个问题。估计就是旧版本与新版 Windows 的兼容问题。
  • 再去“启动或关闭 Windows 功能”配置页面,去掉“虚拟机平台“,去掉 Hyper-V,重启。问题还在。

最后,又看了一些英文论坛,有提到一种关闭 Hyper-V 的方法。在前面操作的基础上,以管理员启动 powershell,执行:

bcdedit /set hypervisorlaunchtype off

重启。

VirtualBox 终于好了。

Windows WSL 及 Windows Terminal 工具》:https://blog.csdn.net/engrossment/article/details/102623120

2019年8月13日

<think>嗯,用户遇到了WSL安装Ubuntu时出现错误代码0x80370102问题,需要帮助解决。首先,我得回想一下这个错误代码通常是什么原因引起的。根据以前的知识,0x80370102通常和虚拟化支持有关,可能是在BIOS中没有启用虚拟化技术,或者是Hyper-V没有被正确启用,或者是其他系统组件的问题。 接下来,我应该逐步分析可能的原因。首先,检查BIOS中的虚拟化设置是否开启。对于不同的主板品牌,进入BIOS的方法可能不同,但通常是开机时按F2、Del键或者其他特定键。用户可能需要重启电脑进入BIOS,找到类似Intel VT-x或AMD-V的选项,确保它们是启用的状态。 然后,考虑Hyper-V是否被启用。在Windows系统中,尤其是专业版或企业版,Hyper-V可能默认未开启。用户需要到“启用或关闭Windows功能”中查看Hyper-V是否勾选,如果没有,勾选后重启电脑。另外,如果是家庭版用户,可能需要通过脚本或其他方式启用Hyper-V,或者升级到支持Hyper-V的版本。 另外,WSL2需要虚拟机平台的支持,这个功能也需要在Windows功能中开启。用户需要确保“虚拟机平台”选项被选中,否则即使启用了Hyper-V,也可能导致问题。此外,某些第三方安全软件,如杀毒软件或防火墙,可能会干扰虚拟化进程,暂时禁用它们可能有助于解决问题。 还有可能是系统组件损坏,这时候运行系统文件检查工具(sfc /scannow)和DISM命令来修复系统镜像可能会有帮助。同时,确保Windows系统是最新版本,避免已知的兼容性问题。如果用户使用的是旧版Windows 10,可能需要升级到19041版本或更高,或者考虑升级到Windows 11。 如果以上步骤都无效,可能需要重置WSL或重新安装Linux发行版。使用wsl --shutdown命令关闭所有WSL实例,然后重新安装Ubuntu。另外,某些用户反馈在BIOS中禁用安全启动(Secure Boot)可以解决问题,虽然这不是常见情况,但也可以作为尝试的步骤。 最后,如果所有方法都失败,用户可能需要查看系统日志或事件查看器中的详细错误信息,或者在社区论坛寻求帮助,比如微软的官方论坛或Stack Overflow。需要确保在回答中提供详细的步骤,并建议用户按照顺序逐一尝试,同时注意引用相关的参考资料,比如关于chattr命令和Ubuntu安装的引用,虽然这里的问题更多与Windows系统配置相关,但可能需要结合用户提供的引用内容中的系统信息进行调整。</think>### 分步解决WSL安装Ubuntu错误代码0x80370102 错误代码 **0x80370102** 通常与Windows子系统Linux(WSL)的虚拟化配置相关。以下是具体解决步骤: --- #### 1. 检查BIOS虚拟化支持 - **问题原因**:CPU虚拟化技术(如Intel VT-x或AMD-V)未启用。 - **解决方法**: 1. 重启电脑,进入BIOS设置界面(按键可能为F2、Del、Esc等,具体取决于主板型号)。 2. 找到虚拟化选项(通常位于`Advanced`或`Security`菜单中),启用`Intel Virtualization Technology`或`AMD SVM`。 3. 保存设置并重启系统。 --- #### 2. 启用Windows虚拟化功能 - **问题原因**:Hyper-V或虚拟机平台未启用[^1]。 - **解决方法**: 1. 以管理员身份打开PowerShell,运行: ```powershell Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All ``` 2. 打开“控制面板” → “程序” → “启用或关闭Windows功能”,勾选: - ✔️ Hyper-V - ✔️ 虚拟机平台 - ✔️ Windows子系统Linux 3. 重启电脑--- #### 3. 更新WSL内核 - **问题原因**:旧版WSL内核可能不兼容当前系统。 - **解决方法**: 1. 下载最新WSL2内核安装包: [微软官方WSL2内核下载地址](https://aka.ms/wsl2kernel) 2. 安装后以管理员身份运行: ```powershell wsl --set-default-version 2 ``` --- #### 4. 检查系统版本兼容性 - **问题原因**:Windows版本过旧(需≥19041)[^2]。 - **解决方法**: 1. 按`Win + R`输入`winver`查看版本号。 2. 若版本低于19041,通过“设置” → “更新与安全”升级系统。 --- #### 5. 重置WSL配置 - **问题原因**:残留配置导致冲突。 - **解决方法**: 1. 关闭所有WSL实例: ```powershell wsl --shutdown ``` 2. 重置默认发行版: ```powershell wsl --unregister Ubuntu wsl --install -d Ubuntu ``` --- #### 6. 禁用冲突软件 - **问题原因**:第三方虚拟化软件(如VMware、VirtualBox)或杀毒软件拦截。 - **解决方法**: 1. 暂时禁用安全软件。 2. 卸载冲突的虚拟化工具(或确保其版本兼容WSL2)。 --- #### 7. 其他尝试 - **禁用安全启动(Secure Boot)**:部分主板需在BIOS中关闭此选项。 - **检查磁盘空间**:确保系统盘剩余空间≥1GB。 - **修复系统文件**: ```powershell sfc /scannow dism /online /cleanup-image /restorehealth ``` --- ### 相关问题 1. WSL2WSL1的主要区别是什么? 2. 如何将现有的WSL1迁移到WSL2? 3. 在WSL中如何配置阿里云镜像源加速软件安装? --- ### 引用说明 [^1]: 虚拟化功能未启用可能导致依赖Hyper-V的组件异常。 : 系统版本过低或镜像源配置错误会影响软件安装流程。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jackindata

多谢认可!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值