系统管理指南:基本管理

x86: findroot 命令的实现

所有安装方法(包括 Oracle Solaris Live Upgrade)现在都使用 findroot 命令来指定要引导基于 x86 的系统上的哪个磁盘片。此增强功能支持具有 ZFS 根以及 UFS 根的系统引导。此信息位于 GRUB 使用的 menu.lst 文件中。以前,root 命令 root (hd0.0.a) 用于明确指定要引导哪个磁盘片。

安装方法包括 Oracle Solaris Live Upgrade、Oracle Solaris JumpStart 和安装程序 GUI 程序。

findroot 命令后跟片上的签名文件 (mysign, 0, a),其中 mysign 是位于 /boot/grub/bootsign 目录中的签名文件的名称。从 ZFS 根引导系统时,ZFS GRUB 插件会寻找并尝试挂载 fdisk 分区 0 的片 a 中的 ZFS 文件系统。

签名文件的名称随所使用的安装方法而异。有关 findroot 命令使用的命名约定的更多信息,请参见findroot 命令使用的命名约定

在安装或升级后,可以向 GRUB 菜单中添加其他也使用 findroot 命令的菜单项。有关说明,请参见x86: 如何添加使用 findroot 命令的 GRUB 菜单项


注意 – 注意 –

引导签名必须是唯一的。不要使用或删除系统生成的签名或 Oracle Solaris 软件多个实例相同的用户签名。否则,可能会导致引导不正确的 OS 实例或者阻止系统引导。


请注意,在某些情况下(例如,为了引导 Windows),仍然可以在 menu.lst 文件中使用 root 命令。但是,当 findroot 命令为首选项时,不要使用 root 命令。


示例 11–8 x86: 支持 UFS 引导装载器的系统中的缺省 menu.lst 文件

以下示例介绍一个使用 findroot 命令的 menu.lst 文件项的格式:


title Solaris 10 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


示例 11–9 x86: 支持 Oracle Solaris ZFS 引导装载器的缺省 menu.lst 文件

以下是支持 Oracle Solaris ZFS 引导装载器的系统中的 menu.lst 文件示例。在执行 Oracle Solaris Live Upgrade 时,将自动在该文件中添加用于从 ZFS 根文件系统引导的信息。


title be1
findroot (BE_be1,0,a)
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