前提:适合对计算机不太懂,不了解原理的(比如我),欢迎大佬指点~
在安装Docker Desktop时遇到了如下问题:
花了很长时间查了很多网站帖子都没有解决,那就自己记录一下解决过程吧(建议是直接看docker官方文档在 Windows 上安装 Docker Desktop |码头工人文档,这个最准)
注意事项:
(1、2、3是微软官网视窗 10 Hyper-V 系统要求 |Microsoft学习中的要求)
1.Hyper-V在64位版本的Windows 10专业版、企业版和教育版中可用。
可以在系统里设置激活
我搞的是专业版,企业版安全级别更高,但是用不上就显得臃肿
最好不要随便用网上的激活码,很多情况就是能让你切换成专业版但是无法让你激活
有钱的直接微软里买正版,没钱又懒得折腾花点钱在淘宝里买,当然喜欢自己摸索的另说啦
重新点开上面的 “更改产品密钥或升级Windows”进一步查看,下图就是失败的案例
继续改密钥就行
2.Hyper-V需要二级地址转换(SLAT)-存在于英特尔和AMD的当前一代64位 处理器中。
要查看您的计算机是否支持二级地址转换(SLAT)的64位处理器,可以通过以下步骤在Windows操作系统中进行:
-
打开命令提示符(CMD): 在Windows中,按下Win + R键,然后输入"cmd"并按回车键,将打开命令提示符窗口。
-
运行系统信息命令: 在命令提示符窗口中,输入以下命令并按回车键:
systeminfo
3.查找 "SLAT 支持": 在显示的系统信息中,寻找 "SLAT 支持" 或 "Second Level Address Translation (SLAT)" 相关的信息。
如果您的处理器支持SLAT,将会显示类似以下内容:
Hyper-V – SLAT 启用:是
3.需要在系统 BIOS 中启用以下项目:
- 虚拟化技术 - 可能具有不同的标签,具体取决于主板制造商。
- 硬件强制数据执行保护。
以我自己的联想小新14举例,开启bios是通过novo按钮——关机后,找到电脑接口卡槽附近的一个小孔(类似手机的电话卡针孔),它会有逆时针方向的标识,用回形针类似物戳一下就可以了(会有戳到1个按钮的感觉)
然后就UEFI/BIOS界面(用于初始化硬件组件、加载操作系统和其他程序),通过键盘方向键和回车键选择BIOS setup进入BIOS设置
确保自己的虚拟化是开启的(设置为enabled),不同型号名字不一样,每个选项的具体说明会在右边有显示(英文不好的我就直接拍照翻译图片
(右边具体说明)
硬件强制数据执行保护 我选项里没有就不管了(啊?)
4.通过命令重新配置 Hyper-V (生效)
在带有管理员权限的 cmd 窗口或者powershell中(推荐)执行:
方法一:安装所有Hyper-V服务
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
方法二:重设Hyper-V配置(把Hypervisor的启动状态设置为自动,使得系统能够再次支持虚拟化功能)
bcdedit /set hypervisorlaunchtype auto
第2种方法在win10家庭版中,用cmd管理员运行后,重启时可能导致“未能正确启动”错误代码为0xc00000001(嗨,中间有几个0忘记了),但是可以进入安全模式,只需要再次用cmd管理员运行下面代码重启即可(将禁用Windows中的Hypervisor(虚拟化管理器)的启动)
bcdedit/set hypervisorlaunchtype off
5.如果经过上面的结果操作仍然报错,hyper-v可能已经损坏,重新启动
控制面板-程序-启动或关闭windows功能中,关闭hyper-v选项并重启
(我关闭hyper-v选择并重启后,powershell中运行命令bcdedit /set hypervisorlaunchtype auto后打开docker desktop后就已经解决了,尽管我并没有再次勾选hyper-v)
6.最后,万能重装法
打开docker还是报同样的错,那么重新安装docker
步骤:
(1)打开docker所在文件夹并全部删除
(2)在注册表中清空docker desktop文件夹,解决方法:
- 按下Window+R唤起命令输入界面,输入
regedit
打开注册表编辑 - 在地址栏输入
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Docker Desktop
- 将整个Docker Desktop组点击右键删除
- 再次重装即可
否则出现这个问题(卸载Docker没有卸载干净,导致无法重装