跳过导航链接 | |
退出打印视图 | |
引导和关闭 Oracle Solaris 11.1 系统 Oracle Solaris 11.1 Information Library (简体中文) |
2. x86: 管理 GRand Unified Bootloader(任务)
x86: GRUB 2 和 GRUB Legacy 任务比较
x86: 将 GRUB Legacy 系统升级到支持 GRUB 2 的发行版
x86: 如何将 GRUB Legacy 系统升级到支持 GRUB 2 的发行版
x86: 如何将 GRUB Legacy 菜单项迁移到 GRUB 2 中
x86: 在同一系统上维护 GRUB 2 和 GRUB Legacy 引导环境
本节提供了以下信息:
如果 GRUB 2 引导装载程序损坏且系统无法再进行引导,您可能需要从介质进行引导并手动重新安装引导装载程序。要重新安装引导装载程序,您必须从 Oracle Solaris 安装介质进行引导(例如通过使用文本安装程序 ISO 映像)并转至命令提示符。
必须先导入根池,再重新安装 GRUB 2。以下过程介绍了要遵循的步骤。
# zpool import -f pool-name
# bootadm install-bootloader [-f] -P pool-name
强制引导装载程序的安装并绕过任何版本检查,以便不对系统上的引导装载程序版本进行降级。
注 - 请勿使用 -f 选项,除非您确定要使用介质上的版本覆盖引导装载程序。
为要使用的池指定引导配置
# zpool export pool-name
开始之前
检查您运行的 Oracle Solaris 版本是否为备份中存在的引导环境集中安装的最新版本。通过确保您运行的 Oracle Solaris 版本是备份中存在的引导环境集中安装的最新版本,可确保您能够使用 bootadm install-bootloader 命令(不需要使用 -f 选项)成功安装引导装载程序。
然后,恢复根池。请参见《Oracle Solaris 11.1 管理:ZFS 文件系统》中的第 11 章 "归档快照和根池恢复"。
# bootadm install-bootloader -P poolname
如果您运行的 Oracle Solaris 版本不是备份中存在的引导环境集中安装的最新版本,则已恢复的 rpool 在运行 bootadm install-bootloader 命令后可能无法进行引导。在这种情况下,请通过尝试运行以下命令来作为备用方法:
# beadm activate -p poolname BEname
其中 BEname 是包含 Oracle Solaris 最新版本的引导环境。运行此命令将安装最新的引导装载程序文件。
此备用方法还会安装引导装载程序,但此安装存在副作用,即使用引导环境中的引导装载程序文件,而不是运行的系统中的引导装载程序文件。在从较旧的 Oracle Solaris 版本执行恢复时应使用此解决方法。
在带有 BIOS 固件的系统上,有时需要或希望将 GRUB 2 安装在主引导记录中。以下过程介绍了如何执行此操作。安装后,无论将哪个 DOS 分区标记为活动分区,GRUB 2 都会成为缺省的系统引导装载程序。在带有 BIOS 固件的系统上使用 DOS 分区且 Solaris 分区为主分区时,缺省 GRUB 2 安装位置为分区引导记录。如果分区为逻辑分区,则 GRUB 2 始终安装在 MBR 中。
# bootadm install-bootloader -M
由于在您销毁最后一个 GRUB 2 引导环境时,系统不会自动重新安装 GRUB Legacy 引导装载程序,因此,如果要重新安装 GRUB Legacy 引导装载程序,必须首先引导到包含 GRUB Legacy 引导装载程序文件(位于 /boot/grub/stage1 和 /boot/grub/stage2 中)的最新引导环境。
installgrub 命令在此发行版中已过时,仅当您运行的发行版支持 GRUB Legacy 引导装载程序时,才应使用此命令。请参见 installgrub(1M)。
如果您已将系统从支持 GRUB Legacy 的发行版升级到 Oracle Solaris 11.1,则以下过程适用。
如果决定将系统恢复到较旧的 GRUB Legacy 引导装载程序,请使用以下过程。
注意 - 务必从包含 Oracle Solaris 发行版或用于更新到 Oracle Solaris 11.1 的支持系统信息库更新 (Support Repository Update, SRU) 的引导环境执行这些步骤。此外,如果您已使用 zpool upgrade 命令将 ZFS 池功能升级超过版本 33,则将无法降级到 GRUB Legacy 或完成此过程的步骤 2。如果在将根池升级到超过版本 33 之后强制降级到 GRUB Legacy,将导致无法引导系统。 |
通过执行此步骤,可确保您不会意外激活和安装 GRUB 2,因为激活任意包含 Oracle Solaris 11.1 发行版的引导环境均会将 GRUB Legacy 引导装载程序替换为 GRUB 2。
# bootadm install-bootloader -f
注 - 执行完这些步骤后,无需进行重新引导。在下一次完整重新引导时,将执行 GRUB Legacy 引导装载程序。