All things are difficult before they are easy. 没有软件的裸机是一具僵尸,没有硬件的软件是一个幽灵。2012,专注于Linux和C语言,关注自动化、性能测试,关注开源社区和开源测试工具、方法,尝试测试团队管理!

Ubuntu启动过程

上一篇 / 下一篇  2010-01-25 00:05:09 / 个人分类:Linux

学习了一下Ubuntu启动过程,大致如下,不过具体到版本也可能不完全一致到,若是其他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/rcX.d/”目录,例如您设定的运行级别为3,那么它对应的启动目录为“/etc/rc3.d/”。
默认情况下,启动级别为2。
/etc/rc.local为启动时最后加载的文件。
PS:我的KUbuntu9.10到运行级别是在/etc/init/rc-sysinit.conf中“env DEFAULT_RUNLEVEL=2”这样定义的;并没找到“/etc/inittab”文件(当然我也可自己添加此文件)

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

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

Tips:
在Ubuntu中runlevel在2~5之间,默认情况下没有区别到,可以到/etc/rc2.d  /etc/rc3.d等目录下看一下;
根据运行级别(X)配置服务执行 /etc/init.d/rcX.d/[KS]*  终止以“K”开头的服务/启动以“S”开头的服务;
手动配置开机服务的启动与否就很简单了,Ubutnu默认的启动级别是2,不想启动的程序,只要把相应的符号链接从/etc/rc2.d/中删去即可。


更改运行级别
在“/etc/inittab”文件中找到如下内容:
# The default runlevel.
id:2:initdefault:
这一行中的数字2,为系统的运行级别,默认的运行级别涵义如下:

0 关机
1 单用户维护模式
2~5 多用户模式
6 重启
S 就是全部都有
一般一个程序比如alsa(声卡)是S级的,开机关机重启时声卡都在工作
umountfs是0和6,只有在关机重启时才会自动umount掉文件系统。


TAG: init Ubuntu 启动 runlevel 运行级别

 

评分:0

我来说两句

smile665

smile665

Stay hungry, stay foolish. 得意之时谨记,一半命运还掌握在上帝手里;失意之时须知,一半命运还掌握在自己手里。

日历

« 2024-05-05  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 956872
  • 日志数: 220
  • 建立时间: 2008-11-06
  • 更新时间: 2012-10-06

RSS订阅

Open Toolbar