OBP监测程序管理SPARC的系统固件。
OPENboot不是一个简单的OS加载程序,如LILO。它是一个固件,允许在引导开始前编写、加载和运行基于堆栈的FORTH语言写成的程序,这在一个大型企业中定制服务器特别有用。
OpenBoot监测器有两个输入命令的提示符,ok提示符和>提示符
> n
ok
在>下输入n即可切换到ok提示符。命令一般在ok下输入。
直接输入boot即可以启动Solaris系统。如果上次启动后修改了硬件配置,则用boot -r重新引导。
boot -a可以进行手工引导,在启动各个阶段可以配置指定参数,包括内核路径、系统文件路径、引导设备的名称。
ok banner
可以浏览固件的版本信息和系统配置。
ok boot cdrom 从光盘引导系统
ok boot net 从网络引导
ok boot flooy 从软盘
ok setenv boot-device disk 设置默认引导设备为主驱动器
ok printenv boot-device 显示默认引导设备
ok reset 重新启动系统
ok test net 测试网络设备
ok probe-scsi 检测系统中安装的所有SCSI设备
恢复系统
如果系统连单用户模式也无法进入,那么就只能使用CD、DVD启动并进入单用户模式。例如/etc/passwd文件中有一个针对根用户无效的条目,此时系统不能进入单用户或多用户模式。此时:
ok boot cdrom
…
INIT: single user mode
Type Ctrl-d to process with normal startup,
…
#mkdir /temp
#mount /dev/dsk/c0t0d0s1 /temp
#vi /temp/etc/passwd
#sync; init 6
如果系统挂起,不能在上述控制台下输入命令,则可以用STOP+A(Ctrl+SPACE)停止系统,访问Openboot。在这种情况下,可以用go命令恢复系统正常的操作,否则没有保存的数据会丢失。
STOP命令: 只在SPARC平台上使用
STOP 进入POST环境
STOP-A 进入PROM监视器环境
STOP-D 执行诊断测试
STOP-F 进入FORTH语言环境
STOP-N 初始化永久RAM,设置默认目录。
实践,我用IBM X31通过USB2COM口接到SUN V440的Serial Management Port,然后运行SecureCRT 6.1控制。可以顺利进入SC>,但是用console总是没有办法切换到ok提示符下,后来在系统启动显示:
Rebooting with command: boot
时按下Ctrl+break(Stop+A),此时可以进入ok提示符。
然后输入:
ok boot cdrom –s
系统启动后显示#提示符。
#fsck –y
#reboot
重新启动系统,还是不行,显示错误:
Use is subject to license terms.
e_ddi_get_dev_info: Illegal major device number <-1>WARNING: md: d20: (Unavailable) needs maintenance
WARNING: Error writing ufs log state
WARNING: ufs log for / changed state to Error
WARNING: Please umount(1M) / and run fsck(1M)
WARNING: forceload of misc/md_trans failed
WARNING: forceload of misc/md_raid failed
WARNING: forceload of misc/md_hotspares failed
WARNING: forceload of misc/md_sp failed
Hardware watchdog enabled
怀疑是RAID没有同步,试着重新用CDROM启动,然后sync,
#sync
#init 0
#format //查看系统中磁盘个数
#fsck /dev/dsk/c1t0d0s0