当前位置:
文档之家› 13.系统管理与配置(系统启动与服务加载)
13.系统管理与配置(系统启动与服务加载)
IT@ANY, Nanjing
9
系统启动与服务加载
LILO的配置
在使用使用Linux时,通常需一系统引导装入程序 (Boot loader),如lilo、grub、OS/2 boot loader、PartitionMagic等。下面以LILO(Linux Loader)为例。 LILO是引导Linux 操作系统最常用的程序,其最 大的好处就是它独立于文件系统,可以启动各种 操作系统: 从Microsoft dos、windows、NT、 OS/2、SCO Unix、Unixware、PC-DOS到Linux等 等。 按Control-x组合键可进入文本模式:
Linux系统管理与配置
系统启动与服务加载
L. Lin
IT@, Nanjing.
系统启动与服务加载
Outline
介绍Linux系统引导过程,然后讲解系统运 行级、init、各项系统开机服务及其启动与 配置
2005-1-14
IT@ANY, Nanjing
2
系统启动与服务加载
Linux系统引导过程简介
2005-1-14
IT@ANY, Nanjing
18
系统启动与服务加载
为什么使用 GRUB?
LILO 很有效。但是,LILO 的维修率很高,而且 很不灵活。 GRUB 最好的优点之一就是其强健的设计 -- 在不 断使用它时请别忘了这点。
如果更新内核或更改它在磁盘上的位置,不必重新安 装 GRUB。事实上,如有必要,只要更新 menu.lst 文 件即可,一切将保持正常。
20
系统启动与服务加载
系统运行级
0 为停机,机器关闭。( 千万不要把initdefault设置为0! ) 1 为单用户模式,与Win9x 下的安全模式类似。用于维护系统。 2 为多用户模式,但是没有NFS 支持。 3 为完整的多用户模式,是标准的运行级。用户以文本方式登录。 4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记 本电脑的电池用尽时,可以切换到这个模式来做一些设置。 5 就是 X11 ,开机进到 X Window 系统。用户以图形方式登录系统。 6 为重启,运行 init 6 机器就会重启。( 千万不要把initdefault设置为 6) 标准的Linux运行级为3或者5,如果是3,系统就在多用户状态。如果 是5,则是运行X Window系统
2005-1-14
IT@ANY, Nanjing
4
系统启动与服务加载
Linux系统引导过程简介
在使用使用Linux时,通常需一系统引导装入程 序,如Linux自带的LILO、GRUB等。以LILO为例。 在用LILO引导LINUX时,有两种选择: a. 把LILO安装在MBR 这时就由BIOS直接把LILO代码调入内存, 然后跳转执行LILO。 即 BIOS-->LILO(在MBR中)-->KERNEL。 b. 把LILO安装在LINUX分区,并把LINUX分区设为 Active 这时,BIOS调入的是 WIN9X/DOS下的MBR 代码,然后由这段代码来调入LILO的代码(位于 活动分区的第一个 扇区)。 即 BIOS-->MBR-->LILO(在活动分区的第一个扇 区)-->KERNEL。
Linux系统的开机引导需经以下几步: BIOS --> Boot loader --> Kernel --> Init --> Login prompt 1. BIOS 计算机在接通电源之后首先由BIOS进行自检,即 进行所谓的POST(Power On Self Test),然后 依据BIOS内设置的引导顺序从硬盘、软盘或 CDROM中读入“引导块”。
2005-1-14
IT@ANY, Nanjing
8
系统启动与服务加载
Linux系统引导过程简介
5. Login prompt init完成系统初始化后,将在指定的各个虚 拟终端上运行/sbin/mingetty,显示 “Login:”提示符,等待用户的登录。 至此,LINUX的启动结束。
2005-1-14
2005-1-14
IT@ANY, Nanjing
10
系统启动与服务加载
LILO的配置
我们来看一个LILO 启动的配置文件 (/etc/lilo.conf)实例:
2005-1-14
IT@ANY, Nanjing
11
系统启动与服务加载
LILO的配置
boot 定义了LILO 的安装位置,'/dev/hda' 就是把LILO 安装到 MBR,所以你如果 要把LILO 作为启动管理程序,就必须这样写!反之,你要把他定位到具体的 Linux 根分区例如 /dev/hda3。 install 安装一个指定文件作为新的引导扇区,缺省为/boot/boot.b。 vga 是一个显示启动菜单的配置选项,可以有:normal 80x25 文本模式 extended 80x50 文本模式; ask 提示你选择文本模式 prompt 是一个必须放入的选项,否则就没有LILO 的提示符了。但是按住 shift 键可 以看到提示。 default 指定缺省的引导映像,如果没有指定,那么第一个定义的映像就成为缺省 值。
2005-1-14
IT@ANY, Nanjing
6
系统启动与服务加载
Linux系统引导过程简介
3. Kernel 通常情况下,计算机首先用LILO程序引导内核的一部分(这部分没有被压 缩),以此来引导内核的其他部分。 内核被解压缩并装入内存后,开始初始化硬件和设备驱动程序。下面是内核 初始化系统的具体步骤(各个版本之间会有一定的差异,下面是2.2.16-22版 本的一个例子):
注:内核初始化信息可用dmesg命令查看。 此后,内核将启动init程序,形成系统的第一个进程(进程号为 1)。
2005-1-14
IT@ANY, Nanjing
7
系统启动与服务加载
Linux系统引导过程简介
4. Init 在Kernel起来之后,将启动init程序(实际 上是执行了/sbin/init),生成系统的第一 个进程(进程号为 1)。init的工作是根据 /etc/inittab文件来执行相应的脚本进行系统 初始化,如设置键盘、字体,装载模块, 设置网络,等等
2005-1-14
IT@ANY, Nanjing
13
系统启动与服务加载
引导Linux系统
image 指定需要启动的内核映像。 label 每个映像包括一个 label 选项,定义启动时你需要输入的标签。 read-only 采用此选项时,系统会把根分区挂接为只读方式,推荐采用这个选 项,因为 fsck 程序要求文件系统只读。但不用担心你的根分区会不 能写入了,相反,系统一旦启动就会把根分区挂接为读写方式。 root 此参数告诉内核启动时以哪个设备作为根文件系统使用,其设定值为 构造内核时根文件系统的设备名。
2005-1-14
IT@ANY, Nanjing
14
系统启动与服务加载
引导Linux系统
password 还可以为某一个 image 指定口令: password='password' 添加 restricted 选项后,系统就会在你传递额外的参数时提示口令。 这就防止有人采用“linux single” 来直接引导到提示符,而不需要验证 系统口令。这在采用主机托管的服务器上十分有用,如果碰到别有用 心的主机托管机房的管理人员时,这一招还是管用的。 initrd 指定作为boot loader的RAM Disk所要装入的文件。
a.
c. d. e.
检测CPU的主频和控制台的显示类型,并对CPU速度用Bogo MIPS程序进行估算。 此后内核通过外设显示系统内存信息:如131072k(128M),127820k剩余,使用的 具体情况为:1048k内核代码,412k保留,1728k数据等。尔后是各类hash table 的信息。 内核加载磁盘空间限量支持,完成CPU检测(包括检查数学协处理器),以及 POSIX适应性检测。 初始化PCI BIOS,检测系统的PCI设备,并加载TCP/IP网络支持。 内核开始检测其他各种硬件设备:如PS/2端口设备,串行口设备,硬盘,软盘, SCSI等。
2005-1-14
IT@ANY, Nanjing
19
系统启动与服务加载
系统运行级
简单的说,运行级就是操作系统当前正在 运行的功能级别。Linux共有7级运行级,不 同的运行级启动的服务不同,具有不同的 功能。这些级别在/etc/inittab 文件里指 定:
2005-1-14
IT@ANY, Nanjing
IT@ANY, Nanjing
16
系统启动与服务加载
GRUB 的配置
GRUB(Grand Unified Boot Loader)是GNU针对多引导的问 题推出了的一个更加灵活和强大的多引导程序,提出了将 引导程序和操作系统分离的解决方法,当然这主要是针对 自由操作系统,但是GRUB仍然能够通过chainload引导其 它非自由的操作系统。 如果你仅仅安装 linux 和 windows 的话,的确,LILO已 经足够使用,但是GRUB强于LILO之处在于还对GNU Mach, FreeBSD, NetBSD和OpenBSD的直接支持,而且 更加灵活。GRUB能够直接引导上述的几个操作系统,装 入内核,不需要那些各自为政的引导块, 这样我们只要拥 有GRUB,在安装上述那些操作系统时就可以更加放心, 不用再被什么引导块被覆盖的问题大伤脑筋。按"c"键,
2005-1-14
IT@ANY, Nanjing
15
系统启动与服务加载
更新LILO引导信息
对lilo.conf 的任何改变都要求重新运行 /sbin/lilo ,保证最新的改变能写入分区。 另外,如果你升级内核或者重构了 initrd 映 像,也需要重新运行 /sbin/lilo。