x86: GRUB 2 和 GRUB Legacy 任务比较
尽管 GRUB 2 与 GRUB Legacy 共享多个特征,但因为 GRUB 2 不使用 menu.lst 文件,所以许多引导管理任务在支持 GRUB 2 的系统上会以不同的方式执行。例如,通过使用 bootadm 命令的新子命令管理 GRUB 菜单并执行各种引导装载程序管理任务。
新 –P pool 参数适用于大多数 bootadm 子命令。通过此选项,可以查看或更改特定根池的 GRUB 菜单和引导项。如果运行的操作系统支持 GRUB Legacy,则 –P 选项可能不适用于这些 bootadm 子命令。
例如,您可以针对特定根池列出 GRUB 菜单,如下所示:
# bootadm list-menu -P pool-name
下表比较了与 GRUB Legacy 等效的一些常见 GRUB 2 任务和命令。有关详细说明,请参见 bootadm(1M) 手册页和使用 bootadm 命令管理 GRUB 配置。
表 2-2 GRUB 2 任务与 GRUB Legacy 任务的比较 | | |
列出 GRUB 菜单中的当前引导项。
| bootadm list-menu 您还可以按项编号或标题查看各项。按标题查看项: bootadm list-menu entry-title 如果标题中含有空格,则必须使用引号来防止将标题解析为多个参数。例如: bootadm list-menu `This is a menu entry with a title' 通过指定项编号查看项: bootadm list-menu –i entry-number
| bootadm list-menu
|
生成一个新的 GRUB 配置文件 (grub.cfg),其中包含缺省引导装载程序设置,并针对系统上每个根池上的每个 Oracle Solaris 引导环境生成一个菜单项。
| bootadm generate-menu 如果系统上存在现有 grub.cfg 文件,请在 generate-menu 子命令中使用 –f 选项。此语法会销毁现有的 GRUB 2 配置并将其替换为新配置。 如果使用 –P 选项为系统上的特定根池生成 GRUB 2 配置文件,请注意,生成的 grub.cfg 文件存储在该根池的顶层 ZFS 数据集。
| 手动编辑 menu.lst 文件以添加新信息。
|
向 GRUB 菜单添加新项。
| 通过指定项编号添加项: bootadm add-entry –i entry-number 通过指定项标题添加项: bootadm add-entry entry-title
| 手动向 menu.lst 文件中添加项。
|
更改 GRUB 菜单中的项。
| 通过指定项编号更改项: bootadm change-entry –i entry-numberkey=value 通过指定项标题更改项: bootadm change-entry entry-title key=value 如果标题中含有空格,则必须使用引号来防止将标题解析为多个参数。 此子命令用于更改各个引导项,例如,将 Oracle Solaris 控制台设备指定为内核参数。如果项标题匹配多个菜单项,则仅修改第一项。 通过在引导时编辑 GRUB 菜单还可以更改引导项,就像在先前的发行版中对 GRUB Legacy 项所做的一样。
| 手动编辑 menu.lst 文件以进行持久性更改。 作为一种备用方案,在引导时编辑 GRUB 菜单以更改引导项,这些更改仅在下次引导系统之前有效。
|
从 GRUB 菜单中删除项。
| 通过指定项编号删除项: bootadm remove-entry –i entry-number 通过指定项标题删除项: bootadm remove-entry entry-title 如果已指定标题,则会删除带有此标题的所有项。
| 手动从 menu.lst 文件中删除项。
|
管理 GRUB 菜单。例如,设置要从中进行引导的缺省 GRUB 菜单项。
| bootadm set-menu key=value
| bootadm set-menu
|
向 GRUB 菜单添加定制菜单项(例如 Linux 项)。
| 向 custom.cfg 文件添加项,以确保使用正确的 GRUB 2 配置文件语法。请参见 定制 GRUB 配置。
| 在安装 Oracle Solaris 后向 menu.lst 文件添加信息。
|
在引导时编辑 GRUB 菜单以添加引导参数。
| 1. 使用方向键中断引导过程以选择所需菜单项,然后键入 e。 2. 将引导参数添加到指定引导项的 $multiboot 行的末尾。 3. 按 Ctrl-X 组合键从修改的项引导。如果系统控制台位于串行设备上,则在 UEFI 系统上可能无法正确识别 F10 键。在这种情况下,请使用 Ctrl-X 组合键。 注 - 编辑菜单项时按 Esc 键可返回到菜单项列表,所有编辑内容都将丢失。
| 1. 通过键入 e 中断引导过程。 2. 将引导参数添加到指定引导项的 kernel$ 行的末尾。 3. 按回车键,然后键入 b 以引导系统。
|
安装引导装载程序。
| bootadm install-bootloader 此命令可在镜像的根池中的所有设备上自动安装引导装载程序。
| installgrub(适用于基于 x86 的系统)和 installboot(适用于基于 SPARC 的系统)。
|
为 UEFI 或 BIOS 固件创建引导分区。
| 使用 zpool create 命令的新 –B 选项自动创建适用于固件的引导分区,同时创建要将新的 ZFS 池存储到的 ZFS 数据分区。
| GRUB Legacy 仅支持带有 BIOS 固件的系统,因此不需要单独的引导分区。
|
|