使用 bootadm 命令的 set-menu 子命令维护 GRUB 菜单。 例如,您可以使用此命令更改 GRUB 菜单中的菜单超时和缺省引导项。
# bootadm list-menu
# bootadm set-menu [-P pool] [-R altroot [-p platform]] key=value
有关可使用 set-menu 子命令指定的每个值的更多信息,请参见 bootadm(1M) 手册页。可使用 set-menu 子命令的常见方法示例均遵循此过程。
# bootadm list-menu
使用带有相应 key=value 选项的 bootadm set-menu 命令设置 GRUB 菜单中的缺省项编号(例如,0、1 或 2)。此编号指定计时器到期时要引导的操作系统。
例如,以下 bootadm list-menu 命令的输出将缺省引导项显示为 2,其为 Oracle Solaris 11_test:
# bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.2 2 Oracle Solaris 11_test
在此示例中,控制台设置为 graphics 模式。可将控制台设置成的其他模式包括 text 和 serial。
您可以将缺省引导项设置为 1,如下所示:
# bootadm set-menu default=1 # bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 1 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.2 2 GRUB2
在此示例中,缺省菜单项现在为 1。系统重新引导后,将在缺省计时器到期后自动引导新的 Oracle Solaris 项。
您还可以使用 change-entry 子命令设置 GRUB 菜单中的缺省项。请参见如何设置 GRUB 菜单中指定引导项的属性。
示例 2-2 更改 GRUB 菜单中的菜单超时值使用带有相应 key=value 选项的 bootadm set-menu 命令设置菜单超时值。
在以下示例中,bootadm list-menu 命令的输出显示已将 30 秒的缺省超时值更改为 45 秒。此更改将在下次引导系统时生效。
# bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 30 0 Oracle Solaris 11/11 1 Oracle Solaris 11.2 2 Oracle Solaris 11_test # bootadm set-menu timeout=45 # bootadm list-menu The location of the boot loader configuration file is /rpool/boot/grub default 2 console graphics timeout 45 0 Oracle Solaris 11/11 1 Oracle Solaris 11.2 2 Oracle Solaris 11_test示例 2-3 设置 GRUB 控制台类型
您可以使用 bootadm 命令的 set-menu 子命令设置的一个值是控制台类型。以此方式对控制台类型进行的更改会在系统重新引导后持续有效。
例如,您在 grub.cfg 文件中将控制台类型设置为 serial,如下所示:
# bootadm set-menu console=serial
您还可以将控制台类型设置为 text(适用于纯文本控制台)。如果使用的是 BIOS 串行重定向,请选择此选项。或者,您可以将控制台类型设置为 graphics。此选项提供了一个更具图形化的菜单,此时会用到一个后台映像。
将控制台类型设置为 serial 后,可配置 GRUB 2 在引导时初始化串行端口时使用的串行参数。如果未指定 serial_params 值,则在缺省情况下使用串行端口 0 (COM1/ttya) 而不是指定一个速度。请注意,如果未指定速度且仅指定了一个端口(例如 serial_params=0),则不会定义所使用的速度,此速度将为执行 GRUB 之前串行端口初始化到的任何速度。如果要确保使用特定速度,则需要使用 serial_params 显式设置它们。
将 serial_params 键值添加到 bootadm 命令行中,如下所示:
# bootadm set-menu console=serial serial_params=port[,speed[,data bits[,parity[,stop bits]]]]
端口号。0 到 3 之间的任意数字(通常 0 用于 ttya 或 COM1)可用于分别指定 ttya 到 ttyd 之间的端口或 COM1 到 COM4 之间的端口。
是串行端口使用的速度。如果省略此值,GRUB 2 将使用串行端口在初始化后所使用的速度。如果串行端口未初始化,则无法指定速度可能导致不可预测的输出。如果不确定串行端口是否已初始化,且未使用 BIOS 控制台重定向,则最好指定一个速度值。
是使用 7 或 8 值指定的。
被分别指定为 e、o、n(分别代指 even、odd 或 none)。
是使用 0 或 1 值指定的。
除 port 参数之外的所有串行参数均为可选参数。