选择菜单项¶
语法¶
choose [--menu <menu>] [--default <label>] [--keep]
[--timeout <timeout>] [--retimeout <timeout>] <setting>
示例¶
创建并显示一个简单的菜单¶
menu Please choose an operating system to boot
item fedora Fedora Linux
item win7 Windows 7
choose os
从菜单中选择并跳转到选中的脚本标签¶
choose target && goto ${target}
从菜单中选择,带默认项和三秒超时¶
menu
item linux Boot Linux
item shell Enter iPXE shell
item exit Exit to BIOS
choose --default exit --timeout 3000 target && goto ${target}
描述¶
从菜单中选择一项,并把结果存储到指定的设置中;在指定的超时时间(毫秒)后默认选择指定的菜单项。如果没有显式指定超时时间,或指定为零超时,iPXE 会无限期等待。

发生任何用户活动(例如按键)之后,超时时间会重置为指定的 retimeout 值(毫秒)。如果没有显式指定 retimeout,或指定为零,iPXE 会在第一次用户活动之后无限期等待。
如果没有显式指定默认菜单项,则会使用菜单先前已有的默认项(如果有)。如果没有指定菜单,则使用默认的(未命名)菜单。除非指定了 --keep 选项,否则菜单会被自动删除。
命令状态¶
| 成功 | 成功存储了一个选择 |
|---|---|
| 失败 | 未能成功存储选择 |
另请参阅¶
menuitem- iPXE 脚本指南
- 全部 iPXE 命令列表
备注¶
用户可以使用 Ctrl-C(或 Escape)退出菜单而不做任何选择。因此你可能希望始终处理 choose 命令失败的情况。例如:
choose os || goto cancelled
choose 命令的 --default 选项会覆盖任何使用 item 命令指定的默认项。
你可以使用任何合法的设置名称,包括作用域和类型。例如:
menu Select a DNS server
item ${netX/dns} Current DNS server (${netX}/dns)
item 8.8.8.8 Google public DNS
choose dns:ipv4
你可以使用 console 命令为菜单添加背景图片,提升菜单的外观效果。