linux引导过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux引导过程相关的知识,希望对你有一定的参考价值。
首先申明一下,这儿的引导过程是比较简单的,并不涉及到kernel里面的详细引导步骤,希望对刚刚学习linux的朋友有帮助。
1、加电自检
这基本上是所有计算机开机都需要经过的步骤了,当计算机加电后它首先执行Bios,BIOS对计算机硬件进行检测,当检测通过便完成了硬件的启动。当自检完成后BIOS按照设置的启动顺序寻找系统分区,并读入系统引导扇区,并将系统控制权交给引导程序。
2、mbr或gpt引导
mbr和gpt是什么在这儿就不做过多的介绍了,相信了解过计算机的朋友都知道。系统引导程序主要是把系统内核装载到内存,启动盘必须在第一个逻辑磁道上包含引导记录。这512个字节的扇区又被称作是引导扇区,一旦系统装载完毕,BIOS就会将系统的控制权,转交给引导程序
3、grub(Boot Loader)菜单
前面的两步基本所有的计算机的开机流程都是这样的,但从这一步开始解释linux自己的引导过程。
grub的主要功能是,提供一个可以供用户选择的图形窗口,编辑引导参数(比如:进入单用户模式等),根据用户选择引导内核
4、加载内核
当用户选定了引导系统之后,grub将会去唤醒内核,当内核唤醒之后grub将会把系统控制权交给内核,由内核去加载驱动程序并执行/etc/rc.d/rc.sysinit和/sbin/init
/etc/rc.d/rc.sysinit是一个关键性脚本,主要功能有:
1.激活udev和selinux
2.根据/etc/sysctl.conf文件给内核设定参数
3.设定时钟
4.装载键盘映射
5.启动交换分区
6.设置主机名
7.根据文件系统检测,以读写方式从新挂载文件系统
8.激活RAID和LVM设备
9.启用磁盘配额
10.根据/etc/fstab,检查和挂载文件系统
但/etc/rc.d/rc.sysinit执行完之后将会执行/sbin/init脚本,主要用于唤醒init进程(所有进程的父进程)
5、init初始化
在内核加载之前内核会去运行/sbin/init唤醒init进程,当init进程被唤醒之后init会去检查系统服务,并根据系统配置去开启服务,并在最后执行/etc/rc.d/rc.local脚本
这就是linux系统启动的基本流程,希望对各位朋友有帮助。
本文出自 “自动化运维” 博客,请务必保留此出处http://hongchen99.blog.51cto.com/12534281/1907635
以上是关于linux引导过程的主要内容,如果未能解决你的问题,请参考以下文章