efi 无法再启动

efi 无法再启动

我曾经拥有 KDE Neon 和 Windows 10 双系统,所有这些都在我的 Asus s510U 膝上快乐地在一起。一周前,Windows 决定在没有询问我的情况下进行更新。它还改变了我所有的 BIOS 配置;这个操作导致我的 Linux 无法启动。所以我按顺序做了的是:

  1. 重新更改BIOS;现在Linux又可以正常工作了。
  2. 在使用这两个系统(我不记得多久一次)没有问题之后,我使用的是Linux,第二天当我启动计算机时,我遇到了黑屏。它不加载任何东西。 (我想我有 GRUB。)
  3. 所以我在 UEFI 模式下启动 live Mint USB 时遇到问题,但最后我启动了它,安装了启动修复,并且它应该可以修复它。 (值得一提的是,我在一个 500 MB 的单独分区中启动。)
  4. 但是当我再次启动时,它停在 grub 菜单中,而没有启动 Linux。
  5. 因为不行,我尝试手动重新安装grub,结果还是一样。
  6. 我尝试在 BIOS 上执行此操作... sdb1/EFI/neon/shimx64.efi,但它有不同的命名法。我找到了文件 shimx64.efi 但根本无法启动。

有人可以帮助我吗?我真的不知道如何解决它。我给您留下一些有关 boot.repair 和我的系统配置的信息。
开机成功修复!!!
启动修复网址: http://paste.ubuntu.com/p/ZnGHZ4HmG5/

http://paste.ubuntu.com/p/ZnGHZ4HmG5/

我的磁盘:

sudo fdisk -l

Disk /dev/sdb: 119.2 GiB, 128035676160 bytes, 250069680 sectors<br> 
Units: sectors of 1 * 512 = 512 bytes<br> 
Sector size (logical/physical): 512 bytes / 4096 bytes<br> 
I/O size (minimum/optimal): 4096 bytes / 4096 bytes<br> 
Disklabel type: gpt<br> 
Disk identifier: xxx

Device         Start       End   Sectors  Size Type<br> 
/dev/sdb1       2048    534527    532480  260M EFI System<br> 
/dev/sdb2     534528    567295     32768   16M Microsoft reserved<br> 
/dev/sdb3     567296 121028607 120461312 57.5G Microsoft basic data<br> 
/dev/sdb4  248430592 250068991   1638400  800M Windows recovery environment<br> 
/dev/sdb5  121028608 122052607   1024000  500M Linux filesystem<br> 
/dev/sdb6  122052608 126148607   4096000    2G Linux swap<br> 
/dev/sdb7  126148608 248429857 122281250 58.3G Linux filesystem<br> 

我的启动目录:

/mnt/boot$ ls -al 
total 194116
drwxr-xr-x  5 root root     4096 Jun 19 00:23 .
drwxr-xr-x 25 root root     4096 Jun 19 00:23 ..
-rw-------  1 root root  4049455 Jan 29 15:39 System.map-4.15.0-45-generic
-rw-------  1 root root  4051528 Jun  4 20:33 System.map-4.15.0-52-generic
-rw-r--r--  1 root root   217019 Jan 29 15:39 config-4.15.0-45-generic
-rw-r--r--  1 root root   217278 Jun  4 20:33 config-4.15.0-52-generic
drwxr-xr-x  2 root root     4096 Jun 19 00:20 efi
drwxr-xr-x  5 root root     4096 Jun 19 00:24 grub
drwxr-xr-x  5 root root     4096 Jun 19 00:22 grub.bak
-rw-r--r--  1 root root 57867618 Feb 24 02:26 initrd.img-4.15.0-43-generic
-rw-r--r--  1 root root 57863844 Feb 24 21:43 initrd.img-4.15.0-45-generic
-rw-r--r--  1 root root 57899212 Jun 19 00:23 initrd.img-4.15.0-52-generic
-rw-------  1 root root  8281848 Jan 29 16:11 vmlinuz-4.15.0-45-generic
-rw-------  1 root root  8294136 Jun  4 20:39 vmlinuz-4.15.0-52-generic

埃菲:

