跳转至

配置 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 未能成功下载

另请参阅

备注

UEFI shim 二进制文件的文件名通常是 shimx64.efishimaa64.efi,但也经常以 BOOTX64.EFIBOOTAA64.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 内核无法成功引导。请勿使用此选项。