解决SCO Openserver 5.0.5的启动问题
|
|
|
作者:佚名
来源:InterNet 加入时间:2005-2-15 |
SCO Openserver 5.0.5作为一种高效稳定、安全性高的多用户操作系统,在我们金融、邮 电等各个部门得到了广泛应用。在系统日常维护工作中,有时会遇到系统不能正常启动的问题。为了解决这些问题,我们应该首先了解其启动原理。
一、 Openserver 5.0.5的启动原理
Openserver 5.0.5的启动可以分为以下几个阶段:
1. 加载操作系统
计算机加电自检后,将BIOS的master boot装入内存,master boot将硬盘主引导区的boot0引导块装入内存后再将活动分区的引导块boot1装入内存,boot1将unix文件系统中的boot文件装入内存,boot程序被启动。
2. 保存/删除系统内存映像
boot 程序启动后,引导unix核心程序 /stand/unix,unix程序被引导成功后,启动init进程,init进程启动 /etc/inittab文件中所列的所有进程,整个系统被启动。
3. 整理文件系统
系统启动后,显示有关系统自身的信息,并检查根文件系统(包括所有文件和目录)状态是否正常,是否被侵害。如果根文件系统已经被侵害,系统启动文件系统修复命令fsck,对根文件系统进行清理和修复,并检查安全数据库。完毕后,系统进入下一阶段。
4. 选择启动方式
系统将要求用户选择启动方式。启动方式有两种:系统维护方式(单用户方式)和普通操作方式(多用户方式)。如果用户要进入系统维护方式,键入超级用户口令;如果要进入变通操作方式,键入Ctrl + d。
5. 设置系统日期时间
进入普通操作方式后,系统显示当前机器日期时间,并启动asktime命令,要求用户设置系统启动的日期和时间。
6. 系统启动成功
系统进入该阶段,检查系统的安全数据库,主要检查下面的系统数据库文件:
/etc/auth/system/default
/etc/auth/system/files
/etc/group
/etc/passwd
如果系统数据库文件正常,系统启动 /etc/rc2.d下的所有守护进程,安装所有的文件系统,然后启动打印服务和通讯服务,显示正常启动信息,进入login状态。从上面的叙述可以看出,SCO Openserver 5.0.5在启动过程中,主要涉及以下几个文件:/boot/stand/unix, /etc/init, /etc/inittab ,/etc/rc*.d
二、 利用应急盘,解决SCO Openserver 5.0.5的启动问题
1. 硬盘引导块内容损坏
系统在启动时提示:NO OS,如果系统以前能够正常工作,说明系统硬盘的引导块被破 坏。可以用以下方法恢复: ⑴ 用引导盘Boot引导系统,在Boot:提示符下,键入hd(40)unix ⑵ 进入系统维护状态,运行: # instbb hd /dev/hd0将引导块分区写到硬盘上 # dparam - w 将主引导块代码写到硬盘上 ⑶ 重新启动机器
2. boot找不到
SCO Openserver 5.0.5由于将启动文件boot设置为只读文件,并且不能更改属性,一般情况下, boot文件不会丢失。但如果由于某种原因,boot文件丢失,计算机开启后,出现以下提示信息, /boot not found Stage1 boot failure:error loading /boot /boot文件包含 boot(HW)程序,它用于在机器上电之后装入和执行核心。如果 /boot丢失了,可按以下过程来恢复: ⑴ 在驱动器中插入boot启动软盘,并重新开机,从启动盘执行初始引导。 ⑵ 在引导提示 boot:下输入“hd(40)unix”,从软盘引导后,这个命令从硬盘中装入核心。 ⑶ 在提示符下输入root的口令,把系统引入系统维护模式。 ⑷ 卸载 boot文件系统执行命令:#umount /stand ⑸ 装载 boot文件系统执行命令:#mount /stand ⑹ 将软盘上的文件拷到/stand目录下 #mount -r /dev/fd0 /mnt #cp /mnt /boot /stand #umount /mnt ⑺ 重新启动机器
3.unix未找到
如果开机后系统显示如下信息,那么就是 /unix文件丢失了:unix not found /unix文件 openserver核心。如果说/unix丢失了,可以从另一个核心文件引导,如:/unix.old、unix.safe /etc/conf/cf.d/unix或/etc/conf/cf.d/unix.old,只要在引导提示符下指定这个文件的完整的路径名就可以了,如果忘记文件名,可以在boot:提示下,键入dir命令查看。如果在系统中没有其它核心文件,那么可以通过以下步骤,用应急启动磁盘组来恢复系统/unix:⑴ 在驱动器中插入启动软盘,并重新开机。 ⑵ 在引导提示下输入“fd(60)unix.Z root = hd(42)swap = hd(41)”,这样就从软盘装入核心并从硬盘安装了根文件系统。 ⑶ 使文件系统进入系统维护状态。 ⑷ 卸载 /stand,执行命令:#umount /stand ⑸ 安装 /stand,执行命令:#mount /stand ⑹ 安装软盘文件系统 ,执行以下命令: #mount /dev/fd0 /mnt #cp /mnt/unix.Z unix #umount /mnt ⑺ 重新启动机器。
4.引导时挂起
如果引导进程在显示:PANIC: exit – Cannot extc /etc/init(PID 1)…这条信息之后挂起,那就说明 /etc/init文件从系统中丢失。/etc/init一旦开始执行,init过程就会在系统上产生所有其它进程。没有 /etc/init文件,新的进程就无法开始执行。可以采用以下步骤来恢复/etc/init文件: ⑴ 在驱动器中插入boot启动软盘,并重新开机。 ⑵ 在引导提示符下按回车键,并在得到提示时插入root根文件系统软盘,这样由软盘引导系统并装入核心。 ⑶ 使用命令“mount /dev/hd0root /mnt”来安装硬盘根文件系统。 ⑷ 使用命令“cp /etc/init/mnt /etc/init”将 /etc/init文件从软盘上的根文件系统复制到所安装的硬盘上。 ⑸ 输入命令“umount /mnt”,拆卸硬盘文件系统。 ⑹ 从驱动器中取出软盘,并用命令“haltsys”关机。 ⑺ 在引导提示下按回车键,重新启动计算机。
5.不能进入多用户模式
如果系统在启动后显示:INIT:can not open /etc/inittab error 2,在按Ctrl–D后系统不能进入多用户模式,那就说明 /etc/inittab文件丢失,/etc/inittab中包含给init用的指令。当inittab丢失,init就不能执行系统启动指令且系统不能进入多用户模式,当按了 Ctrl–D后,系统依然保持单用户模式。因为 /etc/initta中包含供系统其它部分参考的指令,所以在建立“应急启动磁盘组”时就要往根文件系统软盘中写一个特殊的 /etc/inittab。因此,如果出现 /etc/inittab丢失的问题对系统的恢复就不能简单地把 /etc/inittab从软盘文件系统复制到硬盘中去,而是要把 /etc/conf/cf.d/init.base复制到 /etc/inittab,然后再重新链接核心,具体步骤如下: ⑴ 启动机器,进入系统维护状态。 ⑵ 执行命令“cp /etc/conf/cf.d/init.base /etc/inittab”将init.base复制到 /etc/inittab。 ⑶ 执行命令“/etc/conf/cf.d/link - unix”重新链接核心,这时会建立一个新的 /etc/inittab文件。 ⑷ 用命令“haltsys”关机。 ⑸ 在引导提示下按回车键,重新启动计算机。
6./etc/bcheckrc找不到
若在系统引导时显示如下信息:/etc/initscript:/etc/bcheckrc:not found ,说明文件 /etc/bcheckrc丢失。当系统引导时,init就会按照 /etc/inittab的指示执行bcheckrc。如果需要,bcheckrc将对根文件系统进行检查并修理。在引导系统时,文件 /etc/bcheckrc应该在硬盘上。如果 /etc/bcheckrc丢失了,就用以下过程恢复: ⑴ 启动系统,进入系统维护模式。 ⑵ 运行fsck对根文件系统进行清理。 ⑶ 执行命令:cp /opt/K/SCO/Unix/5.0.5Eb/etc/bcheckrc /etc/bcheckrc恢复 /etc/bcheckrc。 ⑷ 在提示符下输入haltsys并重新引导系统。
7./bin目录被移去
/bin目录中存放着大量与系统有关的执行文件。当 /bin目录被移至另一个目录(如:/binbak)时,系统将无法正常退出,也无法正常启动。可以采取以下步骤恢复: ⑴ 在驱动器中插入启动软盘,并重新开机。 ⑵ 在引导提示符下按回车键,并在得到提示时插入根文件系统软盘。这样由软盘引导系统并装入核心。 ⑶ 使用命令“/etc/fsck –y /dev/hd0root”对硬盘上的根文件系统进行清理。 ⑷ 硬盘上的根文件系统被清理干净后,使用命令“mount /dev/hd0root /mnt”来安装硬盘根文件系统。 ⑸ 恢复 /bin/目录(如“mv /binbak /bin”)。 ⑹ 在提示下输入haltsys并重新引导系统。
8./bin/sulogin丢失
系统在引导时,显示:INIT:SINGLE USER MODE /etc/initscipt:/bin/sulogin:not found,并不能进入系统维护模式,直接进入多用户模式,表明系统的 /bin/sulogin文件引导失败,需要从备份系统中进行恢复,恢复的方法与6类似: ⑴ 启动系统,进入多用户模式。 ⑵ 运行 fsck对根文件系统进行清理。 ⑶ 执行命令:cp /opt/K/SCO/Unix/5.0.5Eb/bin/sulogin /bin/sulogin来恢复 /bin/sulogin。 ⑷ 在提示符下输入haltsys并重新引导系统。
9.系统在注册提示符下挂起
如果系统能正确引导,但当进入多用户模式在注册时挂起,表明文件 /bin/login丢失。 /bin/login文件包含login程序,该命令在每个终端对话区开始时运行,以允许用户开始时访问系统。可以参照8,按照如下步骤恢复 /bin/login文件: ⑴ 启动系统,进入单用户模式。 ⑵ 执行命令:cp /opt/K/SCO/Unix/5.0.5Eb/bin/login /bin/login 恢复 /bin/login 。 ⑶ 进入多用户。
10.系统在引导挂起
在引导时,如果系统出现硬盘错误的指示,一般情况下,不用考虑病毒的因素,因为unix 环境下的病毒比较少见。但是,如果机器硬盘是unix与dos(windows)并存,可以考虑病毒感染硬盘分区表或引导分区,采用杀毒的方法进行解决。
Openserver 5.0.5的引导过程比较复杂,如果在引导过程中任意环节出现问题,都可能导致引导异常。上面所列,只是常见的引导问题,另外一些引导故障,在掌握其启动原理的情况下,可以针对故障原因,有针对性的加以解决。
[文章录入员:nancy] |
|
|
|
|