Linux操作系统启动流程图⽂详解
理解Linux操作系统启动流程,能有助于后期在企业中更好的维护Linux服务器,能快速定位系统问题,进⽽解决问题。
上图为Linux操作系统启动流程
1.加载BIOS
计算机电源加电质检,⾸先加载基本输⼊输出系统(Basic Input Output System,BIOS),BIOS中包shell界面
含硬件CPU、内存、硬盘等相关信息,包含设备启动顺序信息、硬盘信息、内存信息、时钟信息、即插即⽤(Plug-and-Play,PNP)特性等。加载完BIOS信息,计算机将根据顺序进⾏启动。
2.读取MBR
读取完BIOS信息,计算机将会查BIOS所指定的硬盘MBR引导扇区,将其内容复制到0x7c00地址所在的物理内存中。被复制到物理内存的内容是Boot Loader,然后进⾏引导。
3.GRUB引导
GRUB启动引导器是计算机启动过程中运⾏的第⼀个软件程序,当计算机读取内存中的GRUB配置信息后,会根据其配置信息来启动硬盘中不同的操作系统。
4.加载Kernel
计算机读取内存映像,并进⾏解压缩操作,屏幕⼀般会输出“Uncompressing Linux”的提⽰,当解压缩内核完成后,屏幕输出“OK, booting the kernel”。系统将解压后的内核放置在内存之中,并调⽤start_kernel()函数来启动⼀系列的初始化函数并初始化各种设备,完成Linux核⼼环境的建⽴。
5.设定Inittab运⾏等级
内核加载完毕,会启动Linux操作系统第⼀个守护进程init,然后通过该进程读取/etc/inittab⽂件,/etc/inittab⽂件的作⽤是设定Linux的运⾏等级,Linux常见运⾏级别如下:
•0:关机模式
•1:单⽤户模式
•2:⽆⽹络⽀持的多⽤户模式
•3:字符界⾯多⽤户模式
•4:保留,未使⽤模式
•5:图像界⾯多⽤户模式
•6:重新引导系统,重启模式
6.加载rc.sysinit
读取完运⾏级别,Linux系统执⾏的第⼀个⽤户层⽂件/etc/rc.d/rc.sysinit,该⽂件功能包括:设定PATH运⾏变量、设定⽹络配置、启动swap分区、设定/proc、系统函数、配置Selinux等。
7.加载内核模块
读取/f⽂件及/etc/modules.d⽬录下的⽂件来加载系统内核模块。该模块⽂件,可以后期添加或者修改及删除。
8.启动运⾏级别程序
根据之前读取的运⾏级别,操作系统会运⾏rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化⼯作和启动相应的服务。其中以S开头表⽰系统即将启动的程序,如果以K开头,则代表停⽌该服务。S和K后紧跟的数字为启动顺序编号。
上图为运⾏级别服务
  9.读取rc.local⽂件
操作系统启动完相应服务之后,会读取执⾏/etc/rc.d/rc.local⽂件,可以将需要开机启动的任务加⼊到该⽂件末尾,系统会逐⾏去执⾏并启动相应命令。
开机运⾏加载⽂件
  10.执⾏/bin/login程序
执⾏/bin/login程序,启动到系统登录界⾯,操作系统等待⽤户输⼊⽤户名和密码,即可登录到Shell终端,如图3-7所⽰,输⼊⽤户名、密码即可登录Linux操作系统,⾄此Linux操作系统完整流程启动完毕。
系统登陆界⾯
总结
以上所述是⼩编给⼤家介绍的Linux操作系统启动流程图⽂详解,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!
如果你觉得本⽂对你有帮助,欢迎转载,烦请注明出处,谢谢!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。