docker安装之后启动报错的一些解决方法
启动时,弹窗报错:Docker Desktop - Unexpected WSL error
在确保了程序设置里,勾选了“Windows虚拟机监控程序平台”,以及“适用于Linux 的windows子系统“之后,还是报错此相同的错误
在查阅大量的资料之后,我发现普遍的解决方法是:
管理员启动的cmd输入:netsh winsock reset 然后重启电脑
我们按照此方法尝试之后,问题仍然无法解决
我们会发现此时的WSL是无法打开linux虚拟机的,当我们点击ubantu虚拟机之后会抛出
WslRegisterDistribution failed with error: 0x800701bc 的错误
(在CSDN上查阅资料,找到一个大佬写的文章,下文参考此文章内容)
出现这个错误的原因是:wsl1升级到wsl2之后,内核却没有升级
解决方法为:下载最新的wsl安装包,运行安装
下载地址:wsl_update_x64.msi
下载安装之后,我们会接触到一个新的错误
"Error: 0x80370102 The virtual machine could not be started because a required feature is not installed."的错误
从微软官网的[文档](适用于 Linux 的 Windows 子系统疑难解答 |Microsoft 学习 — Troubleshooting Windows Subsystem for Linux | Microsoft Learn)中我们可以找到此处错误的解决方法,这便是问题所在(下图为文档第5条),我们根据这个步骤进行操作之后便成功解决了问题,ubantu系统可以正常启动,然后我们再去启动docker,成功进入主页面,不会抛出错误。
bcdedit /enum | findstr -i hypervisorlaunchtype(验证)
bcdedit /set hypervisorlaunchtype Auto(启动)
总结
关键在于最后两个步骤:wsl内核的升级,以及虚拟机管理程序的启动 解决玩这两个问题,就能给成功启动虚拟机,docker也就能够正常使用了
当时解决为了解决这个问题,反反复复查阅了很多CSDN相关文章,重装很多次docker,也重启了很多次电脑,总之解决问题的过程很麻烦,希望能够帮到有同样问题的xdm