CentOS 6.X启动流程


/boot分区

启动引导程序是默认可以识别boot分区的.因此在系统还无法加载硬盘的时候,boot分区是可以识别的!

initramfs内存文件系统

CentOS 6.x中使用initramfs内存文件系统取代了CentOS 5.x中的initrd RAM Disk。他们的作用类似,可以通过启动引导程序加载到内存中,然后加载启动过程中所需要的内核模块[用来模拟真正的Linux文件系统结构,详细信息如下],比如USB、SATA、SCSI硬盘的驱动和LVM、RAID文件系统的驱动.

测试initramfs文件系统

mkdir /tmp/initramfs

#建立测试目录

cp /boot/initramfs-2.6.32-279.el6.i686.img /tmp/initramfs/

#复制initramfs文件

cd /tmp/initramfs/

file initramfs-2.6.32-279.el6.i686.img

#可以看出是一个gzip压缩文件

mv initramfs-2.6.32-279.el6.i686.img initramfs-2.6.32-279.el6.i686.img.gz

#修改文件的后缀名为.gz

gunzip initramfs-2.6.32-279.el6.i686.img.gz

#解压缩

file initramfs-2.6.32-279.el6.i686.img


cpio -ivcdu < initramfs-2.6.32-279.el6.i686.img

#再继续解压缩

ls

#可以看出,他与Linux真正的文件系统非常相似!

执行/sbin/init进程

调用/etc/init/rcS.conf配置文件

主要功能是两个:

先调用/etc/rc.d/rc.sysinit,然后由/etc/rc.d/rc.sysinit配置文件进行Linux系统初始化。

然后再调用/etc/inittab,然后由/etc/inittab配置文件确定系统的默认运行级别。

[虽然CentOS 5.X中的/etc/inittab文件中的书写顺序与上面不同,但是真正的执行顺序是相同的!]

由/etc/rc.d/rc.sysinit初始化

1、获得网络环境

2、挂载设备

3、开机启动画面Plymouth(取替了过往的 RHGB)

4、判断是否启用SELinux

5、显示于开机过程中的欢迎画面

6、初始化硬件

7、用户自定义模块的加载

8、配置内核的参数

9、设置主机名

10、同步存储器

11、设备映射器及相关的初始化

12、初始化软件磁盘阵列(RAID)

13、初始化 LVM 的文件系统功能

14、检验磁盘文件系统(fsck)

15、设置磁盘配额(quota)

16、重新以可读写模式挂载系统磁盘

17、更新quota(非必要)

18、启动系统虚拟随机数生成器

19、配置机器(非必要)

20、清除开机过程当中的临时文件

21、创建ICE目录

22、启动交换分区(swap)

23、将开机信息写入/var/log/dmesg文件中

调用/etc/rc.d/rc文件

运行级别参数传入/etc/rc.d/rc这个脚本之后,由这个脚本文件按照不同的运行级别启动/etc/rc[0-6].d/目录中的相应的程序

/etc/rc3.d/k??开头的文件(??是数字),会按照数字顺序依次关闭

/etc/rc3.d/S??开头的文件(??是数字),会按照数字顺序依次启动

/etc/rc.local文件


只要将相关命令写入该文件,在系统启动时,该命令就会自动执行!

附-两次硬件自检:

1.固件自检

2.Linux内核自检

