Windows 11 更新后无法在双启动或通过 UEFI 启动 Windows

Windows 11 更新后无法在双启动或通过 UEFI 启动 Windows

我有一个使用 Ubuntu 20.04 和 Windows 的双启动设置。今天我使用 Windows 更新将 Windows 10 更新到 Windows 11,但我丢失了 GRUB 引导加载程序(Windows 11 运行良好)

我设法通过更改 UEFI 中的启动顺序来恢复 GRUB,之后一切似乎都正常。然后,我运行了,sudo update-grub因为我读到你必须在这个论坛上这样做,输出中出现许多错误,重新启动了我的计算机,之后一切都出错了……现在,当我选择“Windows 启动管理器”时,我收到一个错误:

/EndEntire
error: cannot load image

我读到过可以通过启动 Windows 并运行一些命令来解决这个问题,但我无法再通过 UEFI 选择引导加载程序启动 Windows!如果我选择 Windows,我的电脑会重新启动,但失败这样做,默认为 GRUB又一次。看来 Windows 无法再启动了。

我尝试过的事情:

  • 再次禁用安全启动
  • boot-repair使用“修复 Windows 启动文件”选项运行
  • boot-repair使用“备份并重命名 Windows EFI 文件”选项运行
  • sudo update-grub多次运行

我第一次运行该工具时的启动修复结果:

输出update-grub

Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-72-generic
Found initrd image: /boot/initrd.img-5.15.0-72-generic
Found linux image: /boot/vmlinuz-5.15.0-71-generic
Found initrd image: /boot/initrd.img-5.15.0-71-generic
Found linux image: /boot/vmlinuz-5.13.0-52-generic
Found initrd image: /boot/initrd.img-5.13.0-52-generic
Found linux image: /boot/vmlinuz-5.11.0-46-generic
Found initrd image: /boot/initrd.img-5.11.0-46-generic
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings
done

输出fdisk -l

Disk /dev/nvme1n1: 931,53 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDS100T3X0C-00SJG0                      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: FFC58535-6B06-4DDC-81BC-ED4A4575504F

Device             Start        End    Sectors   Size Type
/dev/nvme1n1p1      2048  156250111  156248064  74,5G Linux filesystem
/dev/nvme1n1p2 156250112  234375167   78125056  37,3G Linux swap
/dev/nvme1n1p3 234375168  236328959    1953792   954M EFI System
/dev/nvme1n1p4 236328960 1701173247 1464844288 698,5G Linux filesystem


Disk /dev/nvme0n1: 476,96 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SKHynix_HFS512GDE9X084N                 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: AA11E4E4-987D-4872-88CD-DF2600D0C425

Device             Start        End   Sectors   Size Type
/dev/nvme0n1p1      2048     534527    532480   260M EFI System
/dev/nvme0n1p2    534528     567295     32768    16M Microsoft reserved
/dev/nvme0n1p3    567296  998166527 997599232 475,7G Microsoft basic data
/dev/nvme0n1p4 998166528 1000214527   2048000  1000M Windows recovery enviro

奇怪的是,即使通过 UEFI 启动 Windows 它也不起作用。

答案1

终于解决了!

由于 Ubuntu 的双启动和 Windows 10 的 Windows 更新,Windows 11 启动文件已损坏,甚至使用恢复闪存驱动器和故障排除选项也不起作用

解决方案

  1. 使用 Windows 11 恢复文件刷新 USB。前往https://www.microsoft.com/software-download/windows11并在另一台 Windows 机器上下载“Windows 11 安装媒体”文件。使用闪存 USB 选项运行安装程序。
  2. 使用刷新的 USB 重新启动计算机,并在 UEFI/BIOS 菜单中从 USB 驱动器启动以进入 Windows 11 安装 GUI。
  3. 选择一种语言,然后在第二步单击小“修复”按钮
  4. 从现在开始你可以关注这个视频https://www.youtube.com/watch?v=F72D7uL6cZg或继续阅读
  5. 选择“命令提示符”选项以在此恢复模式下打开 cmd。
  6. 类型diskpart
  7. list disk并选择原始 Windows 正在使用的磁盘select disk #(# 是磁盘编号)
  8. list partitionselect partition #选择 Windows 启动文件所在的分区号(每个 Windows 安装都会有这个。它通常是一个 300-500 MB 的分区。这里要小心)
  9. format格式化该启动分区
  10. 现在,为该启动分区分配一个字母assign letter=n:
  11. 选择通常存储文件的其他 WIndows 分区(这可能是列表中最大的分区)。使用select partition #
  12. 给这个分区分配一个字母“C”:asssign letter=c:
  13. exit
  14. bootsect /nt60 all /force。这只是更新所有目标卷以与引导加载程序兼容。
  15. 类型c:
  16. bcdboot c:\windows /s n: /f all(而不是n:使用您分配给启动分区的字母)
  17. 现在最后的步骤是:bootrec /scanos
  18. bootrec /fixmbr
  19. bootrec /fixboot(注意:这可能会导致您出现权限被拒绝的错误。如果出现该错误,请跳过此步骤并继续执行下一个命令。它对我来说仍然有效。否则,请谷歌搜索错误并尝试一些解决方案。)
  20. bootrec /rebuildbcd
  21. 退出 Windows 恢复模式并继续使用 Windows 11,现在它应该可以正常工作。

也感谢@olfred 的帮助。

相关内容