新手学堂:Linux操作系统的开机流程分析
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-04
加载BIOS的硬件信息,众所周知BIOS即Basic Input/Output Setup的意思,每次你按下开机键,计算机就会加载BIOS的信息,开机时按del键可以进入BIOS进行设置,比如最常用的就是设置从硬盘启动还是从光驱启动或其他,相信装过操作系统的人都知道这个.当然BIOS里面还有相当多的信息,比如硬盘大小,电压等. 如果BIOS是设置从硬盘启动的话,那么读完BIOS后会先去读取第一个开机硬盘的头一个扇区,就是MBR,估计有人听过,即master boot record.引导程序如grub,lilo都装在这里.为什么要读取这些信息呢?想想你机器里装的多系统,如果没有引导程序,机器就不知道他该启动哪个系统,引导程序的作用正是提供几个操作系统的选项,然后各个选项都指向了操作系统的启动地址. 机器从引导程序找到了linux内核后,就要开始载入linux内核了,linux系统的内核基本上安装在/boot下,引导程序就会找到boot下的内核,并加载. 加载完毕后,内核执行/sbin/init程序,而这个程序会根据/etc/inittab文件里的信息选择登入模式,一共有7种模式,分别以0——6数字表示.基本上我们用的linux装有图形界面的是用模式5. 知道了登入模式后,就要开始读取主机信息了,linux读取/etc/rc.d/rc.sysinit,其中包括PATH路径和一些LINUX操作系统最基本的信息. 接下来就要开始加载各个模块了,系统从/etc/modules.conf读入模块相关信息 /sbin/init程序开始执行run-level中的各个脚本了,刚开始已经选择了等如模式0——6,则就会执行/etc/rc.d/rc*.d里的脚本了.进入/etc/rc.d/rc5.d文件夹,ls -l查看,会发现这里都是指向rc.d/init.d里面脚本的链接.各个登入模式都有不同的脚本启动,而所有启动的脚本都是来自于init.d里.rc*.d里的脚本名要么是K开头,要么是S开头,K表示kill,S表示start,S和K后面的数字代表启动的优先级,越小越优先. 到这里差不多已经完成了开机的大部分任务,接着/sbin/init就要开始执行执行linux的个人化设定.这些个设定都保存在/etc/rc.d/rc.local里. |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于新手学堂:Linux操作系统的开机流程分析的所有评论