Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104573517
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-02 19:41:30

  出处:Unix爱好者家园unix-cd.com   
二、创建应急盘
由boot软盘(引导盘)和root文件系统软盘(根文件系统盘)组成。其中boot应急盘包含了引导和装入UNIX系统核心所必需的三个文件: 
  /boot     /etc/default/boot   /unix       root应急盘包含了一部分UNIX系统的实用程序,它们帮助把UNIX系统完整地恢复起来。 可以根据不同的用户需求制作不同的应急引导盘,笔者在此分别介绍三种应急软盘的制作方法。 
  一、创建一个普通的root和boot应急盘组 
  使用两张3.5英寸1.44MB软盘来建立应急盘。 
  1.以超级用户root身份登录。 
  2.可以使用两种方式进入创建应急盘的界面: 
  使用scoadmin中filesystem下的floppy manager或键入命令:mkdev fd。 
  3.根据提示制作boot盘和root盘。 
  其中制作boot盘有两个选项: 
  (1)制作一特定系统的应急盘,包含与本机系统相同的内核; 
  (2) 制作一个较小的通用内核应急盘,只连接较少的设备驱动,如果当前的核心较大,一张软盘装不下,就只好采用通用内核应急盘。 
  制作root盘时,若还留有空间,那么系统将提示是否需要增拷额外文件,用户可以根据实际情况进行处理。 
  二、创建一个包含vi工具的系统应急引导盘 
  通常创建的应急引导盘没有vi编辑功能,只能使用ed编辑文件。对于不熟悉ed工具的系统管理员来说是很不方便的。在创建应急盘时,可以适当添加一些自己需要的工具。 
  系统在用ramdisk创建基本的映象之后提示: 
  Do you want to place extra files on the root filesystem?(y/n) 
  这时输入y,并在提示符下键入如下拷贝命令: 
  cp /usr/bin/vi /mnt /usr/bin 
  mkdir -p /mnt/usr/lib/terminfo/a 
  cd /usr/lib/terminfo/a 
  cp ansi /mnt/usr/lib/terminfo/a 
  exit 
  当系统崩溃用应急盘启动时,首先要指定终端类型,即 
  # set TERM ansi 
  这样就可以使用vi工具了。典型的例子是修改系统被遗忘的超级用户的口令。 
  三、 创建一个包含网络文件的系统应急引导盘 
  为了让使用应急引导盘引导的UNIX系统具有网络方面的功能,可以在root盘中包含有关的网络文件,这样使用应急盘引导的UNIX系统就可以运行rlogin(TC)、telnet(TC)、ftp(TC)等应用程序。 
  在〈bootroot〉提示符下键入如下拷贝命令: 
  cp /etc.services /mnt/etc/services 
  cp /etc/tcp   /mnt/etc/tcp 
  cp /etc/slink  /mnt/etc/slink 
  cp /etc/ifconfig /mnt/etc/ifconfig 
  cp /bin/who   /mnt/bin/who 
  cp /bin/ps   /mnt/bin/ps 
  cp /usr/bin/telnet /mnt/usr.bin/telnet 
  cp /usr/bin/rlogin /mnt/usr/bin/rlogin 
  cp /usr/bin/ftp  /mnt/usr/bin/ftp
