发信人: Hopper()
整理人: hahalee(2000-02-28 20:00:44), 站内信件
|
http://www.sina.com.cn 1999年11月11日 16:03 王波
第3章 系统管理和维护
当使用安装程序Sysinstall完成了系统安装和基本配置任务之后,系统需要 重新启动。在系统从硬盘上重新启动之后,一个完好的FreeBSD系统就展现在使用 者面前了。系统将出现登录提示,允许使用者登录进入FreeB SD操作系统。
Unix是一种多用户、多任务的操作系统,它支持并能管理多个用户使用系统 ,其用户分为普通用户和管理员两类。普通用户只能使用系统提供的具体应用功 能,而只有管理员才能更改系统的配置、维护整个系统。FreeBSD系统的拥有者不 但是仅仅使用系统的普通用户,同样也是整个系统的管理员,要负责系统维护的 任务。
Unix下系统维护的任务具有相当大的伸缩性,按照不同的系统的要求,可以 非常简单,仅仅使用系统初始提供的管理策略即可,也能是一种相当复杂的任务 ,对访问的客户进行更严格、更全面的限制。无论如何,FreeBSD的使用和维护都 是一件富有挑战性的任务。
系统的启动与关闭
不象个人计算机上的其他几种操作系统,FreeBSD被设计为一种可以永久运行 的系统,正常情况下不需要也不应该频繁的启动和关闭。然而,FreeBSD的启动过 程从计算机系统自检到载入FreeBSD系统内核,其中经过了几个不同的阶段,这些 阶段的操作都涉及到系统维护,因此相当重要,需要系统管理员加以了解。同样 ,由于FreeBSD是一个多用户系统,在后台运行着相当多对系统而言非常重要的进 程,系统关闭时就需要首先关闭这些进程,因而FreeBS D的关闭过程也必须按照 一定的要求来操作,否则就会对系统造成破坏。
系统启动过程
普通个人计算机的启动过程相当简单,首先是系统BIOS自检,自检之后将载 入启动硬盘上的主引导区,由主引导区上的引导程序再载入具体操作系统。标准 的主引导区将按照启动分区的设置,引导该分区上的操作系统,FreeBSD也可以使 用这种方式。但更常见的引导FreeBSD的方式,是使用FreeBSD Boot Manager,来 管理和负责引导包括FreeBSD在内的多个操作系统。
多操作系统引导程序
按照计算机启动硬盘第一个扇区的系统主引导程序的不同,计算机有不同的 启动过程。FreeBSD最常使用 FreeBSD Boot Manager,它可以让使用者在系统中 共存的不同操作系统进行选择。
如果使用了Boot Manager用于多操作系统的引导,则系统自检后首先进入Bo ot Manager的引导界面。
F1: FreeBSD
F2: Dos
F5: Disk 2
Default F1
Boot Manager使用计算机的功能键来启动各个分区的操作系统,使用F1将启 动第一个分区wd0s1 上的操作系统,F2启动wd0s2,F3对应wd0s3,等等,F5启动 另一个硬盘上主引导区的引导程序。这样可以在第二个磁盘上也安装Boot Manag er,由它来引导自己硬盘上各分区的操作系统。只有在分区的确存在的情况下, Boot Manager才显示相应的启动热键,并从分区的类型判断它是那种操作系统。 在使用者选择了某个选项,或者经过了一定的延迟时间之后,Boot Manager就启 动FreeBSD系统。
使用Boot Manager作多操作系统引导需要注意的是:一旦在这台计算机中重 新安装Dos/Windo ws系统,则主引导区就被重写,需要重新安装BootManager。
当不想使用Boot Manager引导系统,而打算回到标准引导区的方式(不再需 要引导多操作系统)时,可以使用DOS程序fdisk.exe来恢复主引导区的内容。也 可以使用FreeBSD的sysinstall程序来重新安装标准主引导区。
A:> fdisk /mbr
但是,Boot Manager仍然使用BIOS调用来获得分区上的数据,由于BIOS只能 访问硬盘1024 柱面内的分区,因此FreeBSD的引导分区必须在1024柱面以内才能 正常启动系统。新的BIOS中使用LBA等方式对硬盘数据进行了重新映射,来避免这 个问题。然而就需注意不能随意更改BIOS中的硬盘映射方式不可随便更改,必须 与硬盘进行分区时的设置一致,否则BIOS就不能正确找到以前设置的分区。
boot loader
无论是标准引导程序,还是FreeBSD Boot Manager,都将载入FreeBSD基本分 区的第一个扇区,这里放置着FreeBSD的启动程序Boot Block,它将载入FreeBSD 文件系统中的boot l oader程序,不需进行任何操作,boot loader程序将引导系 统内核来启动系统。但在这个过程中也可以中断自动启动进程,进入交互模式, 从而更改启动内核、进行硬件设置、甚至提供了选择不同的boot loader程序的机 会。
FreeBSD 3.1-release中更新了系统的boot loader程序,这个新boot loa d er程序与FreeBSD 2.2.x和3.0版本使用的boot loader不同,升级的原因之一是老 版本的b oot loader不能启动ELF格式的内核,此外新版本的boot loader功能更强 大。因此老版本的boo t loader的行为与下面描述的不同。
通常没有必要改变Boot Loader,如果要更改使用的Boot Loader程序,就要 在启动屏幕最先印出一个简单的斜线 “/” 时,在几秒时间内按下空格键,否则 启动过程将略过这个步骤,直接进入下一步。如果按下空格,则系统将出现boot 提示符。
/
>>FreeBSD/i386 BOOT
Default: 0:wd(0,a)/boot/loader
boot:
此时输入 “?” ,可以列出对应的硬盘分区中根目录下的所有文件。这时可 以在boot提示符下输入另一个b oot loader程序,启动该boot loader程序,也可 以直接输入某个内核文件名,从而略过boot l oader而直接启动相应的内核。然 而,通过boot loader能完成更多的任务,包括进行硬件资源设置。
此时也可以列出、选择不同的硬盘分区上的不同启动文件,正如之前的提示 信息,0:wd(0,a)用于一个包含 FreeBSD根文件系统的子分区,其中第一个0为硬 盘控制器的序号,而wd(0,a)为硬盘分区wd0a,根据硬盘分区情况,这对应第一个 UFS分区上的根文件系统。而后面可以跟随目录和文件名,以及可以使用?来列出 目录下的文件,当然选择启动内核的任务可以在boot loader内部中更好的完成, 一般情况下不需要进入这个阶段改变boot loader程序。
此后系统将进入Boot Loader程序中,由Boot Loader将内核/kernel和内核模 块载入内存,接着Boot Loader就等待10秒间隔,在这个时间内可以让用户按下了 除回车之外的其他任意键,进入Bo ot Loader的交互模式。
/
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS drive D: is disk2
FreeBSD/i386 bootstrap loader, Revision 0.5 638/64512kB
([email protected], Web Mar 3 02:54:38 CST 1999)
/kernel text=0x1697f2 data=0x168d0+0x1f17c syms=[0x4+0x1eb70+0x4+0 x2014a]
/modules/splash_bmp.ko text=0x1025 data=0xc+0x634 syms=[0x4+0x400+ 0x4+0x213]
Hit [Enter] to boot immediately, or any other key for command prom pt.
Booting [kernel] in 8 seconds...
Type ‘?’ for a list of commands, ‘help’ for more detiled help.
disk1s3a:>
新的Boot Loader使用BIOS的硬盘表示顺序,没有区分SCSI硬盘da和IDE硬盘 wd,而直接使用disk0、disk1、disk2按BIOS中的顺序表示硬盘。本例中的提示符 为disk1s3a,由于本例中使用的硬盘为IDE接口,因此这实际就代表wd1s3a分区。
在boot loader提示符下有很多相当有用的命令,例如使用ls命令可以列出d isk1s3a中各级目录下的文件,使用lsdev可以列出当前内核中的设备驱动,使用 lsmod可以列出已经载入的内核模块,使用load 可以载入另外的需要载入的内核 模块,使用autoboot可以在给定时间之后启动系统,而使用boot命令可以立即启 动系统内核,或者使用pnpscan命令扫描当前系统中的PNP卡。一般boot命令比较 常用,例如使用 “boot -s” 命令,将启动系统并进入单用户模式,在这个模式 下可以执行系统维护任务。通常由于只有可以信任的管理人员才能访问控制台, 因此缺省状况下进入单用户模式不需要使用口令认证。
在boot命令之后使用其他内核名字作参数,用来使用缺省内核/kernel之外的 其他内核来启动系统。每个 FreeBSD系统都至少具备一个备用的通用内核kernel .GENERIC,在当前系统内核被破坏的情况下可以使用它来启动系统。因此在引导 程序被破坏而系统完好的情况下(通常是由于重新安装了Windows的原因),可以 使用安装软盘或光盘启动,进入Boot Loader的交互模式,选择硬盘上的内核启动 ,然后进行修复而不需要重新安装。当在boot loader提示符下使用 “boot -c” 命令,在其后的启动过程中将进入UserConfig中,用于对内核中的硬件资源参数 进行配置。与系统初始安装时进入UserConfig的方式不同,这将直接进入User C onfig的命令行模式,内核将出现UserConfig的提示符:
config>
此时可以使用help命令查询可以使用的UserConfig命令,如果输入visual指 令,表示使用vi sual方式配置系统硬件,则会进入UserConfig的全屏幕界面,否 则就使用这个命令行方式进行硬件参数配置。命令行模式中可以使用ls命令列出 不同的设备驱动程序,使用irq、drq、iomem等命令查看硬件的相应资源设置。
命令行模式比全屏幕界面更强大的地方是能够对ISA PNP设备进行控制,这是 通过pnp命令进行的。当IS A PNP卡由BIOS分配资源的时候,内核能以非PNP的驱 动去探测它,这也是为何要在BIOS中关闭相关的PNP 选项的原因。但如果在编译 内核支持了PNP控制器,也可以在BIOS中设置为由OS(即FreeBSD)来管理硬件资 源,这就需要使用pnp命令手工为ISA PNP硬件分配资源,以便非PNP的驱动能检测 并正确设置资源。但是手工设置要求对PNP卡硬件相当了解,否则还是让BIOS来完 成资源的分配更为适合。
当退出UserConfig之后,或者在boot loader的交互模式下执行了boot命令, 或者在bo ot loader提示进入交互模式的时候10秒钟内没有任何输入,则boot l oader就会载入内核,并自动将控制权交给已经载入的FreeBSD内核程序,由内核 探测计算机中的各个硬件,并将探测结果打印到屏幕上。使用键盘右上角的Paus e键可以暂停屏幕输出,并可以使用Page Up,Page Down键上下滚动屏幕上的信息 进行查看,最后再使用一次Pause键将打开屏幕输出,继续系统启动过程。内核的 启动信息也可以在登录系统之后使用dmesg 命令查看。
FreeBSD 3.0以前的FreeBSD版本使用的Boot Loader为一个较老的版本,因此 提示信息与命令输入方式也略有不同,但基本实现同样的功能,旧Boot Loader程 序的提示符直接就为 “boot:” ,可以直接输入 “-s” 、 “-c” 等参数进入 单用户模式或进入UserConfig。启动时boot loa der都会在屏幕上打印提示信息 ,解释了基本用法和具体参数对应的含义。
FreeBSD 3.1之后可以设定系统启动标志图象(如同Windows9x的启动标志) ,那么内核的探测信息就不会显示在屏幕上,而是被这个启动图象遮住。
未完,待续。。。
-- 小多子:你知道我们佟家百年不衰的道理么?
那就是,不要一条路走到黑!
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.190.123]
|
|