添加 grub2 菜单项,错误:文件系统无效?

添加 grub2 菜单项,错误:文件系统无效?

因此,我尝试设置 ubuntu/windows8 双启动。运行后引导修复,有 2 个 ubuntu 条目(一个是恢复),4 个 windows 恢复条目和一个常规 windows 条目。后者给了我一个unknown command: drivemap, error: invalid EFI filepath 浏览多个其他论坛让我添加

menuentry "Windows 8" {
insmod part_gpt
insmod chain
set root='(hd1,gpt4)'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

到我的/etc/grub.d/40_custom以添加一个工作条目。新条目给我一个invalid filesystem错误。我正在寻找的 windows 分区是 sdb5 或 sdb9(一个是 windows 8,另一个是 ubuntu)我不确定是哪一个。有什么建议可以修复这两个条目?我上周买了这台电脑,从那时起我就一直试图运行双启动。我可以通过在我的 bios 设置中切换启动优先级来访问 windows 8 和 ubuntu,但我想通过 GRUB 访问它们。

答案1

blkid您在 pastebin 中发布的输出表明该分区/dev/sdb9应该是 Ubuntu 分区,因为它被格式化为 ext4。/dev/sdb5标签为“Windows8_os”,表明这是 Windows 8 分区(其较大的尺寸和位于 MS 保留分区之后的位置也表明这是正确的)。

如果确实如此,则看起来您的自定义 grub 条目在行gpt4中使用了错误的分区指针数字set root='(hd1,gpt4)'

GRUB2硬盘编号从 0 开始,因此计算机上的第一个硬盘为hd0,第二个为hd1,依此类推。

但是,GRUB2分割数字以开头1,表明您选择的分区gpt4第四分区在sdb,而不是第5个。

尝试将行更改为set root='(hd1,gpt5)',以便 GRUB 尝试加载第 5 个分区而不是第 4 个分区。它可能会给您一个“无效文件系统”错误,因为您当前的 grub.cfg 指向 MS 保留分区而不是实际的 Windows 8 分区。

相关内容