使用 /sbin/bootadm 命令可以执行以下任务:
手动更新系统中当前的引导归档文件。
列出系统中的引导归档文件中包括的文件和目录。
仅适用于 x86:维护 GRUB 菜单。
仅适用于 x86:找到活动的 GRUB 菜单以及当前的 GRUB 菜单项。
该命令的语法如下:
/sbin/bootadm [subcommand] [-option] [-R altroot] |
有关 bootadm 命令的更多信息,请参见 bootadm(1M) 手册页。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
要更新引导归档文件,请键入:
# bootadm update-archive |
管理系统中的引导归档文件。
根据需要更新当前的引导归档文件。同时适用于基于 SPARC 的系统和基于 x86 的系统。
要更新备用根上的引导归档文件,请键入:
# bootadm update-archive -R /a |
指定要应用于 update-archive 子命令的备用 root 路径。
不得使用 -R 选项引用任何非全局区域的根 (/) 文件系统。否则,可能会损坏全局区域的文件系统,危及全局区域的安全性,或者损坏非全局区域的文件系统。请参见 zones(5) 手册页。
重新引导系统。
# reboot |
以下过程介绍了如何在故障安全引导过程中挂载已镜像的元设备。在此过程中,所使用的根 (/) 文件系统为 /dev/dsk/c0t0d0s0。
引导故障安全归档文件。
SPARC 平台: 在 ok 提示符中,键入以下命令:
ok boot -F failsafe |
如果系统已运行,则打开终端窗口,成为超级用户并键入以下命令:
# reboot -- "-F failsafe" |
有关更多信息,请参见 如何在故障安全模式下引导基于 SPARC 的系统。
x86 平台:通过在 GRUB 菜单中选择故障安全引导项引导系统。
有关更多信息,请参见 如何在故障安全模式下引导基于 x86 的系统。
在故障安全模式下引导系统产生以下输出:
Starting shell. # |
在故障安全引导过程中,当系统提示您选择要挂载的设备时,请键入 q 来指明没有要挂载的设备。
Please select a device to be mounted (q for none)[?,??,q]: q |
暂时将根 (/) 文件系统的子镜像作为 /a 目录上的只读文件挂载。
# mount -o ro /dev/dsk/c0t0d0s0 /a |
将 md.conf 文件复制到 /kernel/drv 目录。
# cp /a/kernel/drv/md.conf /kernel/drv/ |
卸载 /a 目录。
# unmount /a |
使用 devfsadm 命令装入 md 驱动程序。
# update_drv -f md |
此命令的运行导致配置得以读取,并创建必要的设备。
在进行下一步骤之前,请等待几秒钟以确保有充足时间装入 md 驱动程序。
使用 metasync 命令确保同步根 (/) 文件系统。例如:
# metasync d0 |
在 /a 目录上挂载根镜像元设备。
# mount /dev/md/dsk/d0 /a |
更新上一步所挂载设备的引导归档文件。
# bootadm update-archive -v -R /a |
如果更新引导归档文件失败或出现错误消息,请执行以下操作:
更新 /a 目录上 md.conf 文件的时间戳,这将强制更新引导归档文件。
# touch /a/kernel/drv/md.conf |
运行 bootadm 命令更新引导归档文件。
# bootadm update-archive -v -R /a |
完成引导归档文件的更新需要几分钟的时间。如果引导归档文件已成功更新,将显示一条类似以下内容的消息:
changed /a/etc/system cannot find: /a/etc/cluster/nodeid: No such file or directory cannot find: /a/etc/devices/mdi_ib_cache: No such file or directory Creating ram disk on /a updating /a/platform/i86pc/boot_archive |
卸载 /a。
# unmount /a |
重新引导系统。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
要列出引导归档文件中包括的文件和目录,请键入:
# bootadm list-archive |
列出引导归档文件中包括的文件和目录。同时适用于基于 SPARC 的系统和基于 x86 的系统。
使用此过程可确定活动 GRUB 菜单的位置并列出当前的 GRUB 菜单项。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
要列出活动 GRUB 菜单的位置和当前的 GRUB 菜单项,请键入:
# bootadm list-menu |
列出活动 GRUB 菜单的位置,以及当前的 GRUB 菜单项。下面的列表中包括有关 autoboot-timeout、缺省项编号以及每个项的标题的信息。仅适用于基于 x86 的系统。
# bootadm list-menu The location for the active GRUB menu is: /stubboot/boot/grub/menu.lst default=0 timeout=10 (0) Solaris10 (1) Solaris10 Failsafe (2) Linux |
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
要设置活动 GRUB 菜单中的缺省引导项,请键入:
# bootadm set-menu menu-entry |
维护 GRUB 菜单。活动 GRUB 菜单的位置为 boot/grub/menu.lst。仅适用于基于 x86 的系统。
指定要设置为缺省菜单项的 GRUB 菜单项。
要检验缺省菜单项是否已更改,请键入:
# bootadm list-menu |
此时应该显示新的缺省菜单项。
以下示例说明如何将缺省 GRUB 菜单切换到上一个示例中显示的菜单项之一。所选菜单项为菜单项 2 "Linux"。
# bootadm set-menu default=2 |
有关每个 GRUB 实现中 menu.lst 文件的说明,请参见 x86: 受支持的 GRUB 版本。