是的,Cobbler 在 CentOS 环境下是支持 UEFI 引导安装的,但需要满足一些条件和做好相应配置。
下面给你一个比较清晰的解答:
Cobbler 本身不直接实现引导协议,它是通过管理 PXE / GRUB2 / TFTP / DHCP 等组件来完成系统安装自动化的。
cobblercobbler-web(可选)tftp-servergrub2-efishimxinetd(或 systemd 管理 tftp)Cobbler 会自动生成部分配置,但 UEFI 和 BIOS 的引导文件不同:
# BIOS
filename "pxelinux.0";
# UEFI (x86_64)
filename "grubx64.efi";
Cobbler 可通过 dhcp.template 区分:
if option arch = 00:07 {
filename "grubx64.efi";
} else {
filename "pxelinux.0";
}
在 profile / system 层面:
cobbler system edit --name=node01 \
--netboot-enabled=true \
--enable-uefi=true
(不同 Cobbler 版本字段可能略有差异)
通常来自 CentOS 安装 ISO:
cp /var/www/cobbler/ks_mirror/centos7-x86_64/EFI/BOOT/grubx64.efi /var/lib/tftpboot/
cp /var/www/cobbler/ks_mirror/centos7-x86_64/EFI/BOOT/shim.efi /var/lib/tftpboot/
Cobbler 会生成:
/var/lib/tftpboot/grub/grub.cfg
确保其中包含正确的 linuxefi / initrdefi 指令。
❌ BIOS 和 UEFI 混用同一 DHCP 配置
❌ 没拷贝 grubx64.efi / shim.efi
❌ 安全启动但使用未签名 GRUB
❌ CentOS 6 的 Cobbler 对 UEFI 支持极差(不建议)
✅ CentOS + Cobbler 是支持 UEFI 的
✅ 推荐方案:
如果你愿意,我可以:
你现在用的是 CentOS 几 + Cobbler 几?