配置 UEFI shim 镜像¶
语法¶
shim [--timeout <timeout>] [<extra options>] <uri|image>
示例¶
下载并配置一个 shim(如需要)¶
shim http://192.168.0.1/shimx64.efi
通过 shim 引导 RHEL 安装程序(如需要)¶
#!ipxe
set mirror http://192.168.0.1/rhel/BaseOS/x86_64/os
kernel ${mirror}/images/pxeboot/vmlinuz initrd=initrd.img inst.repo=${mirror}
initrd ${mirror}/images/pxeboot/initrd.img
shim ${mirror}/EFI/BOOT/BOOTX64.EFI
boot
描述¶
下载指定的镜像,并在需要时把它配置为 UEFI Secure Boot shim 使用。可以使用 --timeout 选项指定下载进度超时时间(毫秒)。
如果 iPXE 运行在 BIOS 环境中,或 UEFI Secure Boot 已禁用,或引导当前选中的镜像不需要 shim,下载会被完全跳过。
命令状态¶
| 成功 | shim 下载成功,或下载被跳过 |
|---|---|
| 失败 | shim 未能成功下载 |
另请参阅¶
kernel- UEFI Secure Boot 指南
- 全部 iPXE 命令列表
备注¶
UEFI shim 二进制文件的文件名通常是 shimx64.efi 或 shimaa64.efi,但也经常以 BOOTX64.EFI 或 BOOTAA64.EFI 之类的 UEFI 默认引导文件名发布。
UEFI shim 的设计中包含了几个奇怪的取舍,通常使其无法直接执行 Linux 内核。可以构建一个不受这些问题影响的定制 shim,但这对最终用户没有帮助,因为任何定制构建的 shim 都不会带有 UEFI Secure Boot 签名。因此 iPXE 内置了若干变通方案,让 Linux 发行版签名发布的 shim 二进制文件可以原样使用。
有几个额外选项可用于禁用 iPXE 针对 UEFI shim 问题的变通方案:
--require-loader选项可用于禁用 iPXE 对 "shim lock" 协议入口点的自动处理。使用此选项会导致 Linux 内核无法成功引导。请勿使用此选项。
--allow-pxe选项可用于禁用 iPXE 对提供给 shim 的 API 选择的自动处理。使用此选项会导致 shim 尝试通过 TFTP 重新下载内核和 initrd。请勿使用此选项。
--allow-sbat选项可用于禁用 iPXE 对 Secure Boot Advanced Targeting 元数据变量的自动处理。使用此选项会导致 Linux 内核无法成功引导。请勿使用此选项。