windows10 安装Docker Desktop时无法启动“Failed to start the Docker Engine“原因分析

在尝试启动DockerDesktop时遇到了Newtonsoft.Json解析错误,具体为JsonReaderException,经过排查发现该问题可能与CPU的SLAT(二级地址转换)支持有关。检查后确认电脑不支持SLAT,这成为了无法运行DockerDesktop的原因。
摘要由CSDN通过智能技术生成

错误现象如下图

在这里插入图片描述
在这里插入图片描述

错误描述:

Newtonsoft.Json.JsonReaderException:
Unexpected character encountered while parsing value: n. Path '', line 0, position 0.
   在 Newtonsoft.Json.JsonTextReader.ParseValue()
   在 Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
   在 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   在 Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   在 Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   在 Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
   在 Docker.Engines.WSL2.LinuxWSL2Engine.<DoStartAsync>d__10.MoveNext() 位置 C:\workspaces\PR-22253\src\github.com\docker\pinata\win\src\Docker.Engines\WSL2\LinuxWSL2Engine.cs:行号 58
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 Docker.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() 位置 C:\workspaces\PR-22253\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:行号 29
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__7.MoveNext() 位置 C:\workspaces\PR-22253\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行号 79
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__7.MoveNext() 位置 C:\workspaces\PR-22253\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:行号 108
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 Docker.ApiServices.StateMachines.EngineStateMachine.<StartAsync>d__17.MoveNext() 位置 C:\workspaces\PR-22253\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:行号 97
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
   在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 Docker.Engines.Engines.<StartAsync>d__24.MoveNext() 位置 C:\workspaces\PR-22253\src\github.com\docker\pinata\win\src\Docker.Engines\Engines.cs:行号 124

翻遍了很多网上的相关问题,都没有解决,知道我看到这篇博客,发现安装Docker Desktop需要支持CPU支持二级地址转换(SLAT)。

于是去检查电脑是否支持SLAT,方法来自这一文章

发现自己电脑不支持SLAT。。。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值