13.系统管理与配置(系统启动与服务加载)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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"键,
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
10
系统启动与服务加载
LILO的配置
我们来看一个LILO 启动的配置文件 (/etc/lilo.conf)实例:
ຫໍສະໝຸດ Baidu
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版 本的一个例子):
Linux系统的开机引导需经以下几步: BIOS --> Boot loader --> Kernel --> Init --> Login prompt 1. BIOS 计算机在接通电源之后首先由BIOS进行自检,即 进行所谓的POST(Power On Self Test),然后 依据BIOS内设置的引导顺序从硬盘、软盘或 CDROM中读入“引导块”。
2005-1-14
IT@ANY, Nanjing
19
系统启动与服务加载
系统运行级
简单的说,运行级就是操作系统当前正在 运行的功能级别。Linux共有7级运行级,不 同的运行级启动的服务不同,具有不同的 功能。这些级别在/etc/inittab 文件里指 定:
2005-1-14
IT@ANY, Nanjing
2005-1-14
IT@ANY, Nanjing
14
系统启动与服务加载
引导Linux系统
password 还可以为某一个 image 指定口令: password='password' 添加 restricted 选项后,系统就会在你传递额外的参数时提示口令。 这就防止有人采用“linux single” 来直接引导到提示符,而不需要验证 系统口令。这在采用主机托管的服务器上十分有用,如果碰到别有用 心的主机托管机房的管理人员时,这一招还是管用的。 initrd 指定作为boot loader的RAM Disk所要装入的文件。
2005-1-14
IT@ANY, Nanjing
8
系统启动与服务加载
Linux系统引导过程简介
5. Login prompt init完成系统初始化后,将在指定的各个虚 拟终端上运行/sbin/mingetty,显示 “Login:”提示符,等待用户的登录。 至此,LINUX的启动结束。
2005-1-14
a. b.
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
13
系统启动与服务加载
引导Linux系统
image 指定需要启动的内核映像。 label 每个映像包括一个 label 选项,定义启动时你需要输入的标签。 read-only 采用此选项时,系统会把根分区挂接为只读方式,推荐采用这个选 项,因为 fsck 程序要求文件系统只读。但不用担心你的根分区会不 能写入了,相反,系统一旦启动就会把根分区挂接为读写方式。 root 此参数告诉内核启动时以哪个设备作为根文件系统使用,其设定值为 构造内核时根文件系统的设备名。
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组合键可进入文本模式:
进入GRUB命令行
2005-1-14
IT@ANY, Nanjing
17
系统启动与服务加载
GRUB 很棒
GRUB 是一个很好的引导装入器。它有许多功 能,可以使引导过程变得非常可靠。例如,它可 以直接从 FAT、minix、FFS、ext2 或 ReiserFS 分 区读取 Linux 内核。这就意味着无论怎样它总能 找到内核。 另外,GRUB 有一个特殊的交互式控制台方式, 可以让您手工装入内核并选择引导分区。这个功 能是无价的:假设 GRUB 菜单配置不正确,但仍 可以引导系统。
2005-1-14
IT@ANY, Nanjing
18
系统启动与服务加载
为什么使用 GRUB?
LILO 很有效。但是,LILO 的维修率很高,而且 很不灵活。 GRUB 最好的优点之一就是其强健的设计 -- 在不 断使用它时请别忘了这点。
如果更新内核或更改它在磁盘上的位置,不必重新安 装 GRUB。事实上,如有必要,只要更新 menu.lst 文 件即可,一切将保持正常。
注:内核初始化信息可用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
12
系统启动与服务加载
LILO的配置
timeout 是提示显示的时间,单位是 0.1 秒。 append 是一个十分有用的选项,他允许你把额外的参数传递给内核,例子中 的 /dev/hdc 是一个可擦写CD驱动器,传递的参数就是用来让内核认 识这个驱动器。需要注意的是,你需要使用双引号来引入想要传递的 参数,不要使用单引号。 LILO 也可以让你手工在LILO 提示符下传递这些参数。例如: LILO: linux single 就是告诉Linux 启动Linux 进入单用户模式。
Linux系统管理与配置
系统启动与服务加载
L. Lin
IT@ANY.COM, Nanjing.
系统启动与服务加载
Outline
介绍Linux系统引导过程,然后讲解系统运 行级、init、各项系统开机服务及其启动与 配置
2005-1-14
IT@ANY, Nanjing
2
系统启动与服务加载
Linux系统引导过程简介
2005-1-14
IT@ANY, Nanjing
15
系统启动与服务加载
更新LILO引导信息
对lilo.conf 的任何改变都要求重新运行 /sbin/lilo ,保证最新的改变能写入分区。 另外,如果你升级内核或者重构了 initrd 映 像,也需要重新运行 /sbin/lilo。
2005-1-14
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。
2005-1-14 IT@ANY, Nanjing 5
系统启动与服务加载
Linux系统引导过程简介
注意:因为在读入及执行MBR时,操作系统还没有起来,所以只能用 BIOS提供的INT13来进行磁盘操作,而目前主板中BIOS的INT13只能 读写硬盘1024柱面之前的数据,由此可知操作系统的引导代码必须在 1024柱面之前。 对于LINUX来说,不管你使用方式(a)还是方式(b)启动, 都要保证引 导KERNEL放在1024柱面之前。只有在KERNEL起来以后,才有读/写 1024柱面以后数据的能力(因为LINUX不使用INT13来进行硬盘操 作)。 从上面我们也可以看到,不存在什么“WIN95可以,而LINUX不可以” 的问题,作为操作系统要能被正确引导,在目前的BIOS下,它们的引 导部分都必须在1024柱面之前。如果操作系统本身还是基于INT13来 进行磁盘操作的话,那么它也只能读/写1024柱面之前的数据。
2005-1-14
IT@ANY, Nanjing
3
系统启动与服务加载
Linux系统引导过程简介
2. Boot loader
通常BIOS中设的引导顺序为IDE-0在最前面,那 么就把第一个IDE硬盘的第0柱面、第0头的第1个 扇区读入内存,然后跳到那里开始执行。这个扇 区的名字——MBR(Main Boot Record)。 换句话说,MBR里面存放的是一小段程序以及分 区表的数据。在使用WIN9X和DOS时,MBR里面 的代码把分区表里标记为Active的分区的第一个 扇区(一般存放着操作系统的引导代码)读入内 存并跳转到那里开始执行。