云固件吧 关注:14贴子:39
  • 0回复贴,共1

计算机操作系统“霸权主义”的滋味

只看楼主收藏回复

今天咱们来讲一个计算机操作系统霸权的故事。
安装过云固件的朋友们,都知道云固件的部署模式分成四种,分别是外置模式、移动模式、独占模式和混合模式。这个故事和云固件独占模式有关系。云固件独占模式,就是计算机硬盘上只有云固件主程序这个唯一的引导程序,操作系统都是安装到了VHDx镜像文件里面,操作系统自己的引导程序也在VHDx镜像文件的ESP分区,注意是镜像文件的ESP分区,不是物理硬盘的ESP引导分区。
然后,有云固件微信群群友开始报告,说用得好好的云固件,Windows更新之后,重新启动,然后报错无法启动了,截屏发我一看,显示Windows引导程序的BCD文件丢失。
好嘛,云固件启动Windows镜像的BCD文件是云固件自动生成的,怎么可能丢失,让群友录像整个启动过程,竟然云固件启动界面都没有了,直接启动Windows,然后报错。
通过分析启动过程,可以发现云固件独占模式的计算机本来就应该只有云固件一个启动项,但是现在凭空多出来了Windows的引导启动项,并且还调整启动顺序,让Windows启动项排在第一位。
这是怎么回事呢?
这里面包含了两个关键点,第一,凭空多出来的Windows引导程序,第二,自动修改了启动顺序,这两个点缺一不可,只有这两个点都出现了,云固件独占模式下的第一顺序才会被改变。
咱们接下来分析,Windows引导程序怎么来的?聪明的网友,一定就猜出来了,肯定是Windows更新自动安装的。没错,必须是Windows自动更新带来的。可是,Windows更新,为什么外置模式、移动模式和混合模式不产生这种问题呢?外置模式和移动模式,云固件主程序是安装在外置存储设备上,内置硬盘应该包含Windows引导程序,所以Windows自动更新发现存在Windows引导程序,因此不会重新写入引导文件。混合模式,本身就是Windows引导程序和云固件主程序混用,而且云固件主程序还是单独添加的启动项,没有抢夺Windows的第一引导项,Windows自动更新也就不会再写入Windows引导文件。
通过这个分析,可以看到外置模式、移动模式和混合模式没有威胁到Windows的第一启动顺序项的地位。
但是,独占模式不一样了。桌面操作系统第一占有率的市场霸主,一看,TMD这台计算机竟然没有老子的引导项,这岂能忍受?哗哗哗的,不由分辨就给你把Windows引导程序写入内置硬盘的ESP分区了。当然,云固件的引导程序本身提供了/EFI/BOOT文件夹,三哥再过分,也不能覆盖/EFI/BOOT文件夹下云固件提供的引导文件。但是,为什么Windows却成了第一顺序引导呢?
这得说一下第二点,启动顺序的调整。
持续担当操作系统第一占有率的市场霸主,几十年下来,小弟无数。市场也默认计算机必须要安装Windows了。于是,各种主板厂商也是默认安装Windows是必须的。装机市场也是竞争激烈,而且电脑装系统还有各种不规范操作,为了降低售后服务成本,主板厂商甚至在BIOS里面做了调整,自动设置Windows为第一优先启动项。如果这台计算机没有安装windows,那么显然不能把Windows设置为第一启动项。那主板是如何判断的呢?就是通过检测ESP分区下是否有windows的引导程序文件bootmgfw.efi这个文件来实现的。
好巧不巧,上面第一点,霸权的三哥通过Windows自动更新强制给你写入了bootmgfw.efi,然后俯首甘为孺子牛的主板厂商就检测到了bootmgfw.efi,直接把Windows提升为第一启动顺序,管什么用户配置的云固件引导项,老子不认识你,不鸟你。
于是,Windows就成了这台计算机的第一引导项。
说到这里,大家明白整个过程了吧。话说,三哥和主板小弟把这启动的活整好了,也就没事了。可惜,偏偏三哥又掉链子了。Windows的引导程序文件都添加了,但是引导程序需要的配置文件BCD文件却没有添加。好端端凭空造了一辆法拉利,上路却发现没加油,让人笑掉大牙。至于为什么没有BCD文件,这里只能猜测了。云固件启动Windows后,Windows是运行在虚拟磁盘里面的,也就是不存在BCD配置文件需要的物理分区。于是,Windows自动更新程序发现无法创建成功BCD配置文件,估计多次尝试后,也无法成功,然后自动放弃创建了,留下了缺斤少两的Windows引导程序。
计算机重启的时候,阴差阳错的启动了缺少BCD配置文件的Windows引导程序,然后报错卡死在缺少BCD配置文件的Windows启动黑屏上了。
这计算机操作系统的大哥,遇到了初出茅庐的云固件,不给个下马威就不是大哥了,结果就坑惨了云固件用户了。
现在您明白了整个事情的来龙去脉,知道怎么解决这个问题了吗?
首先调整BIOS启动顺序,选择云固件启动项优先,就可以正常进入云固件了。其次,删除三哥创建的无效Windows引导程序文件。这样,就恢复如初了。
这时候,聪明的你就会问,Windows下次更新还会不会再出现这个问题呢?答案是,还会。那怎么办?有没有一劳永逸的解决方法?有的,咱们下个视频继续讲这个问题,挑战霸权主义!


IP属地:北京1楼2025-06-30 13:45回复