linux的启动流程及启动失败时的修复
linux开机一般是这个样子,开机执行POST加电自检,加电自检其实是调用主板COMS中的BIOS中的程序,来检测计算机主要硬件的可用性,如果加电自检成功,BIOS会根据设定的默认启动项取寻找MBR,比如你的第一启动项是U盘,第二启动项是关盘,他会依次在U盘、光盘、磁盘中寻找,找到MBR后会运行MBR中的前446个字节的小程序--bootloader,bootloader会找到被标识为活动分区的那个分区,并使用grub从该分区引导操作系统,如果能加载到,他会把加载内核(kenerl)并把内核读入内存并展开,并试图运行起来,运行起来以后内核开始初始化,此时内核获取系统的控制权. 内核获取控制权后会加载额外的外围设备驱动,然后把各种外围的设备做一些初始化,内核把能够识别的硬件识别出来,比如磁盘,但是内核中能够加载的驱动程序是很有限.等磁盘系统加载完成后,系统运行第一个进程init,init是所有进程的父进程,当内核加载完成初始化并加载跟文件系统以后,init启动,init要完成整个系统的初始化,init靠/etc/inittad来实现初始化,说inittab这个文件非常重要,inittab丢失或损坏,系统将无法运行.init读取默认的运行级别,然后执行/etc/rc.d/rc.sysinit文件完成系统初始化,而/etc/rc.d/rc.sysinit这个脚本大致完成以下几项工作1:激活udev和selinux;2:根据/etc/sysctl.conf文件来设置内核参数;3:设置系统4:装载键盘映射;5:激活swap设备;6:设置主机名称,/etc/sysconfig/netmork;7:跟文件系统检测,完成后以读写方式重新挂载;8:激活Raid;和LVM设备启用磁盘配额;10:检查并挂载其他文件系统,根据/etc/fstab;11:清除启动过程中的临时文件.rc.sysinit执行完成后,inittab继续启动指定级别下的服务,定义ctrl alt del的组合功能,定义ups电源,打开6个虚拟终端,初始化GUI的环境等. 本文出自 “小张的Linux观” 博客,请务必保留此出处http://zslzzu.blog.51cto.com/3835546/715034 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |