和平常一样,在我结束使用Windows并点击更新并关机,在那一刻我只当这次windows更新是一次无足轻重的事情,不会对我的电脑造成什么影响。

但下一秒,我转到Linux系统,发现了一些不对劲的事情。

我在refind直接启动Linux,在最开始还一切正常,直到中间出现了一个90秒的等待:

1

90秒倒计时结束后,就无法启动至系统了:

Dependency failed for file system check
Dependency failed for local file system

然后系统进入了emergency状态,但是可以使用终端。

而且grub也进入了rescue界面,引导自然是有问题了。

我看了一下磁盘分区,发现Windows的10GB的Recovery分区与Linux系统的分区的顺序互换了。全靠windows在我的电脑里驰骋。

修复Linux

看起来是某个分区出现了问题。

我简直一头雾水。

这个被一直执行某个任务的E4F3的分区我查了下是不存在的。然后看了看fstab,发现这个E4F3是要被挂载到/boot/efi的。看来这个分区本来应该是我的ESP,不知道Windows更新做了什么事情让ESP的UUID改变了。

fstab

之后我就直接用device path而不是UUID了。

修复Grub

看起来grub.cfg中也是用UUID来定位ESP的,所以这次就出现了问题。

使用两行命令重装一下就能修好。(但是grub会被添加到uefi boot的第一顺序)

$ sudo grub-install
$ sudo grub-mkconfig -p /boot/grub/grub.cfg

再用efibootmgr更改一下启动顺序(我是用refind的)

$ sudo efibootmgr -o 0001,0002,0003...

我实在不明白,Windows更新你怎么那么事事呢