0%

虚拟化嵌套搭建指南

虚拟化嵌套搭建指南

说通俗点,在虚拟机中使用hyper-v

前言

​ 作为一个docker使用者,在开发和调试的过程中使用繁琐的命令行是比较折磨的。尤其是像我这种对命令不熟悉的小白,每次都要翻越手册和笔记。于是,docker官方提供了能运行在3个系统上的docker desktop,并且随着版本不断地更新和迭代,docker desktop已经能覆盖绝大多数学习时用到的命令,极大程度简化了学习成本。

​ 可以这么说,如果你是刚入门的小白,把docker基础命令过一遍,然后再去使用docker desktop,可以让你直接成为一个半资深的docker使用者。

​ 但是,由于docker desktop安装时默认安装c盘,只能通过软连接的方式把应用装到其他盘里,再通过一系列高端技巧把镜像仓库也运到别的盘里(反正我失败了)。而我们知道,往往一个镜像就几百MB甚至几GB的大小,下载下来后,你还需要本地进行修改保存。这样下来,docker吃起空间来完全是不讲道理的。那么能不能把docker desktop扔到移动硬盘上去,即插即用呢?

​ 于是,我想到了使用虚拟机VMware Station 16 pro,搭建一台win10虚拟机,并把它储存在移动硬盘上。正巧的是,微软官网最近也写了相关的文章,进一步证明了这一操作的可行性。

嵌套虚拟化

借助嵌套虚拟化在虚拟机中运行 Hyper-V

本机操作流程

检查本机cpu是否开启虚拟机

image-20221013133435372

这个没什么好说的,默认都开了,没开的去BIOS里慢慢折腾吧。

更新VMware到最新版本

(当前为16.2.4 build-20089737)

大坑来了。在更新的过程中,疯狂提示这个报错

image-20221013133834326

笑嘻了,这不有手就行?

点开这个,找个最新的下载一下,重启一下,完事咯~

Microsoft Visual C++ Redistributable latest supported downloads

感觉就是在侮辱我的智商。找个x64版本下载、安装、重启,点开VMware的更新,依然报这个错。于是折腾了一下午,想了很多可能出现问题的地方,依然无果。就是因为这个报错,差点直接让我放弃了进一步操作的念头。因为我也没有经验,只不过在零星的资料中,判断这一步可能是比较关键的一步。

那么这个bug到底是怎么解决的呢?

image-20221013134556235

麻了,在刚刚的链接里找个x86版本下载、安装、重启,更新完毕。焯!

升级虚拟机

image-20221013134759053

image-20221013135256244

更改虚拟机设置

image-20221013135533199

在处理器的虚拟化引擎里勾选第一项。然后看看能不能开启虚拟机。当然,如果这个时候启动成功没有报错,那么恭喜,你已经成功了。

启动时报错此平台不支持虚拟化的Intel VT-x/EPT

第二个大坑来了

启用或关闭windows功能

功能名称 开关状态
Windows沙盒 关闭
Hyper-V(家庭版是没有的) 关闭
虚拟机平台 打开

关闭内核隔离

打开Windows安全中心>设备安全性>内核隔离,关闭

cmd输入

1
bcdedit /set hypervisorlaunchtype off

重启电脑

此时再次打开虚拟机,应该没有什么问题了

win10虚拟机操作流程

这个就是正常的安装docker的操作了,没什么难点和坑点,在我之前的笔记里也有详细地介绍。

方便本机访问虚拟机

桥接+复制,开机后ipconfig即可。

启动docker desktop报错wsl出了问题

下载一个wsl.msi,安装完重启一下虚拟机即可。

参考资料

VMWare安装报错:此安装程序要求您重新启动系统以完成 Microsoft VC Redistributable安装,然后重新运行该安装程序。

此平台不支持虚拟化的Intel VT-x/EPT

-------------本文结束感谢您的阅读-------------