从 Solaris 10 10/08 发行版开始,对 Solaris 引导体系结构所做的更改提供了许多新的功能,其中包括从不同文件类型(如 ZFS 文件系统)引导。本章介绍其中一些更改,并提供有关引导的更多信息的参考。此外,本章概述适用于 x86 系统的基于 GRUB 的引导。
本章包含以下几节:
从 Solaris 10 10/08 发行版开始,Solaris SPARC 引导过程已进行重新设计,以增加与 Solaris x86 引导体系结构的共同性。改进的 Solaris 引导体系结构将直接引导、基于 RAM 磁盘 (ramdisk) 的引导以及 RAM 磁盘 (ramdisk) miniroot 引入 SPARC 平台。这些使能技术支持下列功能:
从其他文件系统类型(如 ZFS 文件系统)引导系统。
通过 DVD、NFS 或 HTTP 为软件安装引导单个 Miniroot。
其他改进包括显著缩短了引导时间、增加了灵活性,以及降低了维护要求。
作为此体系结构重新设计的一部分,Solaris 引导体系结构和 bootadm 命令现在已成为 Solaris SPARC 引导体系结构不可分割的一部分,而以前它们只在 Solaris x86 平台上可用。
尽管 Solaris SPARC 引导的实现已发生变化,但引导基于 SPARC 的系统的相关管理过程却未受到影响。Solaris 安装已更改,包括从 ZFS 文件系统安装的功能,但新的引导体系结构在其他方面没有发生变化。
如果系统上安装了多个 OS,或者系统的 ZFS 根池中包含多个根引导环境,那么,对于 SPARC 和 x86 平台,可以从这些引导环境进行引导。可用于引导的引导环境包括 Solaris Live Upgrade 创建的引导环境。
从 Solaris 10 10/08 发行版开始,对于基于 SPARC 的系统,可以在 ZFS 池中引导 ZFS 根文件系统。对于 ZFS 根池,您可以使用带有 -L 选项的 boot 命令列出可用的引导环境。然后,您可以选择引导环境并使用带有 -Z 选项的 OBP boot 命令来引导该引导环境。-Z 选项可用来代替 luactivate 命令,该选项也用于针对 ZFS 根池引导新的引导环境。luactivate 命令是切换引导环境的首选方法。对于 UFS 文件系统,继续使用 OpenBoot PROM OBP 作为主要管理界面(使用 OBP 命令选择引导选项)。
从适用于基于 x86 的系统的 Solaris 10 1/06 发行版开始,GRUB 引导菜单提供在不同引导环境之间进行引导的界面。从 Solaris 10 10/08 发行版开始,此菜单列出了可用于引导的 ZFS 引导环境。如果缺省引导环境为 ZFS 文件系统且显示 GRUB 菜单,则可以让缺省引导环境进行引导,也可以选择其他引导环境进行引导。GRUB 菜单可用来代替 luactivate 命令,该菜单也用于针对 ZFS 根池引导新的引导环境。luactivate 是切换引导环境的首选方法。
在基于 SPARC 和 x86 的系统中,每个 ZFS 根池都具有一个指定为缺省根文件系统的数据集。如果针对 SPARC 键入 boot 命令,或者针对 x86 从 GRUB 菜单中选择了缺省值,则会引导此缺省根文件系统。
表 7–1 从何处找到有关引导的信息
说明 |
信息 |
---|---|
有关引导功能较高层面的概述 | |
有关引导功能的更详细概述 | |
x86:有关修改引导行为(例如编辑 menu.lst 文件和查找 menu.lst 文件)的信息 | |
有关引导 ZFS 文件系统的过程 | |
有关管理引导归档文件(例如查找 GRUB menu.lst 文件和使用 bootadm 命令)的过程 |
GRUB 是开放源代码的引导装载程序,它是 Solaris OS 中的缺省引导装载程序。
引导装载程序是打开系统电源后第一个运行的软件程序。打开基于 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 菜单简化了引导过程。
本节介绍了基于 GRUB 的引导的基础知识,并介绍了 GRUB 菜单。
安装 Solaris OS 时,缺省情况下将在系统上安装两个 GRUB 菜单项。第一项是 Solaris OS 项。第二项是故障安全引导归档文件,将用于系统恢复。作为 Solaris 软件安装和升级过程的一部分,Solaris GRUB 菜单项将自动安装和更新。这些项由 OS 直接管理且不应该手动进行编辑。
在标准 Solaris OS 安装过程中,无需修改系统 BIOS 设置即可将 GRUB 安装在 Solaris fdisk 分区上。如果 OS 不在 BIOS 引导磁盘上,则需要执行以下操作之一:
修改 BIOS 设置。
使用引导管理器引导至 Solaris 分区。有关更多详细信息,请查看您的引导管理器。
首选方法是在引导磁盘上安装 Solaris OS。如果计算机上安装了多个操作系统,可以向 menu.lst 文件中添加项。这些项将会在下次引导系统时显示在 GRUB 菜单上。
有关多个操作系统的其他信息,请参见《系统管理指南:基本管理》中的“GRUB 如何支持多个操作系统”。
执行基于 GRUB 的网络引导时需要为 PXE 客户机配置的 DHCP 服务器和提供 tftp 服务的安装服务器。DHCP 服务器必须能够响应 DHCP 类、PXEClient 和 GRUBClient。DHCP 响应必须包含以下信息:
文件服务器的 IP 地址
引导文件 (pxegrub) 的名称
rpc.bootparamd,执行网络引导时服务器端通常需要该程序,而基于 GRUB 进行网络引导时不需要。
如果没有可用的 PXE 或 DHCP 服务器,可以从 CD-ROM 或本地磁盘装入 GRUB。然后可以手动配置 GRUB 中的网络并从文件服务器下载多引导程序和引导归档文件。
有关更多信息,请参见《Oracle Solaris 10 9/10 安装指南:基于网络的安装》中的“使用 PXE 通过网络进行引导和安装概述”。