我刚刚将 CentOS 7 添加到现有的 Ubuntu 系统(使用 GRUB 1.99)。当我执行 时grub-mkconfig -o /boot/grub/grub.cfg
,它会检测到 CentOS,并添加两个条目(一个看起来像正常,一个像救援)。但是,当我尝试启动它们时,我得到了error: you must load the kernel first
。
我该如何配置 grub 来启动 CentOS?我更喜欢自动配置,但如果需要的话,我会手动输入命令。
答案1
CentOS 7 附带 GRUB 2.02。1.99 很可能没有合适的内容来加载 CentOS 7 内核,因此您需要升级到 2.02。
您几乎已经完成了(运行grub-mkconfig
),但不幸的是,您需要先从 CentOS 7 救援磁盘(USB 或 DVD)启动,然后在 1.99 之上重新安装 GRUB 2.02。2.02 将识别并启动 Ubuntu,但反之则不行。
我强烈建议你在继续操作之前用 CloneZilla 之类的工具对你的硬盘进行拍照,以防万一,如果你还没有这样做,请阅读:
RHEL 7 系统管理指南 Fedora GRUB 2 指南
然后
- 从 CentOS 救援磁盘启动。
- 安装 grub 到 /dev/sda (或者你的硬盘设备 - 如果你有一个 IDE 驱动器,它可能是 /dev/hda)
- 退出救援外壳(重新启动机器)
GRUB 2 将启动。希望您的 CentOS 条目有效(除非 1.99 创建了错误条目)。
如果没有,你需要使用 GRUB 2 启动盘(如 Supergrubdisk.org)启动 CentOS
进入 CentOS 7 后,运行grub mkcnofig
命令以正确设置 CentOS 7 条目(它将检测 Ubuntu 安装)。