linux开启启动过程总结
2016-09-28 22:17
211 查看
1、加载bios
这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息等,才知道应该读取哪个硬件设备。BIOS此时去读取硬盘驱动器的第一个扇区
2、系统引导
MBR512bytes去读boot loader446bytes
一执行boot loader 主程序
二主程序加载配置文件配置文件都在/boot底下,与grub有关的档案放在/boot/grub下
然而,最重要的一点是grub必须要认识硬盘(hd0,0)以搜索顺序作为硬盘的编号
第一个硬盘号0,第二个1。0号盘的第一个partition为0
sda1-hd0,0sda2-hd0,1 sda5-hd0,4
3、加载内核
/boot/ 内核存放linux核心,这个是bootloader访问并加载的模块
例如vmlinuz-2.6.32-431.el6.x86_64
4、加载模块
/lib/modules 存放核心模块,以便动态加载,因此内核本身携带的模块是很小的
里面存在一个矛盾,核心需要加载驱动才能识别磁盘,然而驱动存在在磁盘上,无法挂载/目录怎么办-----------------虚拟文件系统 initrd
/boot/initrd加载到内存中。它的作用是解压为一个仿真的根目录,能够提供可执行程序,可以加载一些开机所需要的核心模块,例如文件系统和驱动程序,而后会帮助核心重新呼叫/sbin/init来开始后续的正常开机流程
(boot下的kernel和initrd是boot loader加载进内存的模块)
initrd的作用仅在开机无法挂载根目录的情况下需要它,例如根目录在usb sata scsi的磁盘接口,或者lvm raid的文件系统才需要,而像老式的IDE接口的磁盘上,默认为ext2/ext3的文件系统,是不需要initrd也可以顺利开机的。就看核心是否可以识别它
5、初始化系统
/sbin/init 这个是接下来要开始执行的第一支程序,作用是准备软件执行环境通过配置文件
/etc/inittab这个是init的配置文件,这里面有个runlevel7个等级。这个文件会根据默认的执行等级进行系统初始化
id:5:initdefault:默认
6、初始化系统基本信息
/etc/rc.d/rc.sysinit进行系统初始化的基本配置
7、启动其它模块
/etc/rc.d/rc # /etc/sysconfig之后需要启动系统服务和相关配置文件,根据runlevel
/etc/rc#.d/K|S这里是找的etc下的,链接文件,连接到/etc/rc.d/rc#,#通过一个参数$1获取
/etc/init.d/ /etc/rc.d/rc #/K|S都是链接文件,链接到/etc/init.d/,脚本文件
/etc/rc.d/rc.local是/etc/rc.d/rc#/S99local链接文件的指向,最后一个被执行,可以执行自己想要执行的系统指令
这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息等,才知道应该读取哪个硬件设备。BIOS此时去读取硬盘驱动器的第一个扇区
2、系统引导
MBR512bytes去读boot loader446bytes
一执行boot loader 主程序
二主程序加载配置文件配置文件都在/boot底下,与grub有关的档案放在/boot/grub下
然而,最重要的一点是grub必须要认识硬盘(hd0,0)以搜索顺序作为硬盘的编号
第一个硬盘号0,第二个1。0号盘的第一个partition为0
sda1-hd0,0sda2-hd0,1 sda5-hd0,4
3、加载内核
/boot/ 内核存放linux核心,这个是bootloader访问并加载的模块
例如vmlinuz-2.6.32-431.el6.x86_64
4、加载模块
/lib/modules 存放核心模块,以便动态加载,因此内核本身携带的模块是很小的
里面存在一个矛盾,核心需要加载驱动才能识别磁盘,然而驱动存在在磁盘上,无法挂载/目录怎么办-----------------虚拟文件系统 initrd
/boot/initrd加载到内存中。它的作用是解压为一个仿真的根目录,能够提供可执行程序,可以加载一些开机所需要的核心模块,例如文件系统和驱动程序,而后会帮助核心重新呼叫/sbin/init来开始后续的正常开机流程
(boot下的kernel和initrd是boot loader加载进内存的模块)
initrd的作用仅在开机无法挂载根目录的情况下需要它,例如根目录在usb sata scsi的磁盘接口,或者lvm raid的文件系统才需要,而像老式的IDE接口的磁盘上,默认为ext2/ext3的文件系统,是不需要initrd也可以顺利开机的。就看核心是否可以识别它
5、初始化系统
/sbin/init 这个是接下来要开始执行的第一支程序,作用是准备软件执行环境通过配置文件
/etc/inittab这个是init的配置文件,这里面有个runlevel7个等级。这个文件会根据默认的执行等级进行系统初始化
id:5:initdefault:默认
6、初始化系统基本信息
/etc/rc.d/rc.sysinit进行系统初始化的基本配置
7、启动其它模块
/etc/rc.d/rc # /etc/sysconfig之后需要启动系统服务和相关配置文件,根据runlevel
/etc/rc#.d/K|S这里是找的etc下的,链接文件,连接到/etc/rc.d/rc#,#通过一个参数$1获取
/etc/init.d/ /etc/rc.d/rc #/K|S都是链接文件,链接到/etc/init.d/,脚本文件
/etc/rc.d/rc.local是/etc/rc.d/rc#/S99local链接文件的指向,最后一个被执行,可以执行自己想要执行的系统指令
相关文章推荐
- Linux启动过程总结
- 回眸总结linux的启动过程
- 回眸总结linux的启动过程
- 20135202闫佳歆--week3 跟踪分析Linux内核的启动过程--实验及总结
- 从PC机、嵌入式linux、以及android系统的启动过程来总结uboot到底是干嘛的
- Linux系统基础-管理之系统启动过程及系统初始化学习总结
- linux及安全第三周总结——跟踪分析LINUX内核的启动过程
- linux启动过程和linux内存管理总结
- Linux内核设计第三周学习总结 跟踪分析Linux内核的启动过程
- [转]linux内核启动过程学习总结
- 对于linux常用命令的学习与总结 附上开机默认启动的图形界面修改为字符界面以及挂载光盘的过程
- 从PC机、嵌入式linux、以及android系统的启动过程来总结uboot到底是干嘛的
- linux开启telnet服务(总结)
- 剖析Linux系统启动过程
- linux启动过程
- 剖析Linux系统启动的后台全过程
- Linux启动过程详解
- red hat linux启动过程
- linux下如何在开启机器的时候自动启动数据库
- 红帽子Red Hat Linux 9光盘启动安装过程