引导和关闭 Oracle® Solaris 11.2 系统

退出打印视图

更新时间: 2014 年 7 月
 
 

x86: 如何维护 GRUB 菜单

使用 bootadm 命令的 set-menu 子命令维护 GRUB 菜单。 例如,您可以使用此命令更改 GRUB 菜单中的菜单超时和缺省引导项。

  1. 承担 root 角色。

    请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  2. (u53ef选)列出 GRUB 菜单项。
    # bootadm list-menu
  3. 对 GRUB 菜单进行必要更改。
    # bootadm set-menu [-P pool] [-R altroot [-p platform]] key=value

    有关可使用 set-menu 子命令指定的每个值的更多信息,请参见 bootadm(1M) 手册页。可使用 set-menu 子命令的常见方法示例均遵循此过程。

  4. 验证是否已进行更改。
    # bootadm list-menu

    注 - 如果未看到更改,请检查 grub.cfg 文件以确认进行了更改。
示例 2-1  更改 GRUB 菜单中的缺省引导项

使用带有相应 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 模式。可将控制台设置成的其他模式包括 textserial

您可以将缺省引导项设置为 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]]]]
port

端口号。03 之间的任意数字(通常 0 用于 ttyaCOM1)可用于分别指定 ttyattyd 之间的端口或 COM1COM4 之间的端口。

speed

是串行端口使用的速度。如果省略此值,GRUB 2 将使用串行端口在初始化后所使用的速度。如果串行端口未初始化,则无法指定速度可能导致不可预测的输出。如果不确定串行端口是否已初始化,且未使用 BIOS 控制台重定向,则最好指定一个速度值。

data bits

是使用 78 值指定的。

parity

被分别指定为 eon(分别代指 even、odd 或 none)。

stop bits

是使用 01 值指定的。

port 参数之外的所有串行参数均为可选参数。