![移动驱动器后 Grub 无法启动](https://linux22.com/image/157758/%E7%A7%BB%E5%8A%A8%E9%A9%B1%E5%8A%A8%E5%99%A8%E5%90%8E%20Grub%20%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8.png)
所以我有一台 Debian 9 机器,里面有 5 个硬盘。我尝试将这些驱动器移至新机器并希望它们能够启动。当我这样做时,我得到了“normal.mod not found”,它让我去 grub 救援。
在尝试了每个版本的 grub 修复之后,我没有取得任何进展。所以我将驱动器移回到原来的机器中,认为让它再次工作会更容易吗?
好吧,现在它变得“文件系统未知”并让我进入 grub 救援。我再次尝试了各种 grub 救援,并且启动修复其中大多数失败是因为它们不是在 UEFI 模式下启动,但它们不会在 UEFI 模式下启动,通常是因为它们还说“文件系统未知”。
所以刚才我启动了一个实时 Ubuntu 并安装了启动修复,然后用它来设置一个 MBR,认为这比不工作的 gpt efi grub 更好,但现在它说找不到操作系统。这是这样做的输出日志:https://pastebin.com/46gjUB3p
对于某些上下文,是的,我知道过去我确实在决定从所有不同的驱动器启动,但 /dev/sdc1 是 /root /dev/sdd1 是我的 EFI grub 分区,现在 /dev/sdb 是马布尔群岛
我还尝试了 BIOS 中的每个启动顺序,并物理拔掉除 sdc 和 sdd 之外的所有驱动器,并且遇到了相同的问题。
我在使用linux方面比较有能力,所以我会尝试任何事情,但我显然不太擅长找出问题所在。
答案1
如果您无法通过 启动grub rescue
,您可以安装超级Grub2磁盘到 USB 拇指驱动器以启动到 Debian 并重新安装 grub。
指示:
如果尚未完成,我建议您将所有驱动器放回原处,以防止驱动器编号出现问题。确保您的 BIOS 设置为启动
UEFI
模式而不是Legacy
启动模式。如果它设置为UEFI/Legacy
模式,请确保将其设置为UEFI first
。准备一个拇指驱动器超级Grub2磁盘。您可以像大多数 ISO 一样将其写入拇指驱动器,可以直接
cp
写入设备,dd
也可以使用Win32DiskImager来自 Windows。从拇指驱动器启动,选择“检测并显示启动方法”并启动列出的 Debian 内核或
grubx64.efi
.重新安装grub作为
root
:- 仔细检查您是否在 UEFI 模式下启动,目录
/sys/firmware/efi
应该存在。 - 确保您的 EFI 系统分区
/dev/sdd1
已安装在/boot/efi
. 重新安装
grub-efi
软件包(可能没有必要,但不会造成伤害):apt-get install --reinstall grub-efi
重新安装 grub 到磁盘包含您的 EFI 系统分区。设备名称是可选的:
grub-install /dev/sdd
更新grub:
update-grub
取出拇指驱动器并重新启动。
- 仔细检查您是否在 UEFI 模式下启动,目录
检查您的 BIOS 设置。更新/新创建的条目应该是第一个启动条目。
再次重新启动。