admin 管理员组

文章数量: 887021


2023年12月22日发(作者:java安装教程 win7)

SCO Unix系统的引导过程及常见问题分析一、SCO Unix的启动过程

在SCO Unix系统中,启动过程是这样的:

1、当打开电脑的电源或是重新启动系统时,在计算机硬件自检完毕后,由BIOS中的INT

19由自举程序确定硬盘的活动分区,并将系统控制权交给硬盘中的活动分区的主引导记录,Master Boot,,由主引导记录调用SCO Unix的引导程序boot。

2、SCO Unix的启动过程主要是由boot程序引导SCO

Unix核心程序开始,即将系统控制权交给/stand/unix: 根据SCO

Unix的核心配置检查系统的硬件情况,并配置相应的硬件驱动程序,将硬件与系统连接起来, 检查并清理root文件系统,如果上次是非正常关机,则需要对root文件系统进行清理,还可能询问用户是否要对系统dump的内容进行备份和删除,如果root文件系统是清洁的,就将root文件系统安装(mount)到系统上, 此时系统已经处于单用户模式下,如果用户直接输入root口令,就能进入系统维护模式, 如果用户按下ctrl+d键,系统就启动进入多用户模式的程序,首先,系统提示用户修改系统时间,如果30秒内用户没有处理,或用户直接按回车键,系统就进入了多用户模式, 检查安全数据库,配置终端参数,启动网络管理进程,完成SCO Unix的启动。

二、SCO Unix启动过程中常见故障分析

根据上面所描述的Unix启动过程分析,可能在引导过程中导致故障的因素有:不正确的分区表数据、主引导记录被破坏、硬盘参数没有设置正常、部分关键文件被破坏或参数设置错误等。以下是不能引导Unix的几个具体实例。

1、由分区表引起的故障

故障现象:一台HP VL/486,540M硬盘,分有一个unix分区,安装有SCO Unix

3.0,一次在将MS-DOS格式软盘的数据拷入机器后,未及时将软盘取出,后来重新启动机器,才发现因软驱中有盘而不能启动。取出软盘后,机器自检完毕后就死机,屏幕上无任何显示。

因使用了MS-DOS的软盘启动过机器,怀疑被感染了引导型病毒,用KV300检查,果然有CMOS

Destroyer病毒,杀毒后重新启动机器,故障现象依旧。

此时,用Windows

98系统盘从软盘启动后,运行fdisk程序查看系统分区表,发现此时硬盘上居然有两个分区,一个700M的MS-DOS分区为活动分区,另一个540M的非DOS分区,而实际上硬盘仅有一个540M的Unix分区,将700M的MS-DOS分区删除,并将540M的Unix分区置为活动分区后,系统就变为正常了,可以从硬盘启动SCO Unix了。

2、由于/etc/default/boot文件中参数设置不当引起的故障

故障现象:在一台PII 350的机器上装好SCO Unix 5.0后,拿到一台586的电脑上使用,由于在PII机器上有电源管理功能,故在boot文件中加入一条命令:t=no,以避免每次启动时显示出错信息,但在586的机器上,由于没有电源管理功能,每次启动时都会在屏幕顶

部显示一个出错信息,故在boot文件中另外加入一条命令:=no,想取消电源管理功能,但此后就不能启动unix了,每次在boot提示符后输入回车后,显示如下信息:

hd(40)unix swap=hd(41) dump=hd(41) root=hd(42)

SHOULD NOT BOOT----LOW POWER(use "=always" to override)

Running an A/C mains power(not batteries)

Unknown percentage of full battery charge remains condition of

batteries isn't known.

The system should be TURN OFF until adequate power is available.

然后关闭系统。

此例是系统管理人员对boot文件中的=test用法不很熟悉,导致系统不能启动,由于SCO Unix在启动时,首先检查boot命令行上的参数,然后检查/etc/default/boot文件中的缺省配置,由于加入了=no参数,致使SCO Unix认为系统电源过低而不能启动。解决办法是启动时在boot后输入hd(40)unix apm. boot

=always来引导unix,强迫unix忽略boot文件中的=no命令,然后用超级用户注册进入系统维护模式,将boot文件中的=no删除掉,系统恢复正常。

3、硬盘换到另外一台机器后不能启动

