0

我正在尝试配置网络引导以安装不同的 Linux 操作系统版本。我有一台配置了 httpd、dhcpd 和 tftp 的 CentOS 源计算机。我的 http 服务器托管 ISO 映像的提取文件。

此时,我可以在尝试使用网络安装 CentOS 的另一台机器上获取 grub minu。但是,我无法在 grub 菜单中指定 linux 内核和 initrd 映像 http 位置的路径。我读过 grub2 支持通过 tftp 和 http 启动,但是,找不到一个明确的例子,其中 http 用于加载 linux 和 initrd 映像。我正在使用不支持 efi 的硬件,并且大多数搜索结果都指向通过 http 进行 efi 引导。我已经在目标机器上出现了 grub 菜单,只需要请求 grub2 使用 http 获取内核和 initrd。

我可以在网上找到一个片段,如下所示,但我不清楚如何指定 http 服务器路径等:

timeout=10
grub_default=1
menuentry 'Boot Linux Kernel over HTTP' {
    linux (http)/images/vmlinuz
    initrd (http)/images/initrd.img
}

在 grub.cfg 文件中使用 http 协议指定 vmlinuz 和 initrd 映像的语法是什么?

4

1 回答 1

0

在此处输入图像描述请注意,我用这种方法只取得了部分成功。(旧的 Ubuntu 迷你发行版可以工作,其中 INITRD 映像是“小”的)。在大多数情况下,即使在快速的本地网络中,请求也会超时。

set http_site=192.168.1.10:5000  # Showing you can set IP address and port.

linux (http,${http_site})/path/to/vmlinuz
initrd (http,${http_site})/path/to/initrd
于 2021-09-22T08:05:14.053 回答