频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Linux操作系统启动流程与Grub的配置方法(1)

作者: sixth 出处:赛迪网 2008-03-24 13:55    砖    好    评论   进入论坛
阅读提示:文章通过从Linux的启动来研究Grub的启动设置,然后最后详细分析了grub.conf文件的文件内容和相关配置信息。

一、Linux的启动流程

1. 从BIOS到KERNEL

BIOS自检->MBR(GRUB)->KERNEL->KERNEL自解压->内核初始化->内核启动

2. 内核启动:创建1#进程并执行,由它创建若干内核线程(kernel thread),然后装入并执行程序/sbin/init(变成一个用户进程)。此后,init根据/etc/inittab配置文件来执行相应的脚本进行系统初始化,如设置键盘、字体,装载模块,设置网络等。

对于Redhat来说,执行的顺序为:

/etc/rc.d/rc.sysinit # 由init执行的第一脚本

/etc/rc.d/rc $RUNLEVEL # init执行指定运行级别($RUNLEVEL为缺省的运行模式)的各脚本;

/etc/rc.d/rc.local #运行模式2、3、5时会运行的脚本

/sbin/mingetty(或getty) # 等待用户登录

/etc/inittab中指定了系统的运行级别(RUNLEVEL),init根据运行级别启动相关的服务(一些后台进程),实现不同的功能。

RUNLEVEL值为:0-6

0:halt, 1:单用户,2:多用户,3:多用户并启动NFS服务

4:保留,5:运行xdm(X window)以图形界面方式登录

6:reboot

3./etc/inittab文件

/etc/inittab的文件内容如下:

# 设定系统开机预设的RUNLEVEL:

id:3:initdefault:

# 开始进行RUNLEVEL的服务启动前,使用来侦测与初始化系统环境的设定文件:

si::sysinit:/etc/rc.d/rc.sysinit

# 7 个不同 run level 的,需要启动的服务的 scripts 放置路径:

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

# 是否允许按下 [ctrl]+[alt]+[del] 就重新开机的设定项目:

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# 本机端终端机启动的个数:

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

# 在 X Window (RUNLEVEL 5) 环境下的启动 script 设定项目:

x:5:once:/etc/X11/prefdm -nodaemon

这个文件的语法是这样的:

标识符:级别:init 的动作行为:指令项目

1. 标识符:

最多四个字符,代表 init 的主要工作项目,只是一个简单的代表说明。

2. 级别:

该项目在哪些 run level 底下进行的意思。如果是 35 则代表 runlevel 3 与 5 都会执行。

3. init 的动作行为:

主要可以进行的动作项目意义有:

initdefault :代表预设的 run level 设定值;

sysinit :代表系统初始化的动作项目;

ctrlaltdel :代表 [ctrl]+[alt]+[del] 三个按键是否可以重新开机的设定;

wait :代表后面接的指令项目必须要执行完毕才能继续后面的动作;

respawn :代表后面接的, init 仍会主动的『重新』启动。

更多的设定项目请参考 man inittab 的说明。

4. 指令项目:

亦即应该可以进行的指令,通常是一些 script 啰。

说明:如根据上面的文件,init程序执行时根据/etc/inittab文件的内容,完成以下功能

(1)获取RUNLEVEL(文件中的这一行 id:3:initdefault:)为3

(2)执行rc.sysinit(文件中的这一行 si::sysinit:/etc/rc.d/rc.sysinit)

(3)执行/etc/rc.d/rc3.d目录中的脚本(文件中的这一行 l3:3:wait:/etc/rc.d/rc 3,且因为本例RUNLEVEL为3)

(4)然后设定是否允许按下 [ctrl]+[alt]+[del] 就重新开机(文件中的这一行 ca::ctrlaltdel:/sbin/shutdown -t3 -r now,当然如果不允许,可把此行注释掉)

(5)启动六个终端界面tty1-tty6

(6)最后如果我们使用的是 run level 5 ,那么除了这六个终端机之外, init 还会执行/etc/X11/prefdm -nodaemon 其主要的功能就是在启动 X Window !


共2页: 1 [2] 下一页
【内容导航】
 第 1 页:Linux的启动流程  第 2 页:GRUB及其配置
关于 Grub  Linux  启动  配置
专题
Linux——从菜鸟到高手
主流品牌防火墙配置
华为路由器配置
Linux/Solaris服务器的安全配置
Solaris 10 配置管理
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Windows XP远程桌面连接图解(.. (查看47066次)
·Solaris基础知识入门 (查看38411次)
·Windows操作系统安装 (查看29450次)
·Linux的安装 (查看26358次)
·设置远程桌面连接 (查看25812次)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。