故障现象:先在一台HP VE, PII 350的机器上(3.2G硬盘)装好了SCO unix 5.0,能正常启动,后将盘拿到一台HP VL5 586/166的机器上后不能启动,显示如下的出错信息:

WARNING: hd: no root disk controller was found

H init ime Loadable Driver may be required G drain8042

PANIC:srmountfun-Error 19 mounting rootdev(1/41)

Error 19 opening dumpdev(1/41)

Dump not completed

在boot后键入unix dump=hd(40)后

Default dumpdev is:(1/40)

Do you want to dump to the default device?

Please enter 'y'(yes),'n'(no) or 'q'(quit)[default 'y']

此时,无论选什么,均到下一个提示:

Default swapdev is: (1/41)

Do you want to dump to the swap device?

Please enter 'y'(yes),'n'(no) or 'q'(quit)[default 'y']

尔后无论输入什么值,均显示与上步相同的错误提示后关机。

由于此硬盘在PII机器上一切正常,说明硬盘是好的,到586机器上后不能启动,说明硬盘在此机器上没有配置好,进入BIOS,发现BIOS能正确地识别此硬盘,且参数都是正确的,但硬盘接在Secondary IDE Master接口上,将硬盘接到Primary IDE Master上后,一切正常。

此例说明:SCO Unix的启动盘必须安装在Primary IDE Master上。

4、一台HP VL8 PII/350机器,4.3G硬盘,在SCO Unix

5.0的安装过程中没有出现任何出错提示,但安装完毕后,不能从硬盘启动,并显示如下提示信息:

Not a directory

Boot not found Cannot open

Stage one boot failure

Error loading hd(40)/boot

此例在安装时,准备将硬盘分为两个分区,分别安装SCO Unix 5.0和Windows

98中文版,因此在安装Unix时,使用了交互式(Interactive

fdisk/divvy)方式进行安装,将硬盘空间的1/3划分给Unix分区,安装结束后重新启动机器时,出现了上述的提示。

此时用Win98启动盘启动机器后,运行fdisk程序查看分区表的情况,发现硬盘只有2GB,一个1.4G的非DOS分区为活动分区,占用了70%的空间,另有30%的空间剩余,未分区,。显然,在使用fdisk/divvy进行分区时,fdisk程序未能正确识别硬盘的参数,也可能是BIOS在定位引导文件时有问题。要确保硬盘参数能被正确识别,可按以下步骤进行:

在BIOS设置中,将所有DOS特性和caching(如bios shadowing)关闭(disable)。

在Boot:提示符下输入正确的硬盘几何参数,例如:

Boot: biosgeom(8895,15,63)

此后用“Interactive fdisk/divvy”安装成功。

在安装Unix/Windows双系统时,最好先安装Windows,然后再安装Unix,使用“Customize”或“Interactive

fdisk/divvy”安装时,选择“使用剩余硬盘空间”来建立Unix分区,这样一般不会出现识别硬盘出错的现象。

5、由于某些重要系统文件损坏而导致不能正常启动 启动后直接进入单用户模式

故障现象一:在开机启动时,当用户按下ctrl-d键后,系统显示如下信息:

INIT: Cannot open /etc/inittab

INIT: SINGLE USER MODE

然后进入单用户模式。

此例说明记录系统相关信息的文件/etc/inittab已经损坏,可用以下方法恢复: 以超级用户身份登录,进入系统维护模式, 输入以下命令行

cd /etc/conf/cf.d

touch /etc/.new unix

/bin/idmkenv 此时系统提示如下信息:

The kernel environment includes device node files and /etc/inittab.

The new kernel may require changes to /etc/inittab or device nodes.

Do you want the kernel environment rebuild? (y/n)

此时输入“,”并按下回车键,系统出现以下提示:

The kernel has been successfully linked and installed.

To activate it, reboot your system.

Setting up kernel environment. 输入命令:

cat /etc/inittab

如果系统提示不能打开/etc/inittab,请输入以下的命令恢复/etc/inittab文件的符号连接:

ln -s /var/opt/K/SCO/UNIX/*/etc/inittab /etc/inittab 输入命令:

exit

该命令退出系统管理模式,启动多用户进入多用户用户将看到以

下的提示信息:

ENTER RUN LEVEL(0-6,s or S):

输入2,系统将进入多用户模式。

经过上述步骤,系统的/etc/inittab文件将得到恢复,用户不需要重新启动系统。

故障现象二:在引导unix后,系统直接到超级用户(#提示符)

此例说明/etc/passwd文件已经丢失,可使用以下命令恢复符号连接:

ln -s /var/opt/K/SCO/UNIX/*/etc/passwd /etc/passwd 启动后无论用任何用户都不能注册

