如何修复损坏的 Fedora 启动分区

如何修复损坏的 Fedora 启动分区

问题:当我启动机器时,出现错误:

error: no such device: [Device address].
error: unknown filesystem.
Entering rescue mode...
grub rescue> _

背景资料

我将 Ubuntu 安装在 HDD 上,然后添加了 SSD,并在 SSD 上安装了 Fedora 27,然后擦除 HDD。当我启动系统时,总是出现以下错误:

error: file '/boot/grub/i386-pc/normal.mod' not found. Entering rescue mode

启动系统的唯一方法是进入我的 BIOS 并选择从 SSD 启动。然而,将 SSD 设置为最高启动优先级或禁用所有其他启动方法会导致进入 grub 救援提示符。我尝试通过运行来解决我的问题:

sudo grub2-install /dev/[my ssd]

这没有解决我的问题,所以我还运行了:

sudo grub2-install /dev/[my hdd]

之后我只能到达 grub 救援提示符。我按照说明从 grub救援 到 grub 以及中的说明这个答案但这让问题变得更糟。从 grub 救援提示符启动并运行时,ls (*[drive]*)我在 hdd 和 sdd 上都无法识别文件系统。

最后,我能够将系统修复回启动时的状态,即进入启动列表并手动选择正确的驱动器进行启动,否则计算机将进入 grub 救援提示符。

关于如何永久解决此问题有什么建议吗?谢谢。

系统信息:

操作系统:KDE 使用 LVM 旋转 Fedora 27

编辑:这是来自的输出fdisk -l /dev/[my SSD]

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sdb1  *       2048   2099199   2097152     1G 83 Linux
/dev/sdb2       2099200 488396799 486297600 231.9G 8e Linux LVM

答案1

我建议发生的事情是:

  1. 当您安装 Ubuntu 时,它处于 EFI 模式,并且主板(正确地)将 HDD 上的 efi 启动文件识别为启动过程的下一步。
  2. 您安装了 SSD,并在其上安装了 Fedora,但在安装过程结束时运行后询问在哪里安装 grub 时,没有在 SSD 上安装 grub 引导扇区os-probe
    1. 您擦除了 HDD,因此现在当计算机启动时,主板会从其芯片加载 efi.shim,读取它,然后查找不存在的文件,出现恐慌,并将您转储到 grub 救援提示符。
    2. 您必须手动告诉它在 SSD 上查找何处才能完成加载链。

我能想到两种可能的解决方案:

  1. 物理移除 HDD,然后在计算机机箱中仅使用 SSD 重新安装 Fedora。这将确保引导加载程序没有任何选择,只能加载到 SSD 上,并且主板会正确记录它。
  2. 使用实时启动实用程序,例如启动修复盘来自 YannuBuntu 的专门用于修复双引导系统上的 EFI 分区和加载错误。

相关内容