创建 GRUB 条目以引导进入 CentOS 安装介质

创建 GRUB 条目以引导进入 CentOS 安装介质

通常,安装 CentOS 7 时,您会下载 ISO,将其写入 U 盘并启动它。但是,我有一个独特的场景,我希望能够将 CentOS 7 安装文件放在系统的/boot/分区上,并创建一个可以启动到该环境的自定义GRUB2条目。然后可以使用它在同一系统上安装 CentOS 7。

我知道这听起来很傻,但我有我的理由。

经过一番研究,我试图弄清楚这是如何运作的。以下是我目前的想法:

  1. GRUB2将加载 CentOS 7 内核vmlinuzinitrd.img
  2. 初始化内核并加载initrd.img到内存后,dracut-initqueue服务启动。
  3. 然后,进程dracut-initqueue将尝试加载stage2包含安装运行时(在本例中为 Anaconda)的映像。
  4. 最后,CentOS 安装过程开始。

因此首先我...

  1. 下载了 ISO,挂载它并将/images/pxeboot/vmlinuz/images/pxeboot/initrd.img/LiveOS/squashfs.img(我相信包含stage2图像)文件复制到我的/boot/分区。
  2. 将以下条目添加到/etc/grub.d/40_custom
menuentry "CentOS 7 Installation" {
set root=(hd0,msdos1)
linux   /centos7-install/vmlinuz initrd=initrd.img stage2=/centos7-install/squashfs.img
initrd  /centos7-install/initrd.img
}

完成上述操作后,我希望至少可以加载 Anaconda,但它只是加载了“dracut-initqueue 超时”消息。遗憾的是,我没有找到任何日志来提示到底出了什么问题。

有人碰巧知道如何解决这个问题吗?

答案1

替换以下行

linux   /centos7-install/vmlinuz initrd=initrd.img stage2=/centos7-install/squashfs.img

linux   /centos7-install/vmlinuz inst.repo=<source>

完整安装 DVD 上的目录和文件的完整副本。您也可以从“启动”ISO 中提取文件,然后从“DVD”ISO 中复制文件。<source>请参阅http://host/path.treeinfo文档

当然,“按原样”使用此方法需要网络访问。

相关内容