故障现象:一台HP VL 486,装有SCO Unix

3.0,系统启动后,能出现系统登录提示符login,但无论是在主控台上,还是在终端上,无论用什么用户名注册都不能进入,系统似乎是僵死了。

出现这种现象,一般是/bin/login文件丢失了,因为当用户试图通过主控台或终端登录到系统中时,首先执行的就是/bin/login程序,来检查用户的合法性,如果此文件丢失,用户当然就无法登录到系统中去。如果用户有系统备份盘,可以将备份盘中的login文件恢复到系统中,方法是重新启动机器,直接输入超级用户口令(此时是用sulogin进行登录),进入系统维护模式,进入恢复,如果用户手中没有备份盘,则只能到装有相同版本系统的机器中将此程序拷贝过来,否则的话,就只有重装unix了。 启动时不提示用户进入单用户模式,而是直接进入多用户模式

故障现象:在unix的启动过程中,显示can't found /bin/sulogin的信息后,直接进入多用户模式。

此例说明/bin/sulogin文件被损坏或已经丢失,需要从备份盘中恢复,或从其它机器上拷贝过来。

启动时不提示用户输入时间,而是直接进入多用户模式

故障现象:一台HPVL4 4/66M,操作系统为SCO unix

3.0,在unix的启动过程中,不提示用户输入时间,而直接进入多用户模式。如果用户要修改时间,必须以root的身份注册进入系统,使用date命令进行修改。

此例说明系统文件/etc/asktime被损坏或已经丢失,需要从备份盘中恢复,或从其它机器上拷贝过来。 一台HP VL 8 PII/350机器,安装有SCO Unix

5.0,一次在引导系统时,显示NO OS的信息后死机。

出现这种情况,一般是硬盘上管理引导的部分文件(/etc/hd0boot、/etc/hd1boot)损坏,或主引导块(/etc/masterboot)损坏所引起的,可按以下步骤恢复: 插入应急软盘,重新引导系统,在出现Boot:提示符时,输入:hd(40)unix,引导硬盘中的unix系统, 直接进入系统维护模式,在#提示符下输入以下命令:

#instbb hd /dev/hd0a

#dparam -w

instbb命令将引导块分区写给硬盘,dparam命令将主引导代码写给硬盘。 系统引导时提示:boot not found,然后死机。

在引导系统时,出现以下的出错提示:

boot not found

Cannot open

Stage 1 boot failure: error loading hd(40)/boot

出现上述提示,表示系统中/boot文件丢失了,可按以下的步骤来进行恢复: 插入应急软盘,重新引导系统,在出现Boot:提示符时,输入

fd(60)unix.Z root=hd(42)来引导系统,进入系统维护模式,

卸载/stand文件系统,由于/stand文件系统中存放有引导文件和内核,因而被设置成只读的,如果要替换其中的/boot文件,必须先卸载/stand,再重新安装,具体步骤如下:

#umount /stand

#mount /stand 安装软盘文件系统:

#mount -r /dev/fd0 /mnt 将应急软盘上的boot文件拷贝到硬盘上的/stand目录中:

#cp /mnt/boot /stand 用umount

/mnt命令卸载软盘文件系统,并从软驱中取出软盘,然后从硬盘重新引导系统。 在引导系统时提示:unix not found,应如何解决,

在引导系统时提示:unix not

found,表明系统的内核文件unix丢了,可用其它内核文件来引导系统,如、等,只须在Boot:提示符后输入相应的系统内核文件名即可。如果系统中没有其它内核文件或不知道其它内核文件的文件名,也可用应急软盘进入引导,然后来恢复unix文件。

插入应急软盘,在出现Boot:提示符后输入:

fd(60)unix.Z root=hd(42) swap=hd(41)

重新引导系统后,系统位于root文件系统,此时,可用拷贝boot文件一样的方式来拷贝软盘中的unix,Z文件(不必解压缩),或重新构筑unix核心。


本文标签: 系统 硬盘 启动 引导 进入