引导和关闭 Oracle® Solaris 11.2 系统

退出打印视图

更新时间: 2014 年 7 月
 
 

x86: 如何设置 GRUB 菜单中指定引导项的属性

使用 bootadm 命令的 change-entry 子命令设置 GRUB 菜单中指定引导项或以逗号分隔的项列表的某些引导属性。可以通过项标题或项编号指定项。如果多个项具有同一标题,则会影响所有项。


注 -  特殊属性 set-default 用于设置在计时器到期时要引导的缺省项。此子命令的功能与 set-menu default=value 子命令的功能相同。请参见Example 2–1

有关如何在引导时通过编辑 GRUB 菜单来设置特定引导项的属性的信息,请参见通过在引导时编辑 GRUB 菜单添加内核参数

  1. 承担 root 角色。

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

  2. (u53ef选)列出 GRUB 菜单项。
    # bootadm list-menu
  3. 设置指定项的引导属性。
    # bootadm change-entry [-P pool] {[entry-title[,entry-title...]}]
    	| -i entry-number[,entry-number]...]} { key=value [ key=value ...]
    	| set-default }

    如果指定的值包含空格,则必须将此值括在单引号或双引号中。

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

  4. 验证是否已对指定项进行了更改。
    # bootadm list-menu

    注 - 如果未看到更改,请检查 grub.cfg 文件以确认进行了更改。
示例 2-4  设置 GRUB 菜单中指定引导项的标题

您可以使用 bootadm 命令的 change-entry 子命令设置指定引导项的标题。设置标题时,既可以指定项编号,也可以指定项标题。以下示例显示了如何通过这两种方式设置指定引导项的标题。如果多个项具有同一标题,则会影响所有项。

通过指定项编号设置引导项的标题,如下所示:

# 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 Oracle Solaris 11_test
# bootadm change-entry -i 2 title="Oracle Solaris 11-backup1"
# 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-backup1

通过指定标题设置引导项的标题,如下所示:

# 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 Oracle Solaris 11_test
# bootadm change-entry "Oracle Solaris 11_test" title="Oracle Solaris 11-backup1"
# 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-backup1
示例 2-5  通过指定内核参数更改引导项

以下示例显示了如何使用 bootadm 命令的 change-entry 子命令设置指定引导项的内核引导参数。

在此示例中,将引导项编号 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 Oracle Solaris 11_test
# bootadm change-entry -i 1 kargs=-s
# bootadm list-menu -i 1
The location of the boot loader configuration files is: /rpool/boot/grub
     title: Oracle Solaris 11.2
     kernel: /platform/i86pc/kernel/$ISADIR/unix
     kernel arguments: -s
     boot archive: /platform/i86pc/$ISADIR/boot_archive
     ZFS root pool: rpool

在此示例中,为引导项编号 2 指定多个内核参数:

# bootadm change-entry -i 2 kargs="-v -s"
# bootadm list-menu -i 2
The location of the boot loader configuration files is: /rpool/boot/grub
     title: Oracle Solaris 11_test
     kernel: /platform/i86pc/kernel/$ISADIR/unix
     kernel arguments: -v -s
     boot archive: /platform/i86pc/$ISADIR/boot_archive
     bootfs: rpool/ROOT/snv_160-nightly-1

在此示例中,指定了 –v–s 选项,这会将系统引导到详细模式下的单用户状态。

只要设置的一个或多个属性包含空格,就必须将值括在单引号或双引号中。

示例 2-6  通过使用 –B 选项指定内核参数来更改引导项

以下示例显示了您可以通过使用 –B 选项设置特定引导项的内核参数的几种方法。

您需要在引导时禁用 e1000g 网络驱动程序并装入内核调试器,如下所示:

# bootadm change-entry -i 0 kargs="-B disable-e1000g=true -k"

您可以使用 bootadm change-entry 命令指定多个 –B 选项。例如,您可以使用以下任一命令同时禁用 e1000g 驱动程序 ACPI:

# bootadm change-entry -i 0 kargs="-B disable-e1000g=true -B acpi-user-options=2"
# bootadm change-entry -i 0 kargs="-B disable-e1000g=true,acpi-user-options=2"

您还可以通过编辑指定引导项在引导时使用 –B 选项设置特定引导属性。有关说明,请参见通过在引导时编辑 GRUB 菜单添加内核参数

示例 2-7  从引导项删除先前添加的内核参数

在以下示例中,将从特定引导项删除一个内核参数 (–s):

# bootadm list-menu -i 1
the location of the boot loader configuration files is: /rpool/boot/grub
title: s11.2.backup
kernel: /platform/i86pc/kernel/amd64/unix
kernel arguments: -s
boot archive: /platform/i86pc/amd64/boot_archive
bootfs: rpool/ROOT/s11.2.backup
# bootadm change-entry -i 1 kargs=
# bootadm list-menu -i 1
the location of the boot loader configuration files is: /rpool/boot/grub
title: s11.2.backup
kernel: /platform/i86pc/kernel/amd64/unix
kernel arguments:
boot archive: /platform/i86pc/amd64/boot_archive
bootfs: rpool/ROOT/s11.2.backup