跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:基本管理 Oracle Solaris 10 1/13 Information Library (简体中文) |
2. 使用 Solaris Management Console(任务)
3. 使用 Oracle Java Web Console(任务)
11. 修改 Oracle Solaris 引导行为(任务)
13. 管理 Oracle Solaris 引导归档文件(任务)
14. Oracle Solaris 系统引导的故障排除(任务)
17. 使用 Oracle Configuration Manager
21. 使用 Oracle Solaris 系统管理工具管理软件(任务)
以下各节包含有关在 Oracle Solaris OS 中管理 GRUB 的其他参考信息。
要彻底掌握 GRUB 概念,了解以下术语是至关重要的。
注 - 本列表中介绍的某些术语不是基于 GRUB 的引导所独有的。
用于引导 Oracle Solaris OS 的关键文件的集合。在挂载根文件系统前,系统启动过程中将需要这些文件。系统中将维护多个引导归档文件:
主引导归档文件,用于在基于 x86 的系统上引导 Oracle Solaris OS。
故障安全引导归档文件,当主引导归档文件被破坏时用于进行恢复。该引导归档文件可在没有挂载根文件系统的情况下启动系统。在 GRUB 菜单中,该引导归档文件被称为故障安全。该归档文件的主要用途是重新生成通常用来引导系统的主引导归档文件。
打开系统电源后运行的第一个软件程序。此程序将开始执行引导过程。
请参见 boot archive(引导归档文件)。
GNU GRand Unified Bootloader (GRUB) 是具有菜单界面的开源引导装载程序。该菜单显示系统上安装的操作系统的列表。使用 GRUB 可以轻松地引导各种不同的操作系统,如 Oracle Solaris OS、Linux 或 Windows。
列出系统中安装的操作系统的引导菜单。使用该菜单,无需修改 BIOS 或 fdisk 分区设置即可轻松地引导操作系统。
GRUB 主菜单的一个子菜单。GRUB 命令将显示在该子菜单中。可以编辑这些命令以更改引导行为。
一个列出系统中安装的所有操作系统的配置文件。该文件的内容指定在 GRUB 菜单中显示的操作系统的列表。使用该菜单,无需修改 BIOS 或 fdisk 分区设置即可轻松地引导操作系统。
位于 Solaris 安装介质上的最小可引导根 (/) 文件系统。miniroot 包含安装和升级系统所需的 Solaris 软件。在基于 x86 的系统上,miniroot 被复制到系统中,用作故障安全引导归档文件。有关故障安全引导归档文件的详细信息,请参见 boot archive(引导归档文件)。
请参见 boot archive(引导归档文件)。
GRUB 包含以下功能组件:
stage1-安装在 fdisk 分区的第一个扇区上的映像。通过指定 installgrub 命令和 -m 选项,可以选择将 stage1 安装在主引导扇区上。有关更多信息,请参见 installgrub(1M) 手册页。
stage2-安装在 fdisk 分区的保留区中的映像。stage2 映像是 GRUB 的核心映像。
menu.lst 文件-在具有 UFS 根的系统上,通常位于 /boot/grub 目录中;在具有 ZFS 根的系统上,通常位于 /pool-name/boot/grub 目录中。该文件由 GRUB stage2 文件读取。有关更多信息,请参见x86: 通过编辑 menu.lst 文件修改引导行为一节。
您无法使用 dd 命令将 stage1 和 stage2 映像写入磁盘。stage1 映像必须能够接收有关磁盘上的 stage2 映像的位置的信息。使用 installgrub 命令,这是安装 GRUB 引导块时支持方法。
GRUB 使用的设备命名约定与以前的 Solaris 发行版稍有不同。了解 GRUB 设备命名约定可以帮助您在系统上配置 GRUB 时正确指定驱动器和分区信息。
下表介绍了此 Oracle Solaris 发行版的 GRUB 设备命名约定。
表 15-1 GRUB 设备的约定
|
注 - 所有的 GRUB 设备名称都必须括在括号中。
有关 fdisk 分区的更多信息,请参见《System Administration Guide: Devices and File Systems》中的"Guidelines for Creating an fdisk Partition"。
从 Solaris 10 10/08 发行版开始,findroot 命令取代了之前 GRUB 使用的 root 命令。findroot 命令提供了用于搜索目标磁盘(无论使用哪个引导设备)的增强功能。findroot 命令还支持从 ZFS 根文件系统引导。
下面说明了 findroot 命令使用的适用于不同 GRUB 实现的设备命名约定:
Oracle Solaris Live Upgrade:
findroot (BE_x,0,a)
x 变量是引导环境的名称。
具有 ZFS 支持的系统的标准系统升级和全新安装:
findroot(pool_p,0,a)
p 变量是根池的名称。
具有 UFS 支持的系统的标准系统升级和全新安装:
findroot (rootfsN,0,a)
N 变量是从 0 开始的整数。
本节介绍 GRUB 如何支持位于同一个磁盘上的多个操作系统。下面是一个基于 x86 的系统的示例,该系统在同一个磁盘上安装了 Solaris 10 10/08 OS、Solaris 9 OS、Linux 和 Windows。
表 15-2 GRUB 菜单配置样例
|
根据上述信息,GRUB 菜单应该如下所示:
title Oracle Solaris 10 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris 9 OS (pre-GRUB) root (hd0,2,a) chainloader +1 makeactive title Linux root (hd0,1) kernel <from Linux GRUB menu...> initrd <from Linux GRUB menu...> title Windows root (hd0,0) chainloader +1
注 - Oracle Solaris 分片必须为活动分区。此外,请不要在 Windows 菜单下指示 makeactive。这样做将导致系统每次都引导 Windows。请注意,如果 Linux 已在主引导块上安装了 GRUB,则您不能访问 Oracle Solaris 引导选项。无论您是否将 Solaris 分区指定为活动分区,都无法访问 Solaris 引导选项。
在这种情况下,可以执行以下操作之一:
通过修改 Linux 上的菜单,从 Linux GRUB 进行链接装入。
链接装入是使用其他引导装载程序装入不受支持的操作系统的机制。
通过运行带有 -m 选项的 installgrub 命令,将主引导块替换为 Solaris GRUB:
# installgrub -m /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/root-slice
有关更多信息,请参见 installgrub(1M) 手册页。
有关 Oracle Solaris Live Upgrade 引导环境的信息,请参见《Oracle Solaris 10 1/13 安装指南:Live Upgrade 和升级规划》。
在 Oracle Solaris 10 中,GRUB 使用多重引导。menu.lst 文件的内容会有所不同,具体取决于您所运行的 Oracle Solaris 发行版、所使用的安装方法以及您是从 Oracle Solaris ZFS 根还是从 UFS 根引导系统。
Oracle Solaris ZFS 根支持 GRUB
如果运行的是受支持的 Oracle Solaris 发行版,则可以选择从 Oracle Solaris ZFS 或 UFS 文件系统引导。有关 menu.lst 文件的说明以及示例,请参见menu.lst 文件说明(ZFS 支持)。
GRUB UFS 引导支持
有关 menu.lst 文件的说明以及示例,请参见menu.lst 文件说明(UFS 支持)。
下面给出了适用于包含 ZFS 引导装载程序的引导环境的多个 menu.lst 文件示例:
注 - 由于 miniroot 被挂载为实际的根文件系统,所以 menu.lst 文件中的故障安全引导条目不会更改为 ZFS bootfs 属性,即使是从 ZFS 数据集读取故障安全归档文件也是如此。在引导装载程序读取 miniroot 之后,不会访问 ZFS 数据集。
示例 15-1 缺省 menu.lst 文件(全新安装或标准升级)
title Solaris 10 5/08 s10x_nbu6wos_nightly X86 findroot (pool_rpool,0,a) kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title Solaris failsafe findroot (pool_rpool,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe
示例 15-2 缺省 menu.lst 文件 (Oracle Solaris Live Upgrade)
title be1 findroot (BE_be1,0,a) bootfs rpool/ROOT/szboot_0508 kernel$ /platform/i86pc/multiboot -B $ZFS-BOOTFS module /platform/i86pc/boot_archive title be1 failsafe findroot (BE_be1,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe
下面给出了支持从 UFS 进行引导的系统上的 menu.lst 文件的示例。
示例 15-3 缺省 GRUB menu.lst 文件(全新安装或标准升级)
title Solaris 10 5/08 s10x_nbu6wos_nightly X86 findroot (pool_rpool,0,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title Solaris failsafe findroot (rootfs0,0,a) kernel /boot/multiboot kernel/unix -s -B console-ttyb module /boot/x86.miniroot-safe
示例 15-4 缺省 GRUB menu.lst 文件 (Oracle Solaris Live Upgrade)
title be1 findroot (BE_be1,0,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive title be1 failsafe findroot (BE_be1,0,a) kernel /boot/multiboot kernel/unix -s -B console=ttyb module /boot/x86.miniroot-safe