修改Windows系统启动配置后发生蓝屏错误的解决办法
最近在寻找进入实验室双系统电脑ubuntu子系统的方式,结果根据网上的一个帖子讲的使用msconfig更改了启动设置(有选择的启动->正常启动),结果再重启的时候直接蓝屏无法正常开机了。
具体错误为:\windows\system\winload.efi 缺失或存在错误
错误代码:0xc000000e
在考虑了多种方案之后,最终还是硬下头皮选择自己使用cmd来调试,毕竟不到万不得已不会选择重装系统,另外我自己也没有windows启动盘或者装有Win10 PE的U盘,也不太会制作这样的U盘。
最后循着最后蓝屏前修改过系统启动设置的线索顺藤摸瓜,用bcdedit命令找到了可能出错的地方:
下图是正常情况下cmd输入bcdedit命令后得到的结果
而在电脑蓝屏后输入bcdedit命令发现所有启动管理器/加载器的device/osdevice项的值均变成了unknown。
因此解决的办法也很简单,即手动重新将这些unknown值设置为正确的位置。这里主要参考了微软关于UEFI 的 BCD 系统存储设置的文档。
按照文档里所述,通过如下命令为启动管理器/加载器分配device/osdevice值:
Bcdedit /set {bootmgr} device partition=s:// system partition
Bcdedit /set {default} device partition=c:
Bcdedit /set {default} osdevice partition=c:
注意这里设置时使用的盘符或分卷号请根据自己电脑的实际情况进行选择,如果不清楚的话需要使用diskpart工具查询。使用方法在上文中的微软文档内有介绍。
最后在穷举所有盘符/分卷号之后终于试成功了,泪目,花了将近30h终于把坑填上了。