mint@mint:/tmp/boot$ sudo efibootmgr -v
BootCurrent: 0005
Timeout: 1 seconds
BootOrder: 0001,0000,0003,0002,0004,0005
Boot0000* Windows Boot Manager  HD(1,GPT,533df41a-4161-4850-a540-122090825ef0,0x800,0x82000)/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* neon  HD(1,GPT,533df41a-4161-4850-a540-122090825ef0,0x800,0x82000)/File(\EFI\NEON\SHIMX64.EFI)
Boot0002* Efi prueba    HD(1,GPT,533df41a-4161-4850-a540-122090825ef0,0x800,0x82000)/File(\bootx64.efi)
Boot0003* Hard Drive    BBS(HD,,0x0)..GO..NO........o.T.O.S.H.I.B.A. .M.Q.0.4.A.B.F.1.0.0....................A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . .4. .N.8.P.8.1.A.T.K........BO..NO........o.T.O.S.H.I.B.A. .T.H.N.S.N.K.1.2.8.G.V.N.8....................A...........................>..Gd-.;.A..MQ..L. . . . . . . . .8.4.S.N.0.1.9.K.M.T.T.Y........BO..NO........c.A.D.A.T.A. .U.S.B. .F.l.a.s.h. .D.r.i.v.e. .1.1.0.0....................A.......................6..Gd-.;.A..MQ..L.2.6.8.2.6.2.1.0.0.1.1.7.0.0.1.9........BO
Boot0004* linux efi pma HD(1,GPT,533df41a-4161-4850-a540-122090825ef0,0x800,0x82000)/File(\grubx64.efi)
Boot0005* UEFI: ADATA USB Flash Drive 1100, Partition 1 PciRoot(0x0)/Pci(0x14,0x0)/USB(2,0)/HD(1,MBR,0x70d993e5,0x800,0x1c3d800)..BO

在我的/etc/fstab评论中,评论了安装启动分区的部分。这很奇怪,因为我确信我不会这样做。

我的 grub.cfg 有这个: search.fs_uuid a5da64fd-c3bd-4689-a6ef-c5fc1ddd17ac root hd1,gpt7 set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg 它指向非启动分区。我有 2 个不同的引导目录,其中一个是分区(原始分区),另一个在 / 下。也许在一次更新中系统发生了变化......

答案1

因为不行,我尝试手动重新安装grub,结果还是一样。

您实际上并没有说出您在这里做了什么,所以我的建议可能是您已经尝试过的。但要手动重新安装 grub,请尝试以下操作:

  1. 引导至 Linux mint Live USB 并打开命令提示符。
  2. 挂载 Linux 根分区以及 、 和 所需//boot/任何分区/boot/efi/usr根据你的 Pastebin 的证据,我相信这对你来说意味着:
    sudo mount /dev/sdb7 /mnt
    sudo mount /dev/sdb5 /mnt/boot
    sudo mount /dev/sdb1 /mnt/boot/efi/
    
  3. 将内核文件系统挂载到该环境中

    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys  /mnt/sys
    sudo mount --bind /dev  /mnt/dev
    
  4. chroot 进入环境

    sudo chroot /mnt /bin/bash
    
  5. 重新安装grub,然后重新配置
    grub-install
    update-grub
    
  6. exit然后安全关机
  7. 开始没有薄荷 USB

这有可能为 Live USB 创建一个 grub 条目(/dev/sda?)。如果存在,则忽略它,当您进入正在运行的系统时,只需update-grub再次执行即可将其删除。


如果您在进入 grub 时仍然遇到问题,但它仍然将您带到 grub 救援菜单,那么接下来要检查的是 生成的配置是否install-grub正确。在 Mint 或 Ubuntu 中的 chroot 环境(上面列出)中,有一个配置文件位于/boot/efi/EFI/ubuntu/grub.cfg.我的包含这个:

search.fs_uuid 7fd75078-b1ac-4724-a63f-01980349e51a root hd0,gpt5
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

检查前两行是否正确。首先你可以检查uuid和分区。因此,对于我的系统, uuid 匹配/dev/sda5并得到hd0,gpt5.如果你的说的是hd0for ,请不要担心sdb。拔掉 USB Mint 后,这将是正确的:

sudo blkid
/dev/sda2: UUID="2641-087E" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="27141f73-5de4-4785-8894-3c774fae7e79"
/dev/sda5: UUID="7fd75078-b1ac-4724-a63f-01980349e51a" TYPE="ext4" PARTLABEL="Mint" PARTUUID="540b5b36-d3fe-405a-80b3-465518e2778a"
/dev/sda7: UUID="ae780d1a-3d09-49b7-bd96-c738772e1ecd" TYPE="ext4" PARTLABEL="Linux Home" PARTUUID="0fc32a26-808a-4f1c-8d15-3369da0b564b"

由于您有一个/boot分区,第一行应引用您的/boot分区,第二行应读取:

set prefix=($root)'/grub'

答案2

最后我找到了解决方案:
1)在grub救援模式下,运行“set”

2) 它显示 prefix=(hd1,gp1)/boot/efi/EFI/ubuntu/
3) 就我而言,由于我有 KDE NEON,文件夹 /boot/efi/EFI/ubuntu/ 不存在,但文件夹 / /boot/efi/EFI/neon/ 它确实存在。 。所以我将所有文件夹 /boot/efi/EFI/neon/ 复制到 /boot/efi/EFI/ubuntu/ 。在我的例子中,这
也是错误的(hd1,gp1),因为它应该指向 hd1,gpt5。但我 DINDT 改变了这一点并且它起作用了。
我更改的是文件 /boot/efi/EFI/ubuntu/grub.cfg,以使用 msdos 格式:

search.fs_uuid xkjdiw-18e9-4d0a-ac55-2skjdh8425f root hd1,gpt5 
set prefix=($root)'/grub'
configfile $prefix/grub.cfg

相关内容