Linux启动引导步骤和服务、配置文件

启动流程

Linux系统主要通过以下步骤启动:

1、读取MBR的信息,启动Boot Manager

Windows使用NTLDR作为Boot Manager,如果您的系统中安装多个版本的Windows,您就需要在NTLDR中选择您要进入的系统。

Linux通常使用功能强大,配置灵活的GRUB作为Boot Manager,我们将在启动管理章节中向您介绍它的使用方式。

2、加载系统内核,启动init进程

init进程是Linux的根进程,所有的系统进程都是它的子进程。

3、init进程读取“/etc/inittab”文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本。脚本通常以“start”参数启动,并指向一个系统中的程序。

通常情况下,“/etc/rcS.d/”目录下的启动脚本首先被执行,然后是“/etc/rcN.d/”目录。例如您设定的运行级别为3,那么它对应的启动目录为“/etc/rc3.d/”。

4、根据“/etc/rcS.d/”文件夹中对应的脚本启动Xwindow服务器“xorg”,Xwindow为Linux下的图形用户界面系统。

5、启动登录管理器,等待用户登录

Ubuntu系统默认使用GDM作为登录管理器,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在“/etc/rc3.d/”文件夹中找到一个名为“S13gdm”的链接)

更改运行级别

在“/etc/inittab”文件中找到如下内容:

# The default runlevel.

id:2:initdefault:

这一行中的数字2,为系统的运行级别,默认的运行级别涵义如下:

0 关机

1 单用户维护模式

2~5 多用户模式

6 重启

服务管理

a、更改启动服务

在运行级别对应的文件夹中,您可以看到许多文件名以“S##”和“K##”起始的启动脚本链接。

例如:

/etc/rcS.d/S35mountall.sh 挂载文件系统

/etc/rcS.d/S40networking 启用网络支持

/etc/rc2.d/S13gdm 启动登录管理器

/etc/rc2.d/S20makedev 创建设备文件

/etc/rc2.d/S23xinetd 启动超级进程

init进程将以“start”为参数,按文件名顺序执行所有以“S##”起始的脚本。脚本名称中的数字越小,它将被越早执行。例如在“/etc/rc2.d/”文件夹中,“S13gdm”文件名中的数字小于 “S23xinetd”,“S13gdm”将比“S23xinetd”先执行。

如果一个脚本链接,以“K##”起始,表示它将以“stop”参数被执行。如果相应服务没有启动,则不执行该脚本。

例如:

/etc/rc2.d/K20powernowd 针对某种硬件的电源管理支持

如果您想禁止某一服务在启动时自动运行,您可以将相应运行级别中的脚本由“S##xxx”重命名为“K##xxx”。

相关推荐