Solaris 10 5/08 安装指南:规划安装和升级

第 6 章 x86: 基于 GRUB 引导的 Solaris 安装

本章介绍在基于 x86 的系统中,与 Solaris 安装相关的基于 GRUB 的引导。本章包含以下几节:

x86: 基于 GRUB 的引导(概述)

GRUB 是开放源代码的引导装载器,Solaris OS 已将其作为缺省的引导装载器。


注 –

基于 GRUB 的引导在基于 SPARC 的系统上不可用。


引导装载器是打开系统电源后第一个运行的软件程序。打开基于 x86 的系统后,基本输入/输出系统 (Basic Input/Output System, BIOS) 将初始化 CPU、内存和平台硬件。初始化阶段完成后,BIOS 从所配置的引导设备装入引导装载器,然后将对系统的控制传送给引导装载器。

GRUB 是开放源代码的引导装载器,它带有一个简单的菜单界面,该界面中所包含的引导选项是在一个配置文件中预先定义的。GRUB 还具有命令行界面,可以通过菜单界面对它进行访问来执行各种引导命令。在 Solaris OS 中,GRUB 的实现符合多引导规范。在 http://www.gnu.org/software/grub/grub.html 中有该规范的详细介绍。

因为 Solaris 内核与多引导规范完全兼容,所以可使用 GRUB 来引导基于 Solaris x86 的系统。使用 GRUB,可以更轻松地引导和安装各种操作系统。例如,在一个系统上,可以单独引导以下操作系统:

GRUB 的一个重要优点是直观的文件系统和内核可执行格式,这使得无需记录内核在磁盘上的物理位置即可装入操作系统。使用基于 GRUB 的引导,内核的装入由其文件名、驱动器及所在分区来指定。基于 GRUB 的引导取代了 Solaris Device Configuration Assistant,并使用 GRUB 菜单简化了引导过程。

x86: 基于 GRUB 的引导的工作原理

GRUB 获得了系统控制后,菜单将显示在控制台上。在 GRUB 菜单中,可以执行以下操作:

可配置的超时可用于引导缺省的 OS 项。按任意键将异常中止对缺省 OS 项的引导。

要查看 GRUB 菜单的示例,请参见GRUB 主菜单说明

x86: GRUB 设备命名约定

GRUB 使用的设备命名约定与以前的 Solaris OS 版本稍有不同。了解 GRUB 设备命名约定可以帮助您在系统上配置 GRUB 时正确指定驱动器和分区信息。

下表介绍了 GRUB 设备命名约定。

表 6–1 GRUB 设备的命名约定

设备名 

描述 

(fd0), (fd1)

第一个软盘,第二个软盘 

(nd)

网络设备 

(hd0,0), (hd0,1)

第一个 bios 磁盘的第一个和第二个 fdisk 分区

(hd0,0,a), (hd0,0,b)

第一个 bios 磁盘的第一个 fdisk 分区上的 Solaris/BSD 片 0 和片 1


注 –

所有的 GRUB 设备名称都必须括在括号中。分区号从 0(零)算起,而不是从 1 算起。


有关 fdisk 分区的更多信息,请参见《系统管理指南:设备和文件系统》中的“fdisk 分区创建准则”

x86: 在何处查找有关基于 GRUB 的安装的信息

有关这些更改的更多信息,请参见以下参考资料。

表 6–2 在何处查找有关基于 GRUB 的安装的信息

主题 

GRUB 菜单任务 

更多信息 

安装 

从 Solaris OS CD 或 DVD 介质安装 

《Solaris 10 5/08 安装指南:基本安装》

从网络安装映像安装 

《Solaris 10 5/08 安装指南:基于网络的安装》中的第 II 部分, “通过局域网进行安装”

 

为网络安装配置 DHCP 服务器 

《Solaris 10 5/08 安装指南:基于网络的安装》中的“使用 DHCP 服务预配置系统配置信息(任务)”

 

使用自定义 JumpStart 程序安装 

《Solaris 10 5/08 安装指南:自定义 JumpStart 和高级安装》中的“执行自定义 JumpStart 安装”

 

使用 Solaris Live Upgrade 激活或回退到引导环境 

系统管理 

有关 GRUB 和管理任务的更多详细信息 

《系统管理指南:基本管理》中的第 11  章 “基于 GRUB 的引导(任务)”

x86: 基于 GRUB 的引导(规划)

本节介绍了基于 GRUB 的引导的基础知识,并介绍了 GRUB 菜单。

安装 Solaris OS 时,在缺省情况下,系统上会安装两个 GRUB 菜单项。第一项是 Solaris OS。第二项是故障安全引导归档文件,将用于系统恢复。作为 Solaris 软件安装和升级过程的一部分,Solaris GRUB 菜单项将自动安装和更新。这些项由 OS 直接管理,不应该手动编辑。

在标准 Solaris OS 安装过程中,无需修改系统 BIOS 设置即可将 GRUB 安装在 Solaris fdisk 分区上。如果 OS 不在 BIOS 引导磁盘上,需要执行以下操作之一:

