之路 on it Road.com

更新 boot_archive 的步骤

  1. 注意现有 boot_archive 的时间戳和大小:
# cd /mnt/platform/`uname -m`
# ls -l boot_archive
  1. 使用 bootadm 更新 boot_archive:
# bootadm update-archive -R /mnt
  1. 如果再次检查 boot_archive 的时间戳和大小以确保它已更新:
# ls -l boot_archive
  1. 如果 boot_archive 上的时间戳没有改变,则可以使用以下命令强制更新 boot_archive:
# bootadm update-archive -fvR /mnt

例子:

# bootadm update-archive -fvR /mnt
forced update of archive requested
cannot find: /mnt/etc/cluster/nodeid: No such file or directory
cannot find: /mnt/etc/mach: No such file or directory
Creating boot_archive for /mnt
updating /mnt/platform/sun4u/boot_archive
15+0 records in
15+0 records out

注意:上面的“找不到”消息是预期的。

  1. 再次检查boot_archive 的时间戳和大小。
    它现在应该反映当前的时间戳:
# ls -l boot_archive
  1. 导出root池并重启:
# cd /
# zpool export rpool
# reboot

注意:如果在boot_archive更新后系统仍然无法启动并显示“刚刚加载的文件似乎不可执行”并且在上面的步骤中看到boot_archive的时间戳被更新并且bootadm update-archive被运行,那么可能还需要更新根磁盘上的引导块。
请参阅下面的帖子以在 ZFS 上安装引导块。

如何在 Solaris 中更新 ZFS root的 boot_archive

如果 Solaris 系统无法引导并显示类似于以下的消息,则需要从备用 Oracle Solaris 介质(例如故障安全存档、cd/dvd 介质或者网络上的安装镜像)引导系统,以便更新 boot_archive。

The file just loaded does not appear to be executable.
刚刚加载的文件似乎不可执行。
日期:2020-09-17 00:15:14 来源:oir作者:oir