在 Windows 上安装 Grub 时“无法找到合适的 stage1 设备”

在 Windows 上安装 Grub 时“无法找到合适的 stage1 设备”

我目前运行 Windows 7 64 位作为主操作系统,并希望双启动 CentOS 7。我目前在系统上使用两个驱动器,一个 120G 的 SSD 和一个 1TB 的 HDD。 Windows 已安装并从 SDD 驱动器启动,我使用 1TB 驱动器作为我的主存储。

我以为我可以简单地缩小 HDD 驱动器并使用未分配的空间来安装 CentOS,但即使安装看到 HDD 上有可用空间,如果我尝试选择驱动器,它也会出现此错误:未能找到合适的 stage1 设备

这是 Windows 7 磁盘管理的屏幕截图,显示了我想要执行的操作:

Windows 7磁盘管理截图

如何在未分配的空间上安装 CentOS 7,而无需重新安装 Windows?

答案1

结果我的问题是我在 UEFI 模式而不是正常模式下启动 CentOS 的 DVD。我所要做的就是将 DVD 启动到正常模式,然后在辅助驱动器的可用空间上安装 CentOS。

然后我这样做是为了启用双启动:

  1. sudo -s
  2. rpm -ivh http://download.fedoraproject.org/pub/epel/7/x86_64/repoview/epel-release.html
  3. yum -y install ntfs-3g and ntfsprogs
  4. os-prober
  5. grub2-mkconfig -o /boot/grub2/grub.cfg
  6. 将我的 BIOS 启动顺序更改为从第二个驱动器启动

我还使用此方法更改了默认的 grub 选项:https://unix.stackexchange.com/a/60230/11755

效果非常好!

答案2

该错误是因为 1 TB 卷具有 GPT 分区表,但没有 BIOS 引导分区,而在 BIOS 模式下引导时,GPT 卷的 GRUB2 需要该分区。请参阅此处的“GPT”部分:

http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html

从一些谷歌搜索来看,创建 GRUB2 分区作为第二硬盘上的分区,位于 Windows 数据分区之后。分区应该是 2 或 4兆字节大小,类型为“bios_grub”或 EF02;应该可以从 CentOS 安装程序创建该类型的分区。

请注意,如果您这样做,您仍然需要选择硬盘作为引导设备才能引导到 CentOS。

相关内容