1. 问题现象:为什么新建的Win10虚拟机一启动就卡在Boot Manager
先说下我自己的经历。有次帮朋友装测试环境,VMware Workstation Pro 17里新建了一台Win10虚拟机,ISO镜像用的是从MSDN下载的官方原版,配置什么的都检查过一遍,确认没问题才点的开机。结果屏幕一黑,没出现熟悉的Windows logo,直接跳出来一个蓝色界面,上面写着"Boot Manager",下面跟着几个启动选项,选了哪个都进不去系统安装界面,反复重启都是原地打转。当时第一反应是镜像坏了,后来换了个镜像还是一样的现象,才意识到问题出在虚拟机的启动链路本身。
这个Boot Manager界面跟Windows系统蓝屏或者引导损坏不太一样,它其实是UEFI固件层面的启动管理器,类似实体机开机按F12或者Esc弹出的启动菜单。虚拟机里出现这个界面,说明虚拟机的固件已经启动了,但在它的启动顺序里没有找到一个可以被识别为"可引导操作系统"的设备,最后只能停留在固件的管理层等你手动干预。换句话说,问题不在于系统装没装好,而在于虚拟机根本还没来得及读你的安装介质,或者读到了但认为它不可引导。
新手最容易在这里被带偏,以为是自己下载的镜像有问题,或者VMware软件本身有Bug。实际上,绝大多数Boot Manager卡顿都跟三个因素有关:启动顺序配置、固件类型与镜像引导方式的匹配、以及虚拟磁盘上的引导记录状态。这三个因素单独拎出来都不复杂,但组合在一起就容易让人一头雾水。别急,我按排查顺序一个一个拆开讲,每一步都给你能直接照做的操作。
2. 先搞懂Boot Manager出现的原因再动手,少走冤枉路
2.1 UEFI、Legacy BIOS和启动顺序,它们是怎么协作的
要解决这个问题,得先明白虚拟机开机时到底发生了什么。VMware虚拟机默认的固件类型在Workstation 17里通常是UEFI,这跟现在实体电脑出厂预装Windows 10/11保持一致。UEFI模式下,固件会按照NVRAM里记录的启动条目去查找可引导的EFI应用,比如Windows Boot Manager(bootmgfw.efi)或者安装介质上的bootx64.efi。如果这些启动条目指向的设备不存在,或者设备上没有对应的EFI文件,UEFI就会退回显示内置的Boot Manager界面。
还有一个老古董叫Legacy BIOS,它不走EFI应用这条路,而是直接读取磁盘第一个扇区的主引导记录(MBR)去执行引导代码。如果你的虚拟机固件模式是UEFI,但虚拟磁盘是用MBR分区表格式化的,或者反过来,固件是BIOS而虚拟磁盘用了GPT分区表,固件就找不到它认识的引导信息,结果也会进入Boot Manager或者直接黑屏报错。
我建议你新建虚拟机时想清楚一个问题:你到底打算用UEFI还是Legacy BIOS启动?这个问题最省心的答案是——直接照着你下载的Windows镜像的引导方式选。现在的Win10 64位官方镜像默认支持UEFI启动,所以虚拟机的固件类型选UEFI是合理的。但如果你手头拿到的是一个老旧的、只支持Legacy BIOS引导的特殊镜像,那配置就得反过来。
2.2 常见的触发场景和典型特征
根据我这些年帮人排查问题的经验,Boot Manager界面出现的场景大致能分成四类,每一类的特征都不同,你对着看看自己属于哪一种:
第一种是新建完虚拟机,首次从ISO启动就卡住。这种情况最常见,核心原因基本就是启动顺序不对——光驱/虚拟CD-ROM没有放在第一启动项,或者ISO文件没有正确挂载到虚拟光驱里。表现是能进Boot Manager,能看到硬盘和光驱,但手动选择光驱启动也未必能正常引导。
第二种是装完系统重启后卡住。这种一般出在安装阶段就埋下了隐患,比如安装程序把引导文件写乱了,或者虚拟磁盘分区格式和固件模式不匹配。表现是Boot Manager里能看到Windows Boot Manager选项,但选了之后圆圈转两圈又跳回来。
第三种是在Boot Manager界面能看到一个"UEFI: VMware Virtual SATA CDRW Drive"之类的选项,但点击后直接报"No bootable device"或者卡黑屏。这种多数是ISO文件本身不可引导,或者镜像里的EFI引导文件不完整。
第四种是Boot Manager界面里的启动选项是空的,只有"Enter Setup"之类的基础菜单。这种最麻烦,往往是虚拟机的NVRAM里根本没写入任何有效的启动条目,常见于直接复制vmdk磁盘文件到新虚拟机,或者用第三方工具从物理机做过P2V转换的机器。
你自己遇到的是哪一种,心里先有个数,后面对照处理就对得上号了。
3. 实操排查:从最简单的启动顺序检查开始
3.1 虚拟机的启动顺序设置到底该怎么配
先说一下最常规、也最容易被忽略的操作步骤。打开虚拟机之前,先在VMware Workstation的虚拟机库界面选中这台虚拟机,点击菜单栏的"虚拟机" -> "设置",或者直接按Ctrl+D打开设置面板。在"硬件"选项卡里,看有没有"CD/DVD (SATA)"这个设备,确认它的右侧勾选了"启动时连接"选项,并且"设备状态"里选中的是你下载好的ISO镜像文件。
然后还要确认固件类型。还是在虚拟机设置面板里,切到"选项"选项卡,找到"高级"这一项,里面会有"固件类型"的选项,看清楚是UEFI还是BIOS。如果你之前新建虚拟机的时候稀里糊涂选了UEFI,现在想改,没那么简单——VMware不允许直接把已有虚拟机的固件类型改来改去,除非你重新建一台或者用命令工具折腾。所以这一步主要是确认,不是更改。
确认完这些,还要进虚拟机开机时按F2进入虚拟机的BIOS设置(注意,这个BIOS设置是虚拟机自带的,跟物理机的BIOS/UEFI设置类似)。在开机瞬间按F2,进到VMware BIOS界面里,找到"Boot"选项卡,看看启动顺序里第一项是不是"CD-ROM Drive"或者"VMware Virtual SATA CDRW Drive"。如果不是,用加减号或者方向键把它调到第一位。这里有个细节:只要你的CD/DVD设备里挂载了ISO文件,并且开启了"启动时连接",虚拟机的BIOS里就一定能看到这个光驱设备,如果你进到Boot菜单发现里面根本没有光驱选项,那就说明ISO挂载没生效,回软件主界面重新挂载一次。
调整完启动顺序后按F10保存退出,让虚拟机立刻从光驱引导。绝大多数新建虚拟机首次安装系统时卡Boot Manager,走到这一步就解决了。
3.2 为什么很多人调了启动顺序还是不行
有一种情况比较坑,就是你明明把光驱调到了第一启动项,重启后还是进了Boot Manager。这时候不要怀疑自己操作不对,先想一想:你挂载的ISO镜像到底是不是一个"可引导"的镜像?
微软官方原版Windows 10镜像(就是那种ISO文件里带efi文件夹、boot文件夹、sources文件夹的结构)当然是可引导的,但网上有一些精简版、修改版的一键安装镜像,它们可能只适合在PE环境下使用,或者引导方式已经被改动过,直接挂载到虚拟机里并不能从这个ISO启动。怎么验证?你可以用压缩软件打开ISO,看看根目录有没有efi文件夹和boot文件夹。如果有,基本可以判断这个ISO支持UEFI引导;如果没有,那这个镜像很可能压根不是标准启动盘。
另外还有一个非常容易踩的坑:ISO文件所在的位置。如果ISO文件放在一个网络盘、移动硬盘或者权限受限的目录下,VMware在虚拟机启动时可能没有权限读取它,表现就是光驱设备虽然在,但读不出引导信息。把ISO复制到本地磁盘的常规目录,比如C盘或者D盘的根目录再试一次,很多时候问题就没了。
别小看这一步,我自己就曾经因为把ISO放在一个用BitLocker加密的外置硬盘里,导致虚拟机反复进Boot Manager,解密后一切正常。VMware在虚拟化层面对外部存储的兼容性没有想象中那么无脑,越是看起来无所谓的小细节越容易坑人。
4. 引导模式不匹配是重灾区,重点检查这两个地方
4.1 固件类型和磁盘分区表格式的对应关系
如果你确认启动顺序没问题、光驱也正常,但Boot Manager依旧阴魂不散,那么基本可以往引导模式不匹配的方向查了。
这里我把原理说得再直白一点:UEFI固件只能引导GPT磁盘上的EFI系统分区(ESP分区)里的引导文件,Legacy BIOS只能引导MBR磁盘上的主引导记录。如果你的虚拟机固件设置成了UEFI,但是你的虚拟磁盘是MBR分区表,Windows安装程序在安装过程中其实是可以正常运作的——它知道该把引导文件写到哪,但固件不认识这个磁盘的引导结构,开机后找不到启动条目,就只能回到Boot Manager界面。
反过来说,固件是BIOS但磁盘是GPT也类似,只是表现可能更诡异——有时候能引导,有时候不行,取决于安装程序和镜像的具体表现。
怎么查看当前虚拟机的磁盘是用哪种分区表?在虚拟机里如果进不了系统,最简单的办法是使用一个PE启动盘(比如微PE、优启通之类的)引导虚拟机,进入PE后用DiskGenius或者Windows自带的磁盘管理看一下虚拟磁盘的分区类型。不过很多人在这一步就开始头疼了,因为PE镜像还得另外找,那有没有更省事的方式?
有。直接在VMware里给虚拟机挂载一个Win10安装ISO,从安装介质启动,在安装界面的第一个欢迎页按Shift+F10打开命令行,输入diskpart回车,再输入list disk回车,看磁盘的GPT列,带星号"*"的就是GPT磁盘,没有的就是MBR磁盘。这个方法不需要额外下载PE,改动用现有的ISO就能完成。
4.2 确认了不匹配之后怎么正确修复
如果查询下来发现确实不匹配,我建议的稳妥做法是:重新创建虚拟机,在新建向导里选好正确的固件类型,然后重新安装系统。因为这属于底层结构问题,单纯靠修复引导记录很容易反复。
举个例子:你原本用Legacy BIOS模式装好了Windows 10,但因为某些原因你想换成UEFI模式。这时候直接把虚拟机的固件类型改成UEFI是行不通的,因为系统盘是MBR格式,UEFI固件根本不认。就算你用工具把MBR无损转成GPT,引导文件还得重建EFI启动条目,VMware里没有图形化的工具干这个活,只能进PE用命令行操作,步骤繁琐且容易出错。
所以我的个人建议是:能用重装解决的,别折腾修复。尤其是虚拟机,重装成本远低于物理机,几分钟就能搞定。但如果你已经装了一堆软件和环境,确实不想重来,那就用PE引导进去,用DiskGenius的“转换分区表类型为GUID格式”功能先把磁盘转成GPT,然后用引导修复工具(比如NT6 Boot Repair、或者直接用bcdboot命令)重建EFI引导。命令行大致是:
diskpart sel disk 0 list vol sel vol 2 assign letter=S exit bcdboot C:\Windows /s S: /f UEFI这个场景下你只需要照着执行就行,重点理解bcdboot是把Windows系统启动文件复制到EFI分区,并生成UEFI启动条目,这样就接上了UEFI固件的引导链路。
5. 镜像本身有问题怎么办,换镜像也得讲方法
5.1 怎么判断是不是ISO镜像的锅
在网上搜VMware装Win10卡Boot Manager,搜出来的结果十个里有八个在说镜像问题。虽然我不完全同意这个判断——镜像问题占比没那么高,但确实是个不可忽视的因素。
怎么判断是不是镜像的问题?除了前面说的看根目录结构,还有一个更直接的办法:用这个ISO去引导一台实体机或者另一台配置不同的虚拟机。如果实体机U盘启动也失败,那基本可以断定ISO本身有问题。如果你手头只有一台机器,那就用排除法,下载另一个官方镜像试一下。
微软官方的ISO镜像下载渠道主要就是MSDN我告诉你(一个镜像站)、微软官网的Media Creation Tool,以及面向企业用户的批量许可中心。个人使用场景下,MSDN我告诉你网站下载的原版镜像最方便,各种版本都有,校验值也齐全。下载后用Hash工具(比如HashMyFiles)计算一下SHA1或者SHA256,跟网站上公示的校验码对比,一致就说明文件没被篡改或者损坏。
我自己遇到过一个奇葩情况:下载的ISO文件校验值完全正确,但VMware就是引导不了,后来发现是杀毒软件在后台偷偷隔离了ISO里的某个引导文件。解决办法也简单,暂时关闭杀毒软件的实时防护,重新解压或者重新挂载ISO再试一次。
5.2 用“直接使用物理磁盘”来绕开镜像引导问题
如果你确实需要一个能启动的Windows安装环境,但又卡在这个Boot Manager上,还有一个取巧的办法:把已经制作好的可引导U盘物理连接给虚拟机使用,绕开ISO挂载这个环节。
具体操作:先把U盘插到电脑上,确认里面的引导文件完整(用Rufus或者UltraISO做的启动盘都行)。然后在VMware的虚拟机设置里添加一个硬盘设备,类型选择“使用物理磁盘”,选择你的U盘对应的物理驱动器号。需要注意的是,这里选择的是整个磁盘还是单个分区,对引导结果有影响。一般来说,选择驱动器号之后,VMware会让你选择容量,通常建议选整个磁盘。
这种方法的好处是,它完全不依赖VMware对ISO文件的读取和解码,只要U盘本身能在实体机上引导,那么虚拟机里理论上也能引导。坏处是U盘被虚拟机占用期间,宿主机上无法同时访问它,而且对物理磁盘的操作有一定风险,建议操作前先备份U盘上的数据。
这个方法我一般只在排查问题时用,比如需要判断ISO和VMware之间到底是谁出了问题。如果U盘能引导,那说明VMware没问题,问题就在ISO;如果U盘也引导失败,那就要回头检查虚拟机的更多配置了。
6. 进阶排查:NVRAM启动条目丢失和虚拟机配置文件异常
6.1 什么情况下会丢启动条目,怎么修复
前面说的都是安装之前或者安装过程中的问题。还有一种情况是,你之前用过这台虚拟机,系统安装好了、跑得好好的,某一天突然开机就进了Boot Manager。这种时候问题多半出在虚拟机的NVRAM里启动条目丢失了。
VMware Workstation为每台虚拟机维护了一个NVRAM文件,扩展名是.nvram,存放在虚拟机目录下。这个文件里记录了虚拟机的UEFI启动设置。如果这个文件损坏或者被重置了,等效于实体机主板上的CMOS信息丢失,系统盘还在,但固件不知道该怎么启动它,自然就退回Boot Manager了。
修复方式分两步走:
第一步,先尝试进入Boot Manager界面,看里面是否有类似于"Windows Boot Manager"的选项。如果有,直接选中回车,多半就能正常进入系统。这种方法相当于手动执行了一次固件找引导文件的过程,不需要额外工具。
第二步,如果界面里没有"Windows Boot Manager"选项,仅有一个硬盘设备选项,那就先选硬盘设备启动一次看看。如果运气好能进系统,建议进系统后打开命令提示符(管理员),执行以下命令重建UEFI启动条目:
bcdedit /set {fwbootmgr} displayorder {current} /addfirst如果硬盘选项也进不去系统,说明EFI分区里的引导文件可能也受损了。这时候挂载Win10安装ISO,从安装介质启动进入修复模式,在“高级选项”里选择“命令提示符”,执行bcdboot命令重建引导文件,命令参考前面小节的写法。
6.2 配置文件.vmx里隐藏的固件开关
每台VMware虚拟机都有一个.vmx配置文件,存放在虚拟机目录下。这个文件可以说是虚拟机的“硬件清单”,里面记录了固件类型、内存大小、CPU核数、硬盘类型等所有参数。当你排查Boot Manager时,这个文件也值得看一眼。
用记事本打开.vmx文件,查找一行类似如下的内容:
firmware = "efi"看到这行说明虚拟机固件是UEFI模式;如果写的是bios,说明是Legacy BIOS模式。有时候这个配置文件会被某些工具意外修改,比如你把虚拟机目录里的文件拷贝到另一台电脑、用旧版本Workstation打开新版本创建的虚拟机,固件设置可能会被重置,从而导致启动方式变化。
还有一个值得检查的参数是:
efi.restrictedFeatures = "v2"这行也不是关键,关键是如果.vmx文件里有一行内容为:
uefi.allowDualBoot = "FALSE"或者类似限制UEFI行为的配置,可能干扰启动条的生成。但一般情况下你不需要修改它,只要确认firmware这一行符合你的预期就行。
修改.vmx文件之前,务必先关闭VMware Workstation,确保虚拟机关机状态,不要在有虚拟机运行的时候改。改完保存后重新启动虚拟机即可。
6.3 复制虚拟机的正确姿势,别让“克隆”坑了你
如果你不是从头新建虚拟机,而是从别人那里拷贝了一台现成的虚拟机,或者用VMware的克隆功能导出了一台虚拟机,那Boot Manager问题也很常见。原因在于克隆时虽然vmdk磁盘文件被复制了,但新生成的.nvram文件和.vmx文件不一定和原虚拟机的引导状态完全一致。
尤其是使用“克隆”功能时,如果源虚拟机用的是动态磁盘且有多个快照,克隆出来的新虚拟机可能需要重新指定启动磁盘。怎么检查?开机进Boot Manager界面,看在启动选项里列出的磁盘设备是不是你期望的那块虚拟磁盘。如果Boot Manager里显示的硬盘设备是一块没有任何系统的旧盘,而你的系统盘是另一块,那就需要调整虚拟机的硬盘启动顺序——在虚拟机的BIOS设置里的Boot菜单中调换硬盘设备的顺序。
这里有一个很少被注意的细节:VMware虚拟机可以挂载多块虚拟磁盘,VMware BIOS设置里的硬盘启动顺序不是说只有一块硬盘就没问题。如果你添加了一块新的虚拟硬盘作为第二块盘,某些版本的VMware会默认把新盘排在旧盘前面,而新盘又是一块空盘,Boot Manager自然找不到系统。
所以,排查Boot Manager时不仅要在虚拟机设置面板里确认ISO、光驱,还要进BIOS设置里看清楚硬盘设备的排列顺序。这跟前面说的启动顺序检查其实是一件事,只是很多人都只注意了光驱,忽略了硬盘本身也有次序问题。
7. 磁盘控制器类型也会导致引导失败?这个坑很隐蔽
如果你遇到的情况是:Boot Manager界面能看到设备,选择硬盘启动后提示“找不到操作系统”或者直接黑屏,而那台虚拟机又是从别的环境迁移过来的,那么有一种概率很小但确实存在的坑——虚拟磁盘的控制器类型不兼容。
VMware虚拟机支持的虚拟磁盘控制器类型主要有三种:IDE(或者叫PATA)、SATA、SCSI(具体可以是LSI Logic或BusLogic)。新建虚拟机时,向导会根据你选的客户机操作系统自动推荐一种控制器类型。比如装Windows 10,默认会给SATA控制器;装老一点的Windows XP,默认给IDE。
问题出在Windows系统对磁盘控制器的驱动支持上。Windows 10的安装镜像内置了大量磁盘控制器驱动,所以正常情况下用SATA、SCSI都没问题。但如果是你自己改过虚拟机的.vmx配置,或者从VirtualBox等其他虚拟化平台迁移过来(比如有人先用VirtualBox装好Win10,再导出为vmdk给VMware用),磁盘控制器类型就可能在迁移过程中发生改变。
如果虚拟机开机后能识别到硬盘,却读不了引导信息,检查一下虚拟机设置面板里硬盘的“虚拟设备节点”是什么类型。在“硬盘”设备的“高级”选项里,能看到“虚拟设备节点”投一个下拉菜单,显示“SCSI 0:0”、“SATA 0:0"、"IDE 0:0”之类的字样。对应改成Windows系统能识别的控制器类型再试一次。
注意,这台虚拟机已经装了系统的话,改控制器类型可能导致系统蓝屏(因为原来的控制器驱动和新控制器对不上),所以这个方法只适合在虚拟机还没装系统、或者你有把握系统里有通用驱动的情况下使用。拿不准就保持默认设置,别乱动。
8. 给新手的一套完整流程建议,照着做基本不会出错
8.1 新建虚拟机时的最佳实践步骤
按我现在比较顺手的方式,建一台装Win10的虚拟机可以这样操作:
打开VMware Workstation,点击“创建新的虚拟机” -> 选择“典型(推荐)”,下一步选“稍后安装操作系统”,这样向导就不会自动帮你加载ISO,可以避免启动顺序这类问题一开始就被设错。然后选择客户机操作系统为“Microsoft Windows”和“Windows 10 x64”,命名好虚拟机存放位置,分配磁盘大小,建议至少60GB,选中“将虚拟磁盘存储为单个文件”(方便后续复制迁移)。在“自定义硬件”里设置内存(建议4GB以上)和CPU数量,添加Win10的ISO镜像到CD/DVD设备里,勾选“启动时连接”。
这个过程中有一点很关键:不要在向导里就点“完成”然后立刻开机。先把虚拟机设置里的固件类型确认一下(一般默认UEFI就OK),然后开机,进BIOS设置里把CD-ROM Drive设为第一启动项。再次重启,就可以正常进入Windows 10的安装界面了。
可能有人会问:为什么要“稍后安装操作系统”而不是直接把ISO挂上去?因为我遇到过向导自动安装模式下,ISO里的自动应答文件被误读的情况,导致安装流程变得不可控,有时候就莫名卡在某个引导环节。手动控制每一步,至少能清楚地定位问题发生在哪一阶段。
8.2 安装完成后还需要做什么
系统装好、能正常进入桌面之后,不要立刻觉得万事大吉。为了确保以后不会一开机就莫名其妙进Boot Manager,建议顺手做两件事。
第一件事,在虚拟机里关闭“快速启动”功能。Windows 10默认开启快速启动(Fast Startup),这本质上是一种混合启动模式,它会把内核会话保存到休眠文件里,下次开机时直接读取。在虚拟机环境里,快速启动有时候会造成启动链路的异常,尤其是你做了快照回滚或者克隆之后,虚拟机的NVRAM状态和快速启动缓存之间可能对不上,导致下次开机的引导异常。我遇到过不少虚拟机Windows 10系统在快照回滚之后进不去系统的问题,关掉快速启动之后基本都消停了。设置路径:控制面板 -> 电源选项 -> 选择电源按钮的功能 -> 更改当前不可用的设置 -> 取消勾选“启用快速启动”。
第二件事,确认虚拟机的VMware Tools已经安装到位。VMware Tools不仅提供剪贴板共享、拖拽文件这些便捷功能,它还包含一些虚拟化环境下的必备驱动,对系统稳定性和磁盘性能都有正向作用。在虚拟机菜单栏点击“虚拟机” -> “安装VMware Tools”,然后在虚拟机里运行安装程序,一路下一步重启即可。装好VMware Tools之后,虚拟机的磁盘控制器和显卡驱动都会被正确识别,某些跟引导相关的隐性小问题也会一并消失。
9. 常见问题速查清单
我把这些年排查Boot Manager时遇到的高频问题整理成一个表格,方便你下次遇到问题时快速对照。
| 现象特征 | 优先排查方向 | 可能的解决动作 |
|---|---|---|
| 全新虚拟机,从ISO启动即进Boot Manager | 启动顺序、ISO挂载状态 | 进虚拟机BIOS设置,把光驱调到第一启动项;确认ISO文件路径可读 |
| Boot Manager里有光驱选项,选后报No bootable device | ISO镜像本身不可引导 | 检查ISO根目录是否有efi/boot文件夹;换官方原版镜像 |
| 装完系统重启后进Boot Manager | 固件类型和磁盘分区表不匹配 | 确认UEFI对应GPT,Legacy对应MBR;必要时重建引导 |
| 系统之前能用,某次开机后进Boot Manager | NVRAM启动条目丢失或损坏 | 进Boot Manager手动选Windows Boot Manager;用bcdboot重建引导条目 |
| 复制/克隆虚拟机后进Boot Manager | vmx或nvram文件与新虚拟机不匹配 | 检查firmware参数;在BIOS设置里调整硬盘启动顺序 |
| Boot Manager里看不到任何磁盘设备 | 虚拟磁盘控制器配置异常 | 检查硬盘控制器类型是否被改动;确认虚拟磁盘文件存在且未损坏 |
表格里列的都是我实际遇到过的场景,不是从文档里搬来的理论。每个问题的修复方法在前面章节都展开讲过,你直接翻回面对应小节操作就行。
10. 我个人的几点补充心得
最后说点文档里查不到的东西。在VMware里折腾Windows虚拟机,Boot Manager问题看起来五花八门,但根源永远是固件、磁盘、引导文件这三者的匹配关系。你把这个三角关系搞清楚了,很多奇奇怪怪的问题都会自动归位。
从实用角度出发,我建议新手尽量避免使用网上那种精简版、优化版系统镜像去装虚拟机。虚拟机最宝贵的是环境纯净性和可复现性,精简版系统固然省了部分时间和磁盘空间,但它在引导层面、驱动层面经常藏着你看不见的改动,一旦出问题排查起来远比省下来的那点成本要贵。直接用MSDN我告诉你的原版镜像,你至少能保证引导链路是微软默认的标准行为。
还有一个比较发散但很实用的小技巧:虚拟机的vmdk磁盘文件建议定期做快照,尤其是在系统刚装好、所有驱动都装完、常用软件都装完这三个节点分别做一次快照。快照的好处是,如果之后某天开机进了Boot Manager,你可以直接回滚到上一个正常状态,而不是重新安装系统或者手动修引导。虚拟机时代最值钱的就是这种低成本的容错能力,何必浪费时间跟固件死磕。
回到开头那个我自己遇到的案例。当时排查到最后,发现既不是ISO镜像坏了,也不是启动顺序没调好,而是虚拟机NVRAM文件在创建过程中因为宿主机强制重启被写坏了,重启后无法生成有效的启动条目。我把原来的.nvram文件删掉,让VMware重新生成一个默认的NVRAM,虚拟机再次开机就正常进入了安装界面。删NVRAM是个很少被官方文档提到、但在关键时刻特别管用的操作,当然操作前记得把虚拟机目录备份一份,毕竟这个文件虽然小,里面也是有点东西的。
以后再遇到Boot Manager界面,先别急着慌,按顺序检查启动顺序、固件匹配、镜像文件、NVRAM状态,大概率就能在十分钟内定位到问题。技术问题说到底就是一层窗户纸,捅破了就不觉得难了。