因此,我尝试设置 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 分区。