使用 bootadm 命令的 change-entry 子命令设置 GRUB 菜单中指定引导项或以逗号分隔的项列表的某些引导属性。可以通过项标题或项编号指定项。如果多个项具有同一标题,则会影响所有项。
有关如何在引导时通过编辑 GRUB 菜单来设置特定引导项的属性的信息,请参见通过在引导时编辑 GRUB 菜单添加内核参数。
# bootadm list-menu
# 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 子命令的常见方法示例均遵循此过程。
# bootadm list-menu
您可以使用 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