微软周年更新破坏了我的重新引导加载程序

微软周年更新破坏了我的重新引导加载程序

我同时安装了 Windows 10 和 Linux。我使用了 UEFI。我的设置很复杂。首先我安装了 Windows,禁用了快速启动,然后安装了带有 Grub 的 Manjaro,但我更喜欢 rEFInd,所以我通过 chroot 安装了它并删除了 grub。

一切都运行完美,但在周年更新之后,当我重新启动时,我发现 rEFInd 已被 Windows Bootloader 取代,并且快速启动再次被启用。

为了修复它,我重新 chroot 并安装了 refind。它在第一次启动 Windows 之前一直有效。当我启动 Windows 时,refind 一直被删除。

我决定从 efi 分区中删除所有文件。再次安装了 refind。但现在我无法启动 Windows。我尝试根据以下问题通过紧急控制台恢复 Windows 引导加载程序: 如何从 Windows 修复 Windows 10 启动加载程序

但它不能修复 Windows 启动,而是我的 UEFI 在任何分区上都看不到任何引导加载程序。

我的分区:

sda      8:0    0 931,5G  0 disk 
├─sda1   8:1    0   300M  0 part 
├─sda2   8:2    0   100M  0 part /boot/efi
├─sda3   8:3    0   128M  0 part 
├─sda4   8:4    0 310,5G  0 part 
├─sda5   8:5    0   450M  0 part 
├─sda6   8:6    0 390,6G  0 part /mnt/1A6D432B224C53B6
├─sda7   8:7    0   221G  0 part /
└─sda8   8:8    0   8,4G  0 part [SWAP]

问题 1:如果 Windows 引导加载程序已从 EFI 分区中完全删除,如何恢复它?

问题 2:如何强制 Windows 在更新后不破坏我的引导加载程序?

PS:每次恢复 rEFInd 都很耗时。:(

答案1

“我尝试根据以下问题通过紧急控制台恢复 Windows 引导加载程序:如何从 Windows 修复 Windows 10 引导加载程序”

与 UEFI 启动无关。那里回答的问题是关于 MBR 启动的。


在 UEFI 引导扇区和 MBR 不用于引导!

UEFI 固件启动管理器正在直接加载操作系统加载器/启动管理器!

例如,UEFI 启动管理器直接加载 Windows 启动管理器或直接加载 GRUB(Linux 加载器)。

要修复 Windows 启动环境,您需要一个简单的命令:

bcdboot c:\windows /s V: 

其中 c:是 Windows 分区,V:是 EFI 系统分区。

不要忘记以 UEFI 方式启动 Windows 恢复 USB/DVD!

更多细节 -修复 Windows BCD

笔记:

1) bcdboot 修复完整的启动环境(不仅仅是 BCD)。

2)每次 Windows 升级时,“快速启动”都会重置为默认值!

3)“快速启动”是 Windows 设置(在电源选项中),“快速启动”是固件设置。

相关内容