linux基础(十一)--系统初始化的简谈
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-05
我们在深入学习linux之前呢要了解其的引导加载过程,这样我们就可以在判断一些在系统初始化过程的出现问题的来源,并及时做出处理.
这个过程大概分为【开机】——【BIOS】(CMOS)——【grub或者其他引导程序】——【kernel boot】(initrd文件)——【init『init回调用rc.sysinit和rc等』】——【tty】——【shell】——【登录】 主机有一个加电自检的过程,一般来讲这个过程是我们没有办法干预的,要是这个环节出了问题那就是硬件的问题了BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等 通常来讲,Linux 都是从硬盘上引导的,其中主引导记录(MBR)中包含主引导加载程序. MBR最先被读取一般都是存放在硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,存放了预启动信息、分区表信息.系统找到BIOS所指定的硬盘的MBR后,就开始家在引导了.当 MBR 被加载到 RAM 中之后,BIOS 就会将控制权交给 MBR.就是Boot Loader那就是lilo或者grub了. 2、启动GRUB/LILO Boot Loader 就是在操作系统内核运行之前运行的一段小程序.通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核做好一切准备. Boot Loader一般用到的有Grub和Lilo. GRUB和LILO都是引导加载程序,它们会引导操作系统.当机器引导它的操作系统时,BIOS会读取引导介质上最前面的512字节(即MBR: master boot record).在单一的 MBR 中只能存储一个操作系统的引导记录 GRUB 与 LILO 的比较 所有引导加载程序都以类似的方式工作,满足共同的目的.不过,LILO 和 GRUB 之间有很多不同之处: ● LILO 没有交互式命令界面,而 GRUB 拥有. ● LILO 不支持网络引导,而 GRUB 支持. ● LILO 将关于可以引导的操作系统位置的信息物理上存储在 MBR 中.如果修改了 LILO 配置文件,将 LILO 第一阶段引导加载程序重写到 MBR.相对于 GRUB,这是一个更为危险的选择,错误配置的 MBR 可能会让系统无法引导.使用 GRUB,如果配置文件配置错误,则只是默认转到 GRUB 命令行界面. 我们以Grub为例来讲解.系统读取内存中的grub配置信息(一般为menu.lst),并依照此配置信息来启动不同的操作系统. grub的引导分为两个阶段:第一阶段的引导主要是为引导第二阶段做铺垫,准确来说还有个1.5阶段作用是为了grub识别文件系统类别的grub的存放位置:/boot/grub/grub.conf在配置文件中,可以修改启动项和一些信息 其中default:定义默认启动 项,timeout:定义默认的超时时间,splashimage:用于定义背景图片,hiddenmenu:用于隐藏启动项,title:用于定义启动项及其参数的 当grub引导完成以后就开始加载内核 当内核映像被加载到内存后,内核阶段就开始了. 内核映像并不是一个可执行的内核,而是一个压缩过的内核映像.通常它是一个zImage(压缩映像,小于512KB)或bzImage(较大的压缩映像,大于512KB),它是自动解压缩的. 在内核 的加载过程中还需要个inintrd这个驱动加载程序,一般这个程序就像一个小linux程序主要是是为了引导真正的linux内核做铺垫的加载额外的驱动程序 然后开始执行init进程(/sbin/init) init进程是所有进程的起点,内核在完成内核引导后,即在本线程(进程)空间内加载init程序,它的进程号为1.init进程是所有进程的发起者和控制者.在任何基于Unix的系统(比如Linux)中,它都是第一个运行的进程,init进程的编号(Process ID,PID)永远是1.如果init出现了问题,系统的其余部分也就随之而垮掉了. init进程有两个作用: ● 扮演终结父进程的角色:所有的孤儿进程都会被init进程接管.快速执行一下ps -af 命令,可以列出 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 读Linux那些事儿之我是U盘笔记(七)下一篇: 查看Mysql数据库文件位置
关于linux基础(十一)--系统初始化的简谈的所有评论