Ubuntu Grub/EFI 无法启动 - 我真的需要帮助

Ubuntu Grub/EFI 无法启动 - 我真的需要帮助

伙计们,我真的需要帮助。我非常绝望。我有一个具有多重引导(Win10、Ubuntu、Kali)的 EFI 分区,然后出于某种原因我想重置引导并格式化它。然后一切都变糟了。我查了每一个网站,所有关于这个的资料,但都不起作用。我会告诉你我所知道的:

  • 我的分区表是 GPT(我不知道它是什么意思但是......)

  • 我尝试过各种方法重新安装 grub,但都没有用

  • sda1 是 grub 或 efi 所在的位置(我稍后会打印 fsdisk)

  • 当我进入计算机的 BIOS 菜单时,我没有看到任何 hd 选项

  • 我正在使用 Ubuntu Gnome 15.10 liveCD,我的所有文件和分区仍在这里

这就是我所知道的。我也尝试过使用 boot-repair,但没有成功。不过它给了我这个:http://paste.ubuntu.com/14154768/

这是 fdisk -l

Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 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: 469F8C92-03DC-43CC-A5F3-810410000919

Device          Start        End    Sectors   Size Type
/dev/sda1        2048     532479     530432   259M BIOS boot
/dev/sda2      532480     794623     262144   128M Microsoft reserved
/dev/sda3      794624 1393434623 1392640000 664.1G Microsoft basic data
/dev/sda4  1393434624 1394356223     921600   450M Windows recovery environment
/dev/sda5  1394356224 1492013055   97656832  46.6G Linux filesystem
/dev/sda6  1492013056 1523263487   31250432  14.9G Linux swap
/dev/sda7  1523263488 1887262719  363999232 173.6G Linux filesystem
/dev/sda8  1887262720 1953523711   66260992  31.6G Linux filesystem


Disk /dev/sdb: 3.7 GiB, 3926949888 bytes, 7669824 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: gpt
Disk identifier: 786BCBC6-FF1A-47D4-9240-D446AB032537

Device     Start     End Sectors  Size Type
/dev/sdb1   2048 7669790 7667743  3.7G Microsoft basic data

请帮我。

编辑 1:我也尝试重新安装 ubuntu。我有一个单独的主分区,所以很容易,它再次工作,但没有 windows,然后尝试恢复 windows,grub 也停止工作了。

答案1

Oldfred 的观点是正确的。以下是详细说明并提供进一步的建议:

  • 在某个时候,你错误地将分区类型代码/dev/sda1EFI 系统分区 (ESP)对于BIOS 启动分区。前者是启动 EFI 模式计算机所必需的,而后者是 GRUB 在 BIOS 模式下从 GPT 磁盘启动时使用的。单独进行此更改不会造成问题,但将其与其他错误(如安装 GRUB 的 BIOS 模式副本)结合起来可能会造成灾难性的后果,而且似乎已经造成了灾难性的后果。要纠正此问题,您必须做两件事:
    • 使用 或 GParted 将“bios_grub 标志”更改为“启动标志” ;或者在、或parted中将类型代码从 EF02 更改为 EF00 。(这两个程序系列识别类型代码信息的方式不同。)如果您未能进行此更改,则将来可能会遇到更多问题。gdiskcgdisksgdisk
    • 您还必须在分区上创建一个新的 FAT32 文件系统。GParted 提供了一个 GUI 工具来执行此操作;或者您可以sudo mkdosfs -F 32 -n ESP /dev/sda1从 Ubuntu 终端键入以执行此操作。
  • Windows 以 EFI 模式从 GPT 磁盘启动。因此,对于你的情况,你不是想要接近 BIOS 模式启动,即使是 Ubuntu。不幸的是,许多教程建议在安装 Ubuntu 时启用 EFI 的兼容性支持模块 (CSM)。这是一个坏主意,原因我将在下文详细说明这里。看来您启用了 CSM(又称“旧式启动支持”或类似术语),这反过来导致(以及类型代码更改)GRUB 损坏了您的 ESP。您应该返回固件设置实用程序并禁用 CSM!这不会给你带来任何好处,而且可能会导致你将来陷入更大的麻烦。
  • 您必须重新安装 Windows 引导加载程序才能使其再次可引导。您应该在 Windows 论坛上询问如何执行此操作。
  • 您必须重新安装 Linux 的 EFI 模式引导加载程序才能使其再次可引导。引导修复应该可以做到这一点;或者你可以使用我的rEFInd,正如斯科特·斯滕斯兰(Scott Stensland)所建议的那样。
  • 完全重新安装两个操作系统是另一种选择,尽管这并非必需。此外,如果您不首先解决 CSM 的根本问题(或充分了解如何控制启动模式,这是一个棘手的问题)。

相关内容