http://www.seedsofgenius.net/solaris/solaris-tips-repairing-the-boot-archive

注意以下是系统盘非镜像情况下的操作,如果系统盘有镜像,需要先拆除镜像再按以下操作。

The Solaris boot archive, introduced in Solaris 10 10/08 (update 6) on SPARC (it’s in the X86 version since the 1/06 release), is similar to the initrd in Linux. It is “a collection of core kernel modules and configuration files packed in either UFS or ISOFS format.”

The boot archive is managed by two services:

svc:/system/boot-archive:default
svc:/system/boot-archive-update:default

The first checks, during boot, the contents of the boot archive against the files in the root filesystem. If there are any inconsistencies, the service drops to maintenance mode, preventing a full boot. While this can often be ignored, it may be necessary to re-create the boot archive from scratch (see below).

The second service updates the boot archive during a graceful shutdown or reboot, ensuring it is consistent with the equivalent files in the root filesystem for the next boot. A sudden or non-graceful shutdown is likely to leave the boot archive out of sync, resulting in the boot-archive service dropping to maintenance mode on the next boot.

If the contents of the boot archive do not match the files on the root filesystem, the following warning is displayed:

WARNING: The following files in / differ from the boot archive:

…along with a list of culprit files. If the list is empty, there may be some other problem, but in most cases, the archive simply needs to be updated. You can try ignoring the issue with the command # svcadm  clear boot-archive and on next shutdown the archive will be updated automatically, but the best way to deal with this issue is to recreate the boot archive while booted from alternate media; either from Failsafe mode, cd/dvd media, or a network image in single user mode.

ok boot -F failsafe
ok boot cdrom -s
ok boot net -s

1) Mount the root filesystem if it is not mounted already

# mount /dev/dsk/c0t0d0s0 /a

2) Remove the old archive (important, since simply updating the archive may not be sufficient for successful boot)

# rm -f /a/platform/`uname -i`/boot_archive

3) Finally, recreate it

# /usr/sbin/bootadm -R /a update-archive

4) Reboot

# init 6

最新文章

  1. alert()与console.log()的区别
  2. MOOCULUS微积分-2: 数列与级数学习笔记 Review and Final
  3. Java中设置classpath、path、JAVA_HOME的作用
  4. javascript 解析dom字符串
  5. Codeforces Round #228 (Div. 1) B
  6. iOS:特殊符号大全
  7. mysql delete数据 空间占用不减少的解决办法
  8. Repeater 控件 当数据源没有数据的时候显示 暂无数据 的两种方式
  9. hdu 4781 Assignment For Princess (2013ACMICPC 成都站 A)
  10. 基于Qt的P2P局域网聊天及文件传送软件设计
  11. 线程间通信--生产者消费者 升级版JDK5
  12. WPF 显示模态窗口和窗体
  13. displaytag 简单使用流程
  14. 小编辑 Java 中十进制和十六进制的相互转换
  15. HDU 4720Naive and Silly Muggles热身赛2 1005题(分锐角钝角三角形讨论)
  16. java32至md5加密
  17. 容器—stack
  18. mysql几种关联的区别
  19. Player2.0
  20. Cas 服务器 下载、编译及部署

热门文章

  1. Spark-运行时架构
  2. QT 实现拖放功能
  3. vue v-on监听事件
  4. linux vim vi编辑时撤销输入操作
  5. 关于sublime text 3 pylinter的错误提示
  6. 命令行下载Baiduyun files
  7. jQuery实现表格冻结行和列
  8. 论文笔记 — MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching
  9. fabric 安装及简单使用 (centos6)
  10. ionic2——安装Java jdk并配置环境变量