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

相关推荐

  • UEFI原理小结

    1. UEFI 和 BIOS        UEFI 和 BIOS它们都可以认为是一种烧录了不同程序的PC固件,它们都可以用来启动系统,并且UEFI可兼容MBR,并直接支持GPT;BIOS是IBM PC兼容机中常用的一种固件; UEFI是Intel开发和发布的EFI的继任者,它由UEFI论…

    Linux干货 2016-05-01
  • 第七周练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 1.[root – gwx ~]#>fdisk /dev/sdb2.W…

    Linux干货 2016-12-11
  • N21沉舟第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; 方法一: #!/bin/bash         #     dec…

    Linux干货 2016-08-30
  • N25期–第十四周作业

    系统的INPUT和OUTPUT默认策略为DROP; # iptables -P INPUT DROP # iptables -P OUTPUT DROP 1、 限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;   #iptables…

    Linux干货 2017-04-10
  • VMware虚拟机设置网络(包含简单安装)

    1.下载VMware虚拟机 2.创建一个虚拟机,选择下载好的linux系统,我这里选择的是CentOS版本,之后一直按着步骤设置一般都选择默认就好                               &…

    2017-09-02
  • linux用户管理

    linux用户:       linux用户大体分为两种:一是:管理员用户;二是普通用户,普通用户又可以分为系统用户和登录用户。因为linux是一个多用户多任务的系统,所以每一个要使用系统资源的用户,都要向管理员申请一个账号,使用这个账号登录到系统。每个用户都拥有一个自己的名字和密码,以登录到用户。 每个用户都有唯一的用户标识(…

    Linux干货 2016-08-04

评论列表(1条)

  • xiaoxie
    xiaoxie 2016-02-29 13:11

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