若系统中存在unix.old等备份文件可直接利用。以下为应急引导盘的应用。 
1、插入boot应急盘,重新启动系统。 
2、在boot:提示时,键入:fd(60)unix.Z root=hd(42) swap=hd(41) 
3、进入单用户模式,以root身份登录。 
4、# unmount /stand:/stand中放置了引导文件和内核,为只读,需先卸载再装载。 
5、# 某mount /stand:重新安装。 
6、# mount -r /dev/fd0 /mnt:安装boot软盘文件系统 
7、# cp /mnt/Unix.Z /stand:用户无需解压缩。 
8、# umount /mnt 
9、# haltsys
应急盘的测试
具体测试步骤:
以root注册,然后正常关闭系统:shutdown命令;
将应急盘插入软盘驱动器,并重新启动系统;
在“boot:”提示符下回车,从软盘引导系统;
当系统提示“Insert root filesystem floppy disk and press ”,插入root应急盘,此时,系统将装载磁盘RAM;
当系统出现提示“#”,说明引导成功;
fsck /dev/hd0root(成功的话就重新启动机器)
否则:mkdev hd
mount /dev/hd0root /mnt
从磁带恢复系统:#cpio –itvcB –I /dev/rct0;
关闭系统
重新从硬盘启动系统。
1、SCO OpenServer 5.05 系统的启动流程
2、SCO OpenServer系统启动中涉及的主要文件
3、SCO OpenServer系统启动过程的配置
4、SCO OpenServer系统运行级别的切换
5、SCO OpenServer系统关闭
6、SCO OpenServer 5.05 系统的启动流程
SCO OpenServer 操作系统启动阶段
系统自举阶段
加电或复位
BIOS启动
Boot Loader
Boot Loader通常是一段汇编代码,存放在MBR中,它的主要作用就是将系统启动代码读入内存。在启动过程中,BIOS会把Boot Loader读入内存,并把控制权交给它。
SCO OpenServer 操作系统启动阶段
Boot Loader将控制权交给操作系统的初始化代码后,操作系统必须马上完成内存管理、设备管理、文件管理、进程管理等功能的初始化工作,以便进入用户状态,等待用户的操作命令。在SCO OpenServer系统中,Boot Loader程序引导SCO OpenServer系统核心程序 /stand/unix,来完成系统的初始化工作。SCO OpenServer系统启动具体步骤:
boot提示;
boot根据 /etc/default/boot 文件中的默认引导串加载缺省的系统核心,即 /stand/unix;
自动检测系统配置信息;
保存/删除系统内存影像
检查和修理root文件系统
选择系统运行模式(单用户模式与多用户模式)
设置系统时间(多用户模式)
检查安全数据库
清理并安装系统启动期间所设置安装的其它文件系统
开启各类系统服务(init)
在系统被引导运行后,将启动一个称为 init 的进程,该进程将启动 /etc/inittab文件中所列的进程,并且引导系统进入某一特定的运行级别。
启动结束
SCO OpenServer系统启动中涉及的主要文件
/etc/boot 
/etc/boot文件是一个文本文件,其内容规定了系统启动程序的参数设置。
/etc/inittab 
/etc/inittab文件是一个文本文件,其内容是一个个独立的项组成,项与项之间由换行符分隔,init进程顺序读取各项,控制init生成相应的进程。
/etc/inittab文件具体格式:< identifier : run_level : action : process>
字段含义说明:
字段      说明
identifier      登记项标识符,最多4个字符。用于唯一标识 /etc/inittab文件中的每个登记项
run_level      系统运行级,即执行登记项的init级别。用于指定相应登记项适用于的运行级,即在哪个运行级中被处理。如果该字段为空,那么相应的登记项将适用于所有运行级。需要注意的是,a、b、c并不是真正的运行级,因此系统永远不会进入这些运行级,在执行相应的init命令(init a、init b、init c)时,该字段中指定有a、b、c的登记项将会被处理。Init在改变运行级时,将给任何没有对应于指定运行级的登记项的进程发送一个警告,如果20秒后相应的进程还没有终止,那么init将使用杀死信号强行终止这些进程。
action      动作关键字,用于指定init命令或进程对应进程所实施的动作,具体动作包括:boot:只有在引导过程中才执行该进程,但不等待该进程的结束,当该进程死亡时,也不重新启动该进程;bootwait:只有在引导过程中才执行该进程,并等待该进程的结束,该进程死亡时,也不重新启动该进程。实际上,只有在系统被引导后,并从单用户模式进入多用户模式时,这些登记项才被处理;如果系统的默认运行级为2,那么这些登记项在系统引导后将马上被处理。initdefault:指定系统的默认运行级。系统启动时,init将首先查找该登记项,如果存在该登记项,那么init将据此决定系统最初要进入的运行级(即默认运行级)。具体说来,init将指定该登记项“run_level”字段中的最大数字(即最高运行级)为当前系统的默认运行级;如果该字段为空,那么将其解释为“0123456”,并以6作为默认运行级,如果不存在该登记项,那么init将要求用户在系统启动时指定一个最初的运行级。off:如果相应的进程正在运行,那么就发出一个警告信号,等待20秒后,在通过杀死信号强行终止该进程。如果相应进程不存在就忽略该登记项。once:启动相应的进程,但不等待该进程结束,便继续处理 /etc/inittab文件中的下一个登记项;当该进程死亡时,init进程不重新启动该进程。注意:在从一个运行级转换到另一个运行级时,如果该进程仍然在运行,那么init就不重新启动该进程。ondemand:与“respawn”的功能完全相同,但只能用于运行级 a、b、c的登记项。powerfail:只在init接收到电源失败信号时才执行的相应进程,但不等待该进程的结束。powerwait:只在init接收到电源失败信号时才执行的相应进程,并在继续对 /etc/inittab文件进行任何处理前等待该进程的结束。respawn:如果相应的进程还不存在,那么init就启动该进程,同时不等待该进程的结束就继续扫描 /etc/inittab文件,当该进程死亡时,init将重新启动该进程,如果相应进程已经存在,那么init将忽略该登记项,并继续扫描/etc/inittab文件。sysinit:只有在启动或重新启动系统,并首先进入单用户模式时,init才执行该登记项。而在系统从运行级1-6进入单用户方式时,init并不执行这些登记项。“action”字段为“sysinit”的登记项在“run_level”字段不指定任何运行级。wait:启动该进程并等待其结束,然后在处理 /etc/inittab文件中的下一个登记项。
process      所有执行的shell命令(由init传送相应的shell执行)。任何合法的shell语法均适用该字段。
/etc/rcn与目录 /etc/rcn.d(其中n为运行级别)
/etc/rcn是一个shell程序,当系统进入运行级别n或离开运行级别n时,init就要将对应的rcn投入运行,rcn的主要任务是启动或终止/etc/rcn.d目录下的某些shell程序文件,每个文件的文件名指定了它们的启动和终止。
运行级别
²      0运行级:系统关闭;
²      1运行级:单用户模式。
²      2运行级:多用户模式。
²      3运行级:RFS状态。用于启动远程文件共享(RFS)和相应的守护进程,将本机连接到RFS网络,安装远程资源,自动提供本地资源。
²      4运行级:用户可定义运行级别,系统未使用。
²      5运行级:停止系统运行,并重新引导。
²      6运行级:停止系统运行,并重新引导。
²      S(s) 运行级:单用户模式。当系统进入S(s)级运行时,与系统在1级运行时的最主要区别是,系统上所有已经安装的文件系统仍保持安装状态不变。
²      a、b、c虚拟运行级:没有与之对应的系统实际运行状态,不改变当前的运行级别,作用是使init进程仅处理 /etc/inittab 文件中包含a、b、c运行级别设置的那些记录项。
²      Q、q:引起对 /etc/inittab 文件的重新检查。
² 
阅读(817) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~