记一次Windows 系统更新导致双系统无法启动的修复过程

记一次 Windows 系统更新导致双系统引导错误,无法启动的修复过程

背景

这台电脑是其他办公室淘汰下来,给到了我们办公室 —— 这不是重点。给我们的时候,他们的描述是“配置实在是太低了,你们看看能不能用”。我们看了一下,AMD PRO A8870 R7,8G 内存,256G SSD,加装了 1T HDD,用 CPU-Z 跑了个分,性能堪比 i7-2700K。

这个配置的机型,居然他们还安装了 Adobe CC 2020 的几乎全部组件——甚至包括了这么吃配置的 After Effects;打开看了一眼,他们上次还处理着一个十几个图层的视频。高呼一声 AMD YES!

由于配置还是有点低了,我们最后决定安装 Kali Purple 作为主要操作系统,Windows 10 作为备用系统。本来没什么问题,但是办公室的有线网炸了一段时间,老板捐的无线网卡驱动只能安装在 Windows 上。考虑到这个电脑平时也没什么用,就把网卡插上去,连接无线网,再同时接入有线网——做网关用,让办公室其他电脑能联网。(参考:记办公室网从完全炸掉到勉强能用的修复过程

本来这还没什么问题的,但是我们当时忘记关闭 Windows 的自动更新了,夜里面下载了更新包,然后自动重启了。结果就是,第二天早上一到办公室,我发现这台电脑卡在了 GRUB rescue 里面……

问题详细描述

首先我不知道发生什么了,战战兢兢,直接反手一个强制关机,再启动还是卡在了 GRUB rescue 里面。

(想象一下那会我迷惑而惊讶的表情)

再强制重启,狂按 F12 ,选中了 Windows Boot Manager 按 Enter ,然后就进入了 Windows 10 的更新页面。

我一下子明白了发生了啥,等呗。

更新没完,大概是到了 90% 多的时候重启了,我也没管,听见了特别响的风扇声音——开机自检,过去狂按 F12 ,再进入 Windows Boot Manager,然后就,继续更新。

接下来进入了 Windows 10 22H2 的欢迎页面。哦,大版本更新是吧。看了一眼,固定在任务栏上面的 Edge Legacy 没了。

本来应该没什么问题的对吧,但是我想着现在的情况是,GRUB 炸了,是不是应该修一下……

修理 GRUB

重启,默认引导是 Kali 但是无法正常读取引导区,然后就卡在了 GRUB rescue 里面。

ls

一看我嘞个去一大堆盘。我哪记得哪个分区哪个盘对应哪个盘啊。还好,我们能用ls看盘的信息。

ls (hd2,gpt1)
ls (hd2,gpt2)
ls (hd2,gpt3)

就像这种样子,每个分区都试一下,最后只有一个分区是ext2而能被认识,别的都打不开。

ls (hd2,gpt6)/
ls (hd2,gpt6)/boot

那就没问题了。再看一眼set,发现rootprefix的分区都不是这个分区。难怪不认识文件系统,当然就打不开了嘛。

那就改呗:

set root=(hd2,gpt6)
set prefix=(hd2,gpt6)/boot/grub
insmod normal
normal

进入了熟悉的 GRUB 选择界面,选了 Kali,进入了 Kali。

正常启动了。

完结撒花~

正要庆祝修理完工……

然后我重启了电脑,还是回到了 GRUB rescue 里面。

我又重复了一遍上面的操作,进入了 GRUB 选择界面。我那会还没想着怎么处理默认的set,就准备选 Windows Boot Manager,结果发现,卡启动转圈页面了!

修理 Windows Boot Manager

感觉到接下来会发生不得了的事情了,强制重启,狂按 F12 ,选中了 Windows Boot Manager 按 Enter ……进入了 Windows 10 的恢复界面。

既然之前 Windows 10 能正常启动,我就没管直接退出,试图正常启动,然后,卡在了启动转圈页面,过了一会一个蓝屏 DPC_WATCHDOG_VIOLATION。接着重启进入了 Windows 10 恢复界面。

大事不妙,我想着是不是 Windows 10 的引导区坏了。但是我既没有 PE 也没有安装盘!硬着头皮用恢复界面里面的修复引导工具,果然还是没用。

先进 Kali,看了一眼硬盘文件还在,引导区/boot/efi/Microsoft/Boot也还在,什么都还在。

松了一口气,问题应该不大~

重启,进入 Windows 10 恢复界面,然后进入了命令提示符。

bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd

然后,重启,还是进入了 Windows 10 恢复界面——没修好。再进入了命令提示符。

cd /d C:
dir

发现这边根本就没有Windows文件夹!仔细一想,这不是那个 HDD 里面的内容嘛?系统我记得是装在 SSD 里面的啊!

cd /d D:
dir

这下对了。原来是因为这次更新导致分区表给改了,找不到分区了,导致不论是 GRUB 还是 Windows Boot Manager 都无法正常启动。

bcdboot D:\Windows /l zh-cn

重启,无法启动。安全模式,启动成功。

当我看到熟悉的 Windows 10 桌面的时候,我感觉我已经快要成功了。

再重启,普通模式,启动失败,卡在了启动转圈页面。

啥情况?我又进入了安全模式,看了一眼C:\Windows,为什么这个时候 SSD 又变成 C 盘了呐?再一看,没有 D 盘了,HDD 是 E 盘。

bcdboot C:\Windows /l zh-cn

重启。

Windows 10 正常启动成功。

过两天修一下 GRUB 吧,理论上就所有问题都解决了~不过现在情况是,一方面办公室的有线网还没修好,另一方面我也怕再修一下又出问题了,所以就先这样凑合着用吧。

总结

更新大版本之前务必记得备份引导,并准备好 PE 或者安装盘。在更新之前,最好先将引导区备份到其他地方,然后再更新。在安装双系统之前,更改分区表的时候不要把不认识的分区给直接删了,不然可能新生成备份分区而不是使用之前预留的分区,导致引导区找不到分区而无法启动。

posted @   Vincentson  阅读(255)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示