EFI grub消失了,如何恢复?

EFI grub消失了,如何恢复?

我有双重启动(Fedora 和 Windows 10),在 Windows 出现故障后,机器仅使用 Windows 的启动加载程序启动,而不是像以前那样使用 grub2。

我怎样才能恢复grub2?

我尝试过的:

$ sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.5.7-300.fc24.x86_64
Found initrd image: /boot/initramfs-4.5.7-300.fc24.x86_64.img
Found linux image: /boot/vmlinuz-4.4.4-301.fc23.x86_64
Found initrd image: /boot/initramfs-4.4.4-301.fc23.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-f4a99c4a747b4f928c2ad16c434a731d
Found initrd image: /boot/initramfs-0-rescue-f4a99c4a747b4f928c2ad16c434a731d.img
Found linux image: /boot/vmlinuz-0-rescue-b80563ee4ffb43768b1936a46d9cd0d5
Found initrd image: /boot/initramfs-0-rescue-b80563ee4ffb43768b1936a46d9cd0d5.img
Found Windows Boot Manager on /dev/sdb1@/EFI/Microsoft/Boot/bootmgfw.efi
done

重启后,直接回到Windows。

[root@nightwatch] # efibootmgr -v         
BootCurrent: 0006
Timeout: 1 seconds
BootOrder: 0006,0000,0003,0001,0002
Boot0000* Windows Boot Manager  HD(1,GPT,d602a4af-b36c-4bf9-83b4-5d93295600bb,0x800,0x64000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.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  Hard Drive    BBS(HD,,0x0)..GO..NO........o.H.i.t.a.c.h.i. .H.D.S.7.2.1.0.1.0.C.L.A.3.3.2....................A...........................>..Gd-.;.A..MQ..L. . . . . . .P.J.9.2.1.2.Q.H.7.1.7.G.A.M........BO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.4.0. .E.V.O. .1.T.B....................A...........................>..Gd-.;.A..MQ..L.1.S.9.D.S.N.F.A.1.7.5.5.8.7. .F. . . . ........BO..NO........o.H.i.t.a.c.h.i. .H.D.T.7.2.1.0.1.0.S.L.A.3.6.0....................A...........................>..Gd-.;.A..MQ..L. . . . . . .T.S.6.F.7.0.H.M.X.2.K.W.K.4........BO..NO........o.H.i.t.a.c.h.i. .H.D.S.7.2.2.0.2.0.A.L.A.3.3.0....................A...........................>..Gd-.;.A..MQ..L. . . . . . .K.J.1.1.0.7.B.Y.X.H.P.Y.D.9........BO..NO........o.S.a.m.s.u.n.g. .S.S.D. .8.5.0. .E.V.O. .5.0.0.G.B....................A...........................>..Gd-.;.A..MQ..L.2.S.J.1.S.N.G.A.5.2.1.8.6.7. .J. . . . ........BO
Boot0002  CD/DVD Drive  BBS(CDROM,,0x0)..GO..NO........o.T.S.S.T.c.o.r.p. .C.D.D.V.D.W. .S.H.-.2.2.4.D.B....................A...........................>..Gd-.;.A..MQ..L.9.R.8.6.Y.6.F.A.0.B.5.0.Z.1. . . . . . ........BO
Boot0003* UEFI: Built-in EFI Shell  VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO
Boot0006* UEFI: (FAT) TSSTcorp CDDVDW SH-224DB  PciRoot(0x0)/Pci(0x1f,0x2)/Sata(4,65535,0)/CDROM(1,0x59,0x1680)..BO

这更有前途。那里没有 grub2 条目...

最后,如果有帮助的话:

; df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 7.9G     0  7.9G   0% /dev
tmpfs                    7.9G  1.9M  7.9G   1% /dev/shm
tmpfs                    7.9G  1.5M  7.9G   1% /run
tmpfs                    7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/mapper/fedora-root   50G   12G   36G  25% /
tmpfs                    7.9G  1.4M  7.9G   1% /tmp
/dev/sdb2                477M  184M  264M  42% /boot
/dev/mapper/fedora-home  865G   71G  751G   9% /home
/dev/sdb1                200M   45M  155M  23% /boot/efi
tmpfs                    1.6G   16K  1.6G   1% /run/user/1000
/dev/sdd1                1.9T  979G  885G  53% /media/Backups
/dev/sdc1                932G  474G  459G  51% /media/MediaVault
/dev/sda2                444G   46G  398G  11% /media/DataVault

最后三个是安装的 Windows 共享。遗憾的是,在 Linux 上挂载 Windows 磁盘比在 Linux 上挂载 Windows 磁盘更容易。

运行后grub2-install /dev/sdb,grub2确实加载了,但找不到任何操作系统可以启动。

如何解决这个问题?

此外,此信息是通过 rescutux 磁盘收集的但它没能帮我拯救靴子。

答案1

EFI 中的 Fedora 启动项似乎不知何故丢失了。

要恢复 Fedora 启动项,您可以在 root shell 中将 grub2 重新安装到磁盘:

grub2-install <YOUR_HDD_DEVICE>

例如:grub2-install /dev/sda

并确保grub.cfg下有一个工作文件/boot/grub2,如果没有这样的文件,您可以通过以下方式在 root shell 中重新生成它

  • grub2-mkconfig > /boot/grub2/grub.cfg
  • 或者grub2-mkconfig -o /boot/grub2/grub.cfg

相关内容