Linux的启动流程

Linux的启动流程大致上如下图.

blob.png

现在详细说明一下每个步骤:

  1. 第一阶段

    当系统启动时,系统首先会加载BIOS。BIOS的首先会检查各硬件设备,当检查完毕没有问题之后。BIOS会根据设定的BootSequence来寻找可以引导系统的设备。一般而言,Linux是通过磁盘上MBR来引导系统的。

  2. 第二阶段

    MBR是Master Boot Record,是位于磁盘第0磁道的第1扇区,大小是512字节。其中开始的446字节是主bootloader,接着的64字节是磁盘分区表,剩下的2个字节就是校验码。当系统加载MBR的时候,MBR上的bootloader就会开始发挥作用。

  3. 第三阶段

    Bootloader就是主引导加载器。CentOS5,CentOS6上使用的Bootloader是grub ,而CentOS7上使用的是grub2.以grub为例,grub大体上是分为2步,第一步是stage1,stage1就是寻找位于磁盘上的stage2,第二步就是stage2,就是把内核加载在内存中的特定空间中,解压、展开,并把系统控制权交给内核Kernel。

  4. 第四阶段

    内核Kernel获得控制权之后,会探测可识别到的所有硬件设备;加载硬件驱动程序(有可能会借助于ramdisk加载驱动);以只读方式挂载根文件系统(rootfs);运行用户空间上的第一个程序,CentOS5/6上的是init(于/sbin/init)。

  5. 第五阶段

    init在启动的时候,首先会读取位于/etc/inittab的配置文件来以设定的运行级别。这里介绍Linux上的运行级别分别有:

    0:关机

    1:单用户模式(root, 无须登录), single, 维护模式;

    2: 多用户模式,会启动网络功能,但不会启动NFS;维护模式;

    3:多用户模式,正常模式;文本界面;

    4:预留级别;可同3级别;

    5:多用户模式,正常模式;图形界面;

    6:重启

    接着init会以设定的运行级别,来运行系统初始脚本(会执行/etc/rc.d/rc#.d上的脚本,#代表对应的运行级别的数字)、完成系统初始化。然后关闭对应下需要关闭的服务,启动需要启动服务。最后就会设置登陆终端,用户就能开始登陆,使用系统。

原创文章,作者:Net17_Tim,如若转载,请注明出处:http://www.178linux.com/11913

(0)
Net17_TimNet17_Tim
上一篇 2016-02-28 12:24
下一篇 2016-02-28 12:28

相关推荐

  • Linux命令帮助及history命令的使用

    1.Linux命令帮助的获取详解 在Linux中获取命令帮助时,内部命令和外部命令的获取方式是有区别的: 即  (1)内部命令:#help COMMAND ?            #man bash  (2)外部命令:<1> # COMMAND –hel…

    Linux干货 2016-08-05
  • 第八周作业(网络、bash脚本)

    1-3,计算机网络基础博客已总结,简要补充 协议的分层 为了使那些比较复杂的网络协议更加简单化。ISO根据各通信协议的功能将网络体系分成七层。 在这个分层中,下层为上一层提供服务。上下层之间进行交互时所遵循的约定叫做“接口”。同层之间的交互所遵循的约定叫做“协议” 说的更形象一点,两个中国人打电话这个通信。就可以分为两层,同层之间的叫协议,我说汉语,你也说汉…

    Linux干货 2016-12-18
  • 三剑客之Sed

    sed:stream editor(流编辑器) 工作特性:并不直接处理文本文件本身,处理机制为每当处理一个文件的时候,它会逐行读取,每次把一行读取到内存空间中去,而后在模式空间(pattern space)中完成编辑.并把编辑好的结果输出到屏幕上  功      能:数据替换、删除、增加、等,数据为关键字或者一整行, …

    Linux干货 2016-08-08
  • 网络N23期第四周grep

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost ~]# cp -R /etc/skel /home/tuser1 && chmod g-r,o-r /home/tuser1 [root@localhost ~]# ls -l…

    系统运维 2016-12-05
  • 基于rsyslog的iptables.log配置

                                                      …

    Linux干货 2016-01-15
  • 千里眼–用NFS和Samba实现共享网页文件

     目的:使用网络文件系实现LAMP的分步式资源共享 配置过程– 搭建nfs服务器:(centos 6.8) 安装yum install mysql-server nfs-utils httpd #这里安装httpd是为了方便后面共享文件的属主属组定义 启动nfs服务 #service nfs start  mkdir /dat…

    2017-04-30

评论列表(1条)

  • xiaoxie
    xiaoxie 2016-02-29 13:11

    写的不错,感谢分享。。。。