我有一个双启动系统,AVLinux(基于 Debian 的发行版)和 Windows 11 安装在两个单独的分区中,我的 PC 使用 EFI。我的系统运行良好,直到昨天,当我启动 PC 时,Grub 的黑屏显示未知文件系统。错误消息和grub rescue>控制台以输入命令。
根据这个问题的第一个答案,我设法从 Grub 的救援控制台启动 Grub 的菜单,使用ls
这个控制台找到安装了 grub 的 Linux 分区,然后发出命令手动启动Grub 文件夹中的正常(hd0,gpt4)
内核模块。假设这是我的 Linux 分区(安装了 Grub),我发出了:
set prefix=(hd0,gpt4)/boot/grub
insmod normal
normal
获取 Grub 菜单并成功启动两个操作系统
不幸的是我必须在每次启动时发出相同的命令因为我无法摆脱那个屏幕......
我已经遵循了几乎所有的建议(比如我之前链接的建议),建议使用
sudo grub-install /dev/sda
sudo update-grub
命令(其中/dev/sda
指的是您要重新安装 Grub 的驱动器,对我来说应该是/dev/nvme0n1
)但没有任何变化。
当然,我也尝试遵循类似这样的建议,建议从 Linux 的实时版本(对我来说是 Kali Linux)重新安装 Grub,方法是挂载我的 Linux 分区(再次,安装了 Grub 的分区/boot/grub
)、我的 EFI 分区、efivars 分区,然后使用 chroot 发出 grub-install:
sudo mount /dev/sdXY /mnt
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
mount -t efivarfs none /sys/firmware/efi/efivars
grub-install /dev/sdX
update-grub
exit
其中:sdX
= 磁盘 | sdXX
= efi 分区 | sdXY
= 系统分区(安装了 Grub 的分区)
但什么也没有改变。
我还尝试过efibootmgr
改变 bootorder 的顺序并禁用一些 bootnums,但没有结果。
我甚至尝试使用启动修复程序,并读取它解决了许多问题,但是 - 再次 - 没有任何效果......
似乎在启动的最初阶段,Grub 试图从错误的位置启动其菜单,因此我必须手动设置位置/boot/grub
才能获取菜单屏幕。不幸的是,我不知道如何检查这一点,如果可以,如何配置 Grub 以在正确的位置查找...
顺便说一句,我不确定,但我认为问题是在 Windows 更新后出现的。
/dev/nvme0n1p3
我的 Windows 分区在哪里,/dev/nvme0n1p4
Linux 的分区在哪里
这里是通过发出efibootmgr设置后获得的输出efibootmgr -v
:
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0002,0001,0006,0003,0007,0008,0009,000A
Boot0000* Windows Boot Manager HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\MX21\grubx64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0001* ubuntu HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\ubuntu\shimx64.efi)
Boot0002* MX21 HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\MX21\grubx64.efi)
Boot0003* debian HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\debian\grubx64.efi)
Boot0006* mx HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\mx\grubx64.efi)
Boot0007* Windows Boot Manager HD(1,GPT,8b97638e-a366-4f45-be4e-60f9ef16f8dc,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)..BO
Boot0008* UEFI:CD/DVD Drive BBS(129,,0x0)
Boot0009* UEFI:Removable Device BBS(130,,0x0)
Boot000A* UEFI:Network Device BBS(131,,0x0)
有人对此有线索吗?我不知道该尝试什么了……