我已经在 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 条目。
祝你好运!