恢复对 efibootmgr 所做的更改

恢复对 efibootmgr 所做的更改

在尝试重新安装 Ubuntu 16.04 并删除以前的操作系统(Ubuntu 18.04)之前,我对 efibootmgr 做了一些修改。

安装是在 SSD(NVMe 驱动器)上进行的,而不是在硬盘上,这给我带来了各种麻烦。全部在 UEFI 中。

新安装无法启动,因为启动文件“丢失”。我之前对 efibootmgr 所做的更改即使在完全擦除以前的磁盘并完全重新安装后仍然存在。我所做的更改是添加条目 grub-NVMe 和 boot-NVMe(请参阅如何将启动分区的挂载点设置为 /boot/efi?)。这些条目仍然存在,还有一些新条目,总体看起来相当混乱。

现在 efibootmgr -v 的条目如下

efibootmgr-v

BootCurrent: 100C
Timeout: 1 seconds
BootOrder: 0000,0007,0009,0008,0006,000A,000B,0001,0002,0004,0005
Boot0000* ubuntu    HD(1,GPT,c58d6abb-383b-4281-   bb6d-4296ca698224,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* grub  VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0002* boot  VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0004* grub-NVMe VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0005* boot-NVMe VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0006* Diskette Drive          BBS(Floppy,,0x0)..GO..NO[.......+.D.i.s.k.e.t.t.e.  .D.r.i.v.e.........................rN.D+..,.\...........BO
Boot0007* M.2 PCIe SSD  BBS(HD,,0x0)..GO..NO........u.M...2. .P.C.I.e. .S.S.D....................A.............................q.........8..Gd-.;.A..MQ..L.E.I.7.7.M.0.0.0.1.1.0.8.0.7.K.0.K........BO
Boot0008* Hard Drive    BBS(CDROM,,0x0)..GO..NO........o.H.a.r.d. .D.r.i.v.e....................A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .4.Z.8.Z.L.X.9.1........BO
Boot0009* USB Storage Device    BBS(PCMCIA,,0x0)..GO..NO........m.U.S.B. .S.t.o.r.a.g.e. [email protected].;.A..MQ..L.3.7.2.7.0.9.4.6.7.7.5.9.1.5.2.6.2.9.2.4.2........BO
Boot000A* CD/DVD/CD-RW Device   BBS(USB,,0x0)..GO..NO........o.C.D./.D.V.D./.C.D.-.R.W. .D.e.v.i.c.e....................A...........................>..Gd-.;.A..MQ..L.Z.K.H.3.1.8.2.8.0.4. .4. . . . . . . . ........BO
Boot000B* NetWork   BBS(Network,,0x0)..GO..NO........o.N.e.t.W.o.r.k.........................rN.D+..,.\[email protected].;.A..MQ..L.Q.u.a.l.c.o.m.m. .A.t.h.e.r.o.s. .B.o.o.t........BO

这个设置可能是 Ubuntu 无法启动的原因吗?如有必要,如何将 efibootmgr 重置为“正常”状态?

BLKIDD:

/dev/nvme0n1p1: UUID="ABAB-B1AB" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="c58d6abb-383b-4281-bb6d-4296ca698224"
/dev/nvme0n1p2: UUID="da07a979-a548-4e38-9133-e543bc486a07" TYPE="ext4" PARTUUID="8cf26198-05be-4f47-aad7-44045c44b460"
/dev/sdc1: LABEL="UBUNTU 16_0" UUID="B6D7-AAC4" TYPE="vfat" PARTLABEL="Microsoft Basic Data" PARTUUID="cb704399-f613-41df-9175-a42e3d645032"

我只能从 USB 运行 Ubuntu Live,因为 Ubuntu 的安装无法启动。我正在尝试设置正确的条目以使整个过程正常工作,因为无论我如何安装 Ubuntu,fstab、grub 和 efibootmgr 都有奇怪的条目无法重置。

目标是能够在 UEFI 系统上的 SSD(nvme0n1p1)上安装 ubuntu,无需双启动,不会丢失数据,并使其正常工作,避免出现“未找到启动设备”的错误

efibootmgr-v

BootCurrent: 100C
Timeout: 1 seconds
BootOrder: 0000,0007,0009,0008,0006,000A,000B,0001,0002,0004,0005
Boot0000* ubuntu    HD(1,GPT,c58d6abb-383b-4281-bb6d-4296ca698224,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
Boot0001* grub  VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0002* boot  VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0004* grub-NVMe VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0005* boot-NVMe VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0006* Diskette Drive    BBS(Floppy,,0x0)..GO..NO[.......+.D.i.s.k.e.t.t.e. .D.r.i.v.e.........................rN.D+..,.\...........BO
Boot0007* M.2 PCIe SSD  BBS(HD,,0x0)..GO..NO........u.M...2. .P.C.I.e. .S.S.D....................A.............................q.........8..Gd-.;.A..MQ..L.E.I.7.7.M.0.0.0.1.1.0.8.0.7.K.0.K........BO
Boot0008* Hard Drive    BBS(CDROM,,0x0)..GO..NO........o.H.a.r.d. .D.r.i.v.e....................A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .4.Z.8.Z.L.X.9.1........BO
Boot0009* USB Storage Device    BBS(PCMCIA,,0x0)..GO..NO........m.U.S.B. .S.t.o.r.a.g.e. [email protected].;.A..MQ..L.3.7.2.7.0.9.4.6.7.7.5.9.1.5.2.6.2.9.2.4.2........BO
Boot000A* CD/DVD/CD-RW Device   BBS(USB,,0x0)..GO..NO........o.C.D./.D.V.D./.C.D.-.R.W. .D.e.v.i.c.e....................A...........................>..Gd-.;.A..MQ..L.Z.K.H.3.1.8.2.8.0.4. .4. . . . . . . . ........BO
Boot000B* NetWork   BBS(Network,,0x0)..GO..NO........o.N.e.t.W.o.r.k.........................rN.D+..,.\[email protected].;.A..MQ..L.Q.u.a.l.c.o.m.m. .A.t.h.e.r.o.s. .B.o.o.t........BO

请注意 efibootmgr 上有很多条目,其中大多数指向不存在的分区(99e27e...不在我的 blkid 列表中,更不用说 Boot0007 到 000B 了)。

猫/etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p2 during installation
UUID=da07a979-a548-4e38-9133-e543bc486a07 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=ABAB-B1AB  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/nvme0n1p3 during installation
UUID=1aa6ab58-4338-4c34-941d-6a9ee82046dc none            swap    sw              0       0

lsblk:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0          11:0    1  1024M  0 rom  
loop0         7:0    0   1.5G  1 loop /rofs
sdc           8:32   1   7.5G  0 disk 
└─sdc1        8:33   1   7.5G  0 part /cdrom
sda           8:0    0   1.8T  0 disk 
nvme0n1     259:0    0   477G  0 disk 
├─nvme0n1p3 259:3    0  15.9G  0 part 
├─nvme0n1p1 259:1    0   512M  0 part 
└─nvme0n1p2 259:2    0 460.5G  0 part 

/boot/efi 是空的,因此在 efibootmgr 上,尝试从 Boot0000 ubuntu /EFI/ubuntu/shimx64.efi 启动肯定行不通,因为没有这样的文件或文件夹。不明白为什么它是空的。

sudo parted /dev/nvme0n1p1 打印

Model: NVMe Device (nvme)
Disk /dev/nvme0n1p1: 537MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End    Size   File system  Flags
 1      0.00B  537MB  537MB  fat32

我觉得主要问题是没有 shimx64.efi 文件的空 /efi/ 文件夹,以及 efibootmgr 上奇怪的其他条目。

关于如何实现稳定设置有什么帮助吗?

相关内容