![如何恢复 EFI 分区](https://linux22.com/image/891652/%E5%A6%82%E4%BD%95%E6%81%A2%E5%A4%8D%20EFI%20%E5%88%86%E5%8C%BA.png)
我在 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
首先,您需要一个 Windows 安装介质。如果没有,请手动将 Windows 刻录到闪存驱动器。
接下来,您必须从 BIOS 以 UEFI 模式启动 Windows 安装介质。通过为闪存驱动器添加新的启动项来执行此操作。找到启动盘文件(应位于 USB 闪存驱动器中的 boot 或 EFI 文件夹中)并选择它。
为新的启动项命名,并确保将此新项添加到启动优先级列表的顶部。
Windows 安装媒体现在将以 UEFI 模式启动。
选择修理你的电脑
然后排除故障
最后启动修复
然后重新启动计算机,Windows 应该再次启动。
答案2
这听起来像是因未能禁用快速启动和/或未能禁用休眠,在 Windows 中都是如此。如果保持启用状态,这些功能可能会导致共享文件系统(包括 EFI 系统分区 (ESP))上的文件系统损坏,从而导致引导加载程序文件丢失或损坏。如果这个假设是正确的,您应该在 Windows 启动后立即禁用这些 Windows 功能;但要做到这一点,您可能需要遵循 Windows 特定的修复程序,这些程序最好在 Windows 论坛上讨论,而不是在这里。如果 Ubuntu 无法启动,您可以使用引导修复来修复它;但最好这样做后禁用导致问题的 Windows 功能。
正如您所说,硬件故障也可能是原因之一。您可以通过以下方式检查检查磁盘上的 SMART 状态。请注意,SMART 检查可以发现部分(但不是全部)类型的硬件故障,因此,即使 SMART 检查结果正常,您可能仍在查看磁盘问题,或某些与磁盘相关的硬件(如磁盘数据线)的问题。如果根本原因是硬件故障,则可能需要更换硬件。如果是磁盘,则需要将尽可能多的数据从故障磁盘转移到新磁盘,然后使用 Boot Repair 等工具和 Windows 专用工具来修复启动过程。