未找到启动设备,按任意键重新启动机器 - 双启动 Windows 和 Ubuntu

未找到启动设备,按任意键重新启动机器 - 双启动 Windows 和 Ubuntu

我已经在 UEFI 中安装了 Windows 操作系统,并在 Legacy 中安装了 Ubuntu。

过了一段时间,当我尝试在 Ubuntu 中启动时出现错误。

error: unknown filesystem. grub rescue> _
grub rescue>

我解决了这个问题-未知文件系统,grub 救援

set root=(hd0,gpt7)
set prefix=(hd0,gpt7)/boot/grub
insmod normal
normal

但是当我尝试使用以下方法重新安装 Grub 时

sudo grub-install /dev/sda

错误 : -

grub-install: warning: this GPT partition label contains no BIOS Boot Partition; 
embedding won’t be possible.

之后我使用创建了一个分区

parted /dev/sda set 1 bios_grub on

并使用安装 grub

grub-install /dev/sda

问题就是从那时开始的。当我尝试以 UEFI 模式启动 Windows 时,出现以下错误:

No boot device found press any key to reboot machine.

我应该怎么办 ?

答案1

你写了:

之后我使用创建了一个分区parted /dev/sda set 1 bios_grub on

您指定的命令执行了不是创建一个分区;相反,它标记了你的现存的第一个分区作为BIOS 启动分区,GRUB 会直接将自身的一部分写入分区,而不使用文件系统。因此,当您重新安装 GRUB 时,您破坏了现有的第一个分区!该分区可能是您的EFI 系统分区 (ESP),您的 EFI 引导加载程序所在的位置,或者可能是其他 Windows 特定的引导分区。

您可以通过重置第一个分区上的类型代码并使用dosfsck其他文件系统恢复工具来克服此问题,但这种可能性很小;但您可能需要从头开始重新创建分区的内容。这是可能的,但很棘手。我没有一个可用的 URL 来说明这个过程,但请尝试在 Web 上搜索“修复损坏的 EFI 系统分区”等术语。ESP 基本上是一个 FAT 分区,其中包含 EFI 引导加载程序(它们是普通文件),因此恢复过程将涉及放置一个新的 FAT 文件系统并通过从其他来源复制文件或使用 Windows 恢复工具来恢复文件。

作为元评论,在已经以 EFI/UEFI 模式运行 Windows 的计算机上以 BIOS/CSM/传统模式安装 Linux 充其量只能算是件很困难的事情。最好以相同的模式安装两个操作系统,如所述在这一页中我写道。如果您没有破坏您的 ESP,那么将 Linux 的 EFI 引导加载程序添加到 ESP 以解决您的初始问题会相对简单,但现在您必须恢复您的 Windows 引导加载程序,并可能调整您的引导加载程序 NVRAM 条目。

祝你好运!

相关内容