浅析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命令,进入登陆界面。