如何恢复 EFI 分区

如何恢复 EFI 分区

我在 Windows 10 旁边安装了 Ubuntu 16.04。我可以同时使用这两者,但是最近关闭 Windows 后,我无法在系统中找到安装的任何操作系统。

的输出sudo fdisk -l

Disk /dev/sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 80E0E76C-2FE1-4280-8631-B7CD3392DE91

Device          Start        End   Sectors   Size Type
/dev/sda1        2048    2050047   2048000  1000M Windows recovery environment
/dev/sda2     2050048    2254847    204800   100M EFI System
/dev/sda3     2254848    2516991    262144   128M Microsoft reserved
/dev/sda4     2516992  715181108 712664117 339.8G Microsoft basic data
/dev/sda5   715182080  716124159    942080   460M Windows recovery environment
/dev/sda6   716124160  716840959    716800   350M Windows recovery environment
/dev/sda7   716840960 1093474303 376633344 179.6G Microsoft basic data
/dev/sda8  1257979904 1267744767   9764864   4.7G Linux swap
/dev/sda9  1267744768 1268721663    976896   477M Linux filesystem
/dev/sda10 1268721664 1428858879 160137216  76.4G Linux filesystem
/dev/sda11 1428858880 1454657535  25798656  12.3G Microsoft basic data
/dev/sda12 1454657536 1465135103  10477568     5G Microsoft basic data
/dev/sda13 1465135104 1465147391     12288     6M Linux filesystem
/dev/sda14 1093474304 1257979903 164505600  78.5G Microsoft basic data

Partition table entries are not in disk order.

并且输出sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

NAME    FSTYPE     SIZE MOUNTPOINT LABEL
sda              698.7G            
├─sda1  ntfs      1000M            WinRE
├─sda2             100M            
├─sda3             128M            
├─sda4           339.8G            
├─sda5  ntfs       460M            
├─sda6  ntfs       350M            
├─sda7  ntfs     179.6G            New Volume
├─sda8  swap       4.7G [SWAP]     
├─sda9  vfat       477M            
├─sda10 ext4      76.4G /mnt       
├─sda11 ntfs      12.3G            HP_RECOVERY
├─sda12 vfat         5G            HP_TOOLS
├─sda13 vfat         6M            FORRAID
└─sda14 ntfs      78.5G            
sdb               14.9G            
└─sdb1  vfat      14.9G /cdrom     UBUNTU 16_0
sr0               1024M            
loop0   squashfs   1.3G /rofs 

上述输出表明 EFI 分区(sda2)没有文件系统类型,并且 340G 分区(sda4)(安装 Windows 的位置(Windows 中的“C”驱动器))没有文件系统类型。

另外,从实时 Ubuntu USB 运行 Gparted 时,会产生以下错误,并且 Gparted 的扫描过程会停滞。

Libparted Error: input/output error during read on /dev/sda

在 Google 上发现的上述问题可能是由于硬盘硬件故障造成的。

请建议该问题是否更像是软件问题或者 EFI 和“C”Windows 分区的损坏可能是由于硬件问题造成的。

如果是软件问题,请建议如何修复 EFI 分区。

答案1

  1. 首先,您需要一个 Windows 安装介质。如果没有,请手动将 Windows 刻录到闪存驱动器。

  2. 接下来,您必须从 BIOS 以 UEFI 模式启动 Windows 安装介质。通过为闪存驱动器添加新的启动项来执行此操作。找到启动盘文件(应位于 USB 闪存驱动器中的 boot 或 EFI 文件夹中)并选择它。

  3. 为新的启动项命名,并确保将此新项添加到启动优先级列表的顶部。

Windows 安装媒体现在将以 UEFI 模式启动。

  1. 选择修理你的电脑

  2. 然后排除故障

  3. 最后启动修复

然后重新启动计算机,Windows 应该再次启动。

答案2

这听起来像是因未能禁用快速启动和/或未能禁用休眠,在 Windows 中都是如此。如果保持启用状态,这些功能可能会导致共享文件系统(包括 EFI 系统分区 (ESP))上的文件系统损坏,从而导致引导加载程序文件丢失或损坏。如果这个假设是正确的,您应该在 Windows 启动后立即禁用这些 Windows 功能;但要做到这一点,您可能需要遵循 Windows 特定的修复程序,这些程序最好在 Windows 论坛上讨论,而不是在这里。如果 Ubuntu 无法启动,您可以使用引导修复来修复它;但最好这样做禁用导致问题的 Windows 功能。

正如您所说,硬件故障也可能是原因之一。您可以通过以下方式检查检查磁盘上的 SMART 状态。请注意,SMART 检查可以发现部分(但不是全部)类型的硬件故障,因此,即使 SMART 检查结果正常,您可能仍在查看磁盘问题,或某些与磁盘相关的硬件(如磁盘数据线)的问题。如果根本原因是硬件故障,则可能需要更换硬件。如果是磁盘,则需要将尽可能多的数据从故障磁盘转移到新磁盘,然后使用 Boot Repair 等工具和 Windows 专用工具来修复启动过程。

相关内容