浅析Linux启动过程
简单的来说明一下Linux的启动过程以及LVM的管理机制,但是仅仅是从个人理解的角度,仅供恩墨的
小伙伴们进行参考,如果有不足希望大家指点。
首先来浅析一下Linux的启动过程,只有了解了Linux的启动过程,才能深入的了解Linux的其他特性
1.加载BIOS:BIOS信息十分重要,当我们的计算机加电的时候,就会最先读取bios中的信息。因为BIOS
中存放着CPU的相关信息。例如设备启动顺序,时钟信息,内存信息以及PnP特性等等。
2.读取MBR:MBR叫做主引导记录(Master Boot Record),它是第一个512B组成的信息,它存放着
启动信息以及分区表。
系统找到MBR之后,会将一系列信息复制到内存当中,这就是Boot Loader,本人接触RHEL和CentOS
较多,他们的Boot Loader是grub这个程序。
3.Boot Loader:初始化一系列的设备,为操作系统的启动做好充足的准备。
4.加载kernel:根据grub设定的kernel镜像位置,系统解压内核镜像并且读取到内存当中,调用函数来完
成Linux内核环境的建立。
5./sbin/init程序启动:系统还会根据/etc/inittab来判断以哪一个运行级别来运行Linux。
一般最常使用的运行级别就是3和5,3是含网络的多用户的命令行模式,5是图形化界面。
2和4一般不使用,而0和6则是关机和重启。
6.init执行rc.sysinit:这里面写着一些环境变量包括PATH等变量以及swap分区的相关内容,这个脚本执行
以后会设定一系列的环境变量,懂得shell脚本的可以查看一下。
7.启动内核模块:内核模块加载到内核空间当中。
8.根据运行级别不同运行rc.0-rc.6里面的不同脚本。
9.执行rc.local,在init运行完毕后之行的本地脚本,对Linux进行个性化定制,包括自定义的环境变量,bash
的定制等等。
10,执行/bin/login命令,进入登陆界面。