首选方法是在引导磁盘上安装 Solaris OS。如果计算机上安装了多个操作系统,可以向 menu.lst 文件中添加项。这些项将会在下次引导系统时显示在 GRUB 菜单上。

有关多个操作系统的其他信息,请参见《系统管理指南:基本管理》中的“在 GRUB 引导环境中如何支持多个操作系统”

x86: 从网络上执行基于 GRUB 的安装

执行基于 GRUB 的网络引导时需要为 PXE 客户机配置的 DHCP 服务器和提供 tftp 服务的安装服务器。DHCP 服务器必须能够响应 DHCP 类、PXEClientGRUBClient。DHCP 响应必须包含以下信息:


注 –

rpc.bootparamd,执行网络引导时服务器端通常需要该程序,而基于 GRUB 进行网络引导时不需要。


如果没有可用的 PXE 或 DHCP 服务器,可以从 CD-ROM 或本地磁盘装入 GRUB。然后可以手动配置 GRUB 中的网络并从文件服务器上下载多引导程序和引导归档文件。

有关更多信息,请参见《Solaris 10 5/08 安装指南:基于网络的安装》中的“使用 PXE 通过网络进行引导和安装概述”

GRUB 主菜单说明

启动基于 x86 的系统时,会显示 GRUB 菜单。该菜单提供用于选择的引导项列表。引导项是安装在系统上的 OS 实例。GRUB 菜单是基于 menu.lst 文件的,该文件是一个配置文件。menu.lst 文件由 Solaris 安装程序创建并可以在安装后进行修改。menu.lst 文件指定在 GRUB 菜单中显示的 OS 实例列表。


示例 6–1 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

指定 Solaris OS。

Solaris failsafe

指定在 Solaris OS 损坏时可用于恢复的引导归档文件。

second_disk

指定 Solaris Live Upgrade 引导环境。second_disk 引导环境是作为 Solaris OS 的副本创建的,并使用 luactivate 命令升级和激活。该引导环境可用于引导。

Windows

指定 Microsoft Windows OS。GRUB 会对这些分区进行检测,但不会验证该 OS 是否能够引导。


GRUB menu.lst 文件说明

GRUB menu.lst 文件列出了 GRUB 主菜单的内容。GRUB 主菜单列出了安装在系统上的所有 OS 实例的引导项,包括 Solaris Live Upgrade 引导环境。Solaris 软件升级过程保留了您对该文件所做的任何更改。

menu.lst 文件所做的任何修订将与 Solaris Live Upgrade 项一起显示在 GRUB 主菜单上。对该文件所做的任何更改将在下次重新引导系统时生效。您可以出于以下目的修订该文件:


注意 – 注意 –

请勿使用 GRUB menu.lst 文件修改 Solaris Live Upgrade 项,因为修改该项会导致 Solaris Live Upgrade 失败。


尽管可以使用 menu.lst 文件自定义引导行为,如使用内核调试程序引导,但首选的自定义方法是使用 eeprom 命令。如果使用 menu.lst 文件来自定义,则在软件升级过程中,Solaris OS 项可能会被修改,对文件的更改随后可能会丢失。

有关如何使用 eeprom 命令的信息,请参见《系统管理指南:基本管理》中的“如何使用 eeprom 命令设置 Solaris 引导参数”


示例 6–2 Menu.lst 文件

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
default

指定超时期满后要引导的项。要更改缺省值,可以通过更改编号指定列表中的另一项。第一个标题的计数从零开始。例如,将缺省值更改为 2 以自动引导至 second_disk 引导环境。

timeout

指定了在引导缺省项前等待用户输入的时间(秒)。如果未指定超时值,则需要选择一项。

title OS 名称

指定操作系统的名称。

  • 如果是 Solaris Live Upgrade 引导环境,则 OS 名称就是当创建新引导环境时所赋予的名称。在上例中,Solaris Live Upgrade 引导环境名为 second_disk

  • 如果是故障安全引导归档文件,则该引导归档文件用于恢复损坏的主 OS。在上例中,Solaris 故障安全和 second_disk 故障安全是 Solaris 和 second_disk 操作系统的恢复引导归档文件。

root (hd0,0,a)

指定要装入文件的磁盘、分区和片。GRUB 会自动检测文件系统类型。

kernel /platform/i86pc/multiboot

指定多引导程序。kernel 命令后必须始终跟有多引导程序。multiboot 后面的字符串被传送给 Solaris OS(没有解释)。

有关多个操作系统的完整描述,请参见《系统管理指南:基本管理》中的“在 GRUB 引导环境中如何支持多个操作系统”


查找 menu.lst 文件以更改 GRUB 菜单

必须始终使用 bootadm 命令查找 GRUB 菜单的 menu.lst 文件。使用 list-menu 子命令查找活动的 GRUB 菜单。menu.lst 文件列出了安装在系统上的所有操作系统。该文件的内容指定在 GRUB 菜单上显示的操作系统的列表。如果想对该文件进行更改,请参见《Solaris 10 5/08 安装指南:Solaris Live Upgrade 和升级规划》中的“查找 GRUB 菜单的 menu.lst 文件(任务)”