启动基于 x86 的系统时,会显示 GRUB 菜单。该菜单提供用于选择的引导项列表。引导项是安装在系统上的 OS 实例。GRUB 菜单是基于 menu.lst 文件的,该文件是一个配置文件。menu.lst 文件由 Solaris 安装程序创建并可以在安装后进行修改。menu.lst 文件指定在 GRUB 菜单中显示的 OS 实例列表。
如果安装或升级 Solaris OS,则会自动更新 GRUB 菜单。然后,该 Solaris OS 将显示为新的引导项。
如果安装 Solaris OS 以外的 OS,必须修改 menu.lst 配置文件以包含新的 OS 实例。添加新的 OS 实例可使新的引导项在下次引导系统时出现在 GRUB 菜单中。
在以下示例中,GRUB 主菜单显示了 Solaris 和 Microsoft Windows 操作系统。还列出了 Solaris Live Upgrade 引导环境,命名为 second_disk。请参见以下每个菜单项的说明。
GNU GRUB version 0.95 (616K lower / 4127168K upper memory) +-------------------------------------------------------------------+ |Solaris | |Solaris failsafe | |second_disk | |second_disk failsafe | |Windows | +-------------------------------------------------------------------+ Use the ^ and v keys to select which entry is highlighted. Press enter to boot the selected OS, 'e' to edit the commands before booting, or 'c' for a command-line. |
指定 Solaris OS。
指定在 Solaris OS 损坏时可用于恢复的引导归档文件。
指定 Solaris Live Upgrade 引导环境。second_disk 引导环境是作为 Solaris OS 的副本创建的,并使用 luactivate 命令升级和激活。该引导环境可用于引导。
指定 Microsoft Windows OS。GRUB 会对这些分区进行检测,但不会验证该 OS 是否能够引导。
GRUB menu.lst 文件列出了 GRUB 主菜单的内容。GRUB 主菜单列出了安装在系统上的所有 OS 实例的引导项,包括 Solaris Live Upgrade 引导环境。Solaris 软件升级过程保留了您对该文件所做的任何更改。
对 menu.lst 文件所做的任何修订将与 Solaris Live Upgrade 项一起显示在 GRUB 主菜单上。对该文件所做的任何更改将在下次重新引导系统时生效。您可以出于以下目的修订该文件:
要添加非 Solaris 操作系统的 GRUB 菜单项
要自定义引导行为,如在 GRUB 菜单上指定缺省 OS
请勿使用 GRUB menu.lst 文件修改 Solaris Live Upgrade 项,因为修改该项会导致 Solaris Live Upgrade 失败。
尽管可以使用 menu.lst 文件自定义引导行为,如使用内核调试程序引导,但首选的自定义方法是使用 eeprom 命令。如果使用 menu.lst 文件来自定义,则在软件升级过程中,Solaris OS 项可能会被修改,对文件的更改随后可能会丢失。
有关如何使用 eeprom 命令的信息,请参见《系统管理指南:基本管理》中的“如何使用 eeprom 命令设置 Solaris 引导参数”。
menu.lst 文件样例如下所示:
default 0 timeout 10 title Solaris root (hd0,0,a) kernel /platform/i86pc/multiboot -B console=ttya module /platform/i86pc/boot_archive title Solaris failsafe root (hd0,0,a) kernel /boot/multiboot -B console=ttya -s module /boot/x86.miniroot.safe #----- second_disk - ADDED BY LIVE UPGRADE - DO NOT EDIT ----- title second_disk root (hd0,1,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title second_disk failsafe root (hd0,1,a) kernel /boot/multiboot kernel/unix -s module /boot/x86.miniroot-safe #----- second_disk -------------- END LIVE UPGRADE ------------ title Windows root (hd0,0) chainloader -1 |
指定超时期满后要引导的项。要更改缺省值,可以通过更改编号指定列表中的另一项。第一个标题的计数从零开始。例如,将缺省值更改为 2 以自动引导至 second_disk 引导环境。
指定了在引导缺省项前等待用户输入的时间(秒)。如果未指定超时值,则需要选择一项。
指定操作系统的名称。
如果是 Solaris Live Upgrade 引导环境,则 OS 名称就是当创建新引导环境时所赋予的名称。在上例中,Solaris Live Upgrade 引导环境名为 second_disk。
如果是故障安全引导归档文件,则该引导归档文件用于恢复损坏的主 OS。在上例中,Solaris 故障安全和 second_disk 故障安全是 Solaris 和 second_disk 操作系统的恢复引导归档文件。
指定要装入文件的磁盘、分区和片。GRUB 会自动检测文件系统类型。
指定多引导程序。kernel 命令后必须始终跟有多引导程序。multiboot 后面的字符串被传送给 Solaris OS(没有解释)。
有关多个操作系统的完整描述,请参见《系统管理指南:基本管理》中的“在 GRUB 引导环境中如何支持多个操作系统”。
必须始终使用 bootadm 命令查找 GRUB 菜单的 menu.lst 文件。使用 list-menu 子命令查找活动的 GRUB 菜单。menu.lst 文件列出了安装在系统上的所有操作系统。该文件的内容指定在 GRUB 菜单上显示的操作系统的列表。如果想对该文件进行更改,请参见《Solaris 10 5/08 安装指南:Solaris Live Upgrade 和升级规划》中的“查找 GRUB 菜单的 menu.lst 文件(任务)”。