Skip to content

记一次把启动引导搞爆炸的经历

最近操作系统要开始做实验了,实验要求使用Ubuntu,本来实验是院计算平台、校高性能计算平台,实验室的机器或者自己装虚拟机四选一。但我总感觉虚拟机的io有问题,所以就装了实体系统,但是装完之后发现启动引导搞崩了。

我这个电脑(天选三锐龙7,2022)已经是双系统了(win+archlinux),虽然这个机器的arch不是我装的,但是这个机器的arch我用了很久。我当时抱着装着玩的心态装的arch,所当时我只分了50G的空间,用着用着后来就满了,后来这个系统我就没再用过。当时lnkkerst帮我装的,把grub和win放在了同一个分区,那个EFI分区里什么都有,之前倒是没有什么问题,但是后来我装了Ubuntu以后神奇的事情发生了,我都用的同一个EFI分区,EFI莫名其妙炸了,win明明是开机启动项的第一项,但是总是会被莫名奇妙的跳过进入grub。我当时不确定win启动引导的情况,我就在grub里面试了一下:

#链式加载
chainloader (hd0,gpt1)/EFI/Boot/Microsoft/bootmgfw.efi
#windows,启动!(甲亢脸
boot

有惊无险的开机了。win的祖传圆圈加载标志出来了,看来可能引导文件路径乱了,但实际上文件本身还活着,用链式加载还是能加载开机引导并正常开机的……但是即便这样这电脑也没法正常使用,我总不能每次用电脑都去grub里的命令行打指令吧,那也太草了。所以当下的任务就是重建引导。不考虑之前那个50G的Arch的话,咱们把整个EFI分区扬了以后给Ubuntu和arch单独做引导更明智一些。

我重启以后开机的时候狂抠F12,进入了Windows恢复选项,想在这重建引导,但是报错了,具体原因……我也不太清楚。

于是我就启动DiskGenius把整个EFI分区都扬了。为了确认分区状况:

powershell
#给EFI分区分配个盘符
diskpart
list disk
select disk 0
list partition
select partition 1
assign letter=Z
exit
#至此EFI被分配了盘符Z
cd Z:
ls

好嘞!EFI分区已经完全被扬了,ls出来结果是空的。下一步就是重建启动引导了~咱直接用一手bcdboot,官方钦定的重建工具~

powershell
bcdboot C:\windows /l zh-cn /s Z: /f ALL

这下齐活了,BIOS和UEFI的引导我甚至都重建了,我真的我哭死。

美美的重启,这怎么说都不应该有问题了吧?

嗯?怎么改了开机启动项还是进入了grub……神奇……狂抠esc进入开机启动项选择,选择windowsbootmanager,这下开开机了,然后我就想Ubuntu得重建一手啊,于是就下载了ventoy,下载Ubuntu和win11还有arch的镜像,准备做个多系统启动盘(后边要考的,记住这个)。

不出意外是要出意外了。

电脑下着下着突然就黑屏了,然后突然重启,然后再次进入grub……我手动启动windows以后又这样,突然黑屏然后重启,咱也不知道是怎么个事……第三次重启我人傻了,直接蓝屏了,测!

(类似这个,不过我的显示是EFI Signature Error什么巴拉巴拉的,让咱这幼小的心灵受到了极大的冲击)

我记得之前szw和我说过windows的bcdboot有一些不可名状的bug,反正用了大概率会出问题,所以这个EFI很显然是又寄了(勾巴,亏我前一天还夸windows的efi怎么搞都没见他死,言出法随开光圣嘴),我寻思我先去F12里的命令行,应该还能救一下,结果这下好了,重启以后按F12还是一样的蓝屏……咱就是说这靠他自己已经一点都没法救了呗……

小说到这个时候一般都会回收伏笔了吧,记不记得上文的ventoy多系统启动盘来着,这个盘幸亏赶在黑屏之前刻录出来了,要不然肯定得寄。这个盘成为了复活windows的关键。事到如今只有一个方法了,就是用PE救活这个机器,所以我们只需要一个微PE工具箱刻录出一个iso文件直接复制到ventoy的盘里就可以,然后就可以通过PE的dism++修复启动引导分区。

借了我室友的电脑,下载了微PE工具箱,给U盘刻录了一个winPE的iso,然后插到自己的电脑上开机以后用dism++成功修复启动引导分区。重启,拔掉U盘,更改开机启动项为windowsbootmanager,一气呵成,祖传的圆形加载动画又出来啦!看来这次确实是成了……绕开了bcdboot,估计这次应该是不会有bug了。

重启以后我一直用到现在,目前是没有发现突然黑屏然后重启的问题,感觉应该是没啥问题了,英语课抽空还把我那个乱七八糟的桌面整理了一下,C盘直接多出10G来。

如果非得说我今天干的最失败的事情,那一定是我夸windows的启动引导太坚强了怎么搞都没见他死,然后还发了个说说反手启动引导就G了,引来szw的嘲笑。太戏剧性了。

反手就把Ubuntu重装了,引导是单独的分区并且和windows不是同一个盘。

arch:所以就没有人管管我了么?引导分区扬了也不给我重建,6

成功复活,也是成就感拉满啊!