Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1052956
  • 博文数量: 836
  • 博客积分: 43880
  • 博客等级: 大将
  • 技术积分: 5485
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-20 17:36
文章分类

全部博文(836)

文章存档

2011年(1)

2008年(835)

我的朋友

分类: LINUX

2008-08-20 18:18:50


首先加载BIOS的硬件信息,众所周知BIOS即BasicInput/OutputSetup的意思,每次你按下开机键,计算机首先就会加载BIOS的信息,开机时按del键可以进入BIOS进行设置,比如最常用的就是设置从硬盘启动还是从光驱启动或其他,相信装过操作系统的人都知道这个。当然BIOS里面还有相当多的信息,比如硬盘大小,电压等。 如果BIOS是设置从硬盘启动的话,那么读完BIOS后会先去读取第一个开机硬盘的头一个扇区,就是MBR,估计有人听过,即masterbootrecord。引导程序如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里。 (责任编辑:云子)


下载本文示例代码
阅读(347) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~