CentOS 6.X启动流程的更多相关文章

  1. Centos系统的启动流程

    一.CentOS6启动流程 1.流程图 2.说明 (1)post加电自检 这个过程是开机后,BIOS或UEFI进行硬件检查的阶段 (2)MBR引导 自检硬件没有问题时候,这里以BIOS为例,BIOS将 ...

  2. Centos启动流程及grub legacy

    Linux系统的组成部分:内核+根文件系统 内核的功能:进程管理.内存管理.网络管理.文件系统.驱动程序.安全功能 系统在运行时要么就是在运行内核代码,要么就是在运行应用程序代码.如果一个程序大多数时 ...

  3. Centos的启动流程学习

    Centos 6 的启动流程: POST ---> Boot sequence(BOIS) ---> Boot loader (MBR) --->  kernel(ramdiskfs ...

  4. 【Linux】【Basis】CentOS启动流程

    1. 基础概念       1.1 Linux系统的组成部分:内核+根文件系统         内核:进程管理.内存管理.网络协议栈.文件系统.驱动程序.安全功能             IPC:In ...

  5. CentOS启动流程及Shell脚本编程练习

    转至:http://www.178linux.com/88910 一.请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 第一步:POST加电自检 主要实现的功能是检测各个外围硬件 ...

  6. centos启动流程[转]

    启动流程概览 在硬件驱动成功后,Kernel 会主动呼叫 init 程序,而 init 会取得 run-level 资讯: init 运行 /etc/rc.d/rc.sysinit 文件来准备软件运行 ...

  7. Centos 6启动流程详解

    author:JevonWei 版权声明:原创作品 Centos6 启动流程 POST开机自检 当按下电源键后,会启动ROM芯片中的CMOS程序检查CPU.内存等硬件设备是否正常运行,CMOS中的程序 ...

  8. centOS 6启动流程

      centOS6启动流程 centOS6启动流程 linux内核组成 centos6启动大致流程 1.post加电自检 2.Boot Sequence 3.MBR引导 4.Grub启动 制作init ...

  9. CentOS的启动流程

    因6和7俩个系列的启动流程有区别,所以我把他们分开来写 linux可看作是内核和根文件系统组成我们把内核单独拿出来总结一下 CentOS6系列启动流程 首先总结一下总体的流程,接下来展开来叙述:POS ...

随机推荐

  1. leetcode之Largest Rectangle in Histogram

    问题来源:Largest Rectangle in Histogram 问题描述:给定一个长度为n的直方图,我们可以在直方图高低不同的长方形之间画一个更大的长方形,求该长方形的最大面积.例如,给定下述 ...

  2. ios开发之xcode环境介绍

    作为一个刚入门ios开发的人来说,对于ios开发,对于xcode一切都是那么的陌生,那么我们如何开始我们的第一步呢?首先对开发的ide是必须要了解的,其实要对开发的语言要慢慢熟悉起来,今天我们先来熟悉 ...

  3. ROSCon 2016视频和幻灯片发布 ROS机器人操作系统重要参考资料

    ROSCon 2016视频和幻灯片发布 By Tully Foote on 十月19,2016 7:28 AM 全部PPT下载地址:http://pan.baidu.com/s/1gf2sn2F RO ...

  4. Java多线程的调度策略

    在Java多线程环境中,为保证所有线程的执行能按照一定的规则执行,JVM实现了一个线程调度器,它定义了线程调度的策略,对于CPU运算的分配都进行了规定,按照这些特定的机制为多个线程分配CPU的使用权. ...

  5. Java基本语法-----java进制的转换

    进制: 进制是一种记数方式 ,可以用有限的数字符号代表所有的数值.由特定的数值组成. 1整型的表现形式 1.十进制: 都是以0-9这九个数字组成,不能以0开头. 2.二进制: 由0和1两个数字组成. ...

  6. 【移动开发】EditText输入字数限制总结(包括中文输入内存溢出的解决方法)

    限定EditText输入个数的解决方案很多,但是一般主要考虑两点,也就是处理两件事:(1)不同语言字符(英文.中文等)处理方式(2)输入字符达到数目后,是否仍然允许用户输入 第一点,涉及的东东其实蛮多 ...

  7. Linux Debugging (九) 一次生产环境下的“内存泄露”

    一个偶然的机会,发现一个进程使用了超过14G的内存.这个进程是一个RPC server,只是作为中转,绝对不应该使用这么多内存的.即使并发量太多,存在内存中的数据太多,那么在并发减少的情况下,这个内存 ...

  8. nfc开发

    很多Android设备已经支持NFC(近距离无线通讯技术)了.本文就以实例的方式,为大家介绍如何在Android系统中进行NFC开发. Android NFC开发环境 使用硬件:Google Nexu ...

  9. Github客户端以及Git shell的使用

    昨天介绍了怎么使用Git Shell来commit我们的代码,但是这都是简单的操作,我们还没有使用到Github是怎么进行版本控制的呢.所以,今天就来介绍一下,怎么来做版本控制吧. 必备材料 首先要确 ...

  10. (一二三)基于GCD的dispatch_once实现单例设计

    要实现单例,关键是要保证类的alloc和init只被调用一次,并且被自身强引用防止释放. 近日读唐巧先生的<iOS开发进阶>,受益匪浅,通过GCD实现单例就是收获之一,下面把这个方法与大家 ...