问题:当我启动机器时,出现错误:
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
我建议发生的事情是:
- 当您安装 Ubuntu 时,它处于 EFI 模式,并且主板(正确地)将 HDD 上的 efi 启动文件识别为启动过程的下一步。
- 您安装了 SSD,并在其上安装了 Fedora,但在安装过程结束时运行后询问在哪里安装 grub 时,没有在 SSD 上安装 grub 引导扇区
os-probe
。- 您擦除了 HDD,因此现在当计算机启动时,主板会从其芯片加载 efi.shim,读取它,然后查找不存在的文件,出现恐慌,并将您转储到 grub 救援提示符。
- 您必须手动告诉它在 SSD 上查找何处才能完成加载链。
我能想到两种可能的解决方案:
- 物理移除 HDD,然后在计算机机箱中仅使用 SSD 重新安装 Fedora。这将确保引导加载程序没有任何选择,只能加载到 SSD 上,并且主板会正确记录它。
- 使用实时启动实用程序,例如启动修复盘来自 YannuBuntu 的专门用于修复双引导系统上的 EFI 分区和加载错误。