CentOS 6.X启动流程
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内核自检
最新文章
- canvas 画板
- Spark MLlib 之 Naive Bayes
- Python 基礎 - 字符串常用操作
- struts2默认action
- Django--models连表构建
- html中button的type属性
- Win7 x64下进程保护与文件保护(ObRegisterCallbacks)
- Leetcode OJ : Implement strStr() [ Boyer–Moore string search algorithm ] python solution
- RichTextBox选中文本时往自己的其他的位置实现拖拽
- LeetCode 15. 3Sum 16. 3Sum Closest 18. 4Sum
- thinkphp5.1 的else if的使用方法
- shell高效处理文本(1):xargs并行处理
- go http.Handler
- RSA 非对称加密,私钥转码为pkcs8 错误总结
- C# ACCESS数据库链接
- C++哪些运算符重载能够重载?
- vue报错/ style-loader: Adds some css to the DOM by adding a <;style>; tag
- Java StringBuffer 和 StringBuilder 类
- TCP协议那些事
- [BZOJ 3140] 消毒
热门文章
- RabbitMQ消息队列入门篇(环境配置+Java实例+基础概念)
- Servlet之Request对象
- iOS下JS与原生OC互相调用(总结)
- 【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)
- Nginx模块之SessionSticky
- Android开发学习之路--UI之ListView
- 使用jquery获取radio的值
- 新手学python(2):C语言调用完成数据库操作
- Oracle分页存储过程及PLSQL中的调用脚本
- www-authenticate与BASE-64认证技术