Linux系统启动的大体流程

来源:岁月联盟 编辑:exp 时间:2012-04-06

对于计算机来讲,他是如何启动的,这个总是感觉有点神秘。首先,先了解下相关的概念:      硬盘的组成:硬盘是由多个扇区和多个柱面组成的。对于硬盘,扇区是很总要的,其中第一扇区最重要,这部分存储了2个重要信息:主引导分区,分区表。      主引导分区:又称(MBR)他是引导加载程序的地方(即加载内核),大小为500字节(有人也说是446字节)。      分区表:这是记载整块硬盘分区的状态,大小为(64字节)。他由四部分组成,每部分记录了描述这块分区的基本信息,大小为16字节。(额外说下,这也是为什么硬盘挂载时候,/dev/sba1--4是留给主分区和扩展分区的,而逻辑分区则是要从/dev/sba5 开始的,不管主分区和扩展分区有没有4快)。  www.2cto.com         BIOS:很多时候我们要进入BIOS,进行开机启动的相关内容的设置,这个一个写到主板上的程序。接下来说Linux系统的启动流程:      电脑启动后,首先读取主板的程序,也就是BIOS ,他会读取用户设置的相关信息,然后读取相关设备的存储设备,比如硬盘,则读取第一扇区的内容(MBR),这时候BIOS结束,将接力棒交给MBR,MBR的主要功能是加载内核文件,而实现这个功能是MBR中一个短小经悍的程序(boot loader),因为他是在系统安装时候所提的,所以能识别硬盘中的内核文件的文件格式。接下来就是内核文件的事情了,他将完成加载操作系统的任务。  www.2cto.com   流程图:    电脑电源启动------->BIOS-------->MBR(boot loader)-------> 内核文件-------->其他软件 补充:boot loader 有主要有以下任务          1. 提供菜单,如果是多系统的话,他将提供不同的选项,这也是多重引导的重要功能。          2. 加载内核文件。          3. 转交其他的loader,如果有多个loader,他将引导加载程序交给其他loader负责。   作者 fjsm20Linux