如何修复损坏的 /boot/efi 分区?

如何修复损坏的 /boot/efi 分区?

我的电脑最初安装了 Windows 10,但后来我双启动了 Kubuntu,然后从电脑中完全删除了 Windows 10。当我安装不同的发行版时,我注意到它们多次安装 GRUB2 失败,但启动修复应用程序修复了这些问题,但我知道 /boot/efi 分区有问题,我不知道如何修复它。也许我可以尝试重新制作它,但我不确定怎么做。我需要重新安装 Windows,这个问题仍然影响我尝试安装的任何操作系统。

“findmnt /boot/efi”输出:

darkbrave_@kubuntu:~$ findmnt /boot/efi
TARGET    SOURCE    FSTYPE OPTIONS
/boot/efi /dev/sda2 vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859
darkbrave_@kubuntu:~$ 

“sudo fdisk -l /dev/sda”输出:

darkbrave_@kubuntu:~$ sudo fdisk -l /dev/sda
[sudo] password for darkbrave_: 
Disk /dev/sda: 223.57 GiB, 240057409536 bytes, 468862128 sectors
Disk model: WDC WDS240G2G0A-
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: DD13C831-F5D0-48B1-A747-DF7233C3E57A

Device         Start       End   Sectors  Size Type
/dev/sda1       2048   1087487   1085440  530M Windows recovery environment
/dev/sda2    1087488   1292287    204800  100M EFI System
/dev/sda5  364007424 468860927 104853504   50G Linux filesystem
darkbrave_@kubuntu:~$ 

“sudo fdisk -l /dev/sda2”输出:

darkbrave_@kubuntu:~$ sudo fdisk -l /dev/sda2
Disk /dev/sda2: 100 MiB, 104857600 bytes, 204800 sectors
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: dos
Disk identifier: 0x500a0dff

Device      Boot      Start        End    Sectors   Size Id Type
/dev/sda2p1      1948285285 3650263507 1701978223 811.6G 6e unknown
/dev/sda2p2               0          0          0     0B 74 unknown
/dev/sda2p4        28049408   28049848        441 220.5K  0 Empty

Partition table entries are not in disk order.
darkbrave_@kubuntu:~$ 

答案1

您的输出没有任何异常,您可以成功启动系统。这表明您的 EFI 系统分区没有问题。

常见的错误是混淆启动模式(传统模式与 UEFI 模式)。在安装操作系统之前,您应该检查分区表,如果您进行多重启动,则应检查其他操作系统是以哪种启动模式安装的。

所有操作系统都应安装在相同的启动模式下,以实现正确的多重启动。

您描述的症状主要出现在您尝试在具有 GPT 分区表的磁盘上以传统模式进行安装时。在这种情况下,bios_grub需要额外的分区才能正确安装 grub,如果此分区不存在,则安装失败。没有安装程序为您创建此分区,您必须手动创建。

您可以在固件设置中禁用传统启动(CSM),以避免这种混淆。

相关内容