今天在使用windows电脑安装docker时,遇到 unexpected wsl error 这个错误,找了很长时间解决办法,最终将该问题解决,目前将所有的解决办法综合了下,并留作记录。

准备

首先如果没有下载的Docker的同学可以通过这个链接地址进行Docker的下载。

Docker Personal - Sign Up for Free | Docker

通过找到Products标签来选择自己想要下载的版本进行安装。

进入BIOS确认自己的虚拟化技术有没有开启,如果没有开启,请把它开启,将其状态设置为Enabled,然后再重启。

问题

当安装完成后,因为电脑自身的原因可能会弹出此类问题(我的另外一台windows电脑也没有问题,就笔记本不可以)

如图:

解决办法

管理员身份打开命令行工具:

wsl --install

这个时候windows系统会自动给你安装一个最新的Ubuntu子系统,安装完毕后他会尝试重新启动这个的系统,如果启动成功,那么证明流程没有问题,按正常来说你的docker也会运行正常(前提你必须要联网,不然 也会报错)

如果启动不成功可能会提示该错误

 出现该错误可能是由以下原因造成。

1.适用于Linux的windows系统选项没有勾选。(请务必勾选)

2.Hyper没有被开启。

执行bcdedit命令(需使用管理员权限打开PowerShellCMD)。

bcdedit

可以看到最后一项hypervisorlaunchtypeOff

PS C:\Users\User> bcdedit

Windows 启动管理器
--------------------
标识符                  {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  zh-CN
inherit                 {globalsettings}
flightsigning           Yes
default                 {current}
resumeobject            {f2ef54bb-3fc0-11ec-b211-f919c86c3435}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 0

Windows 启动加载器
-------------------
标识符                  {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.efi
description             Windows 10
locale                  zh-CN
inherit                 {bootloadersettings}
recoverysequence        {f2ef54bd-3fc0-11ec-b211-f919c86c3435}
displaymessageoverride  Recovery
recoveryenabled         Yes
isolatedcontext         Yes
flightsigning           Yes
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {f2ef54bb-3fc0-11ec-b211-f919c86c3435}
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Off

注意要用管理员权限打开PowerShellCMD

执行命令后需要重启电脑才能生效。

bcdedit /set hypervisorlaunchtype auto

如果还不行,那么请尝试管理员身份打开命令行工具:

netsh winsock reset

设置好重启,在有网的情况下,即可打开docker应用程序。

 

OK 大功告成! 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