Linux系统的启动过程及LILO和Grub介绍

本文发布时间: 2019-Mar-22
刚好有一个项目让自己做一个livecd,知道了操作系统的启动过程.1.当有一个X86机器启动以后,系统BIOS开始检测系统参数,如内存大小,日期,时间,磁盘设备,光驱,以及这些磁盘设备用于引导的顺序。通常情况下,Bios被设置成首先检查软驱或光驱,然后尝试从硬盘引导,如果在这些移动设备中,没找到可用于引导的介质,那么bios通常会转向第一块硬盘的最初几个扇区,寻找操作系统的指令。这些扇区就是从一开始装载预选择操作系统的。这个就是俗称的MBR,以前虽然知道MBR,但是现在终于完全理解了MBR在哪里,真实是什么东西了。 硬盘的物理第一扇(0柱面,0磁道,1扇区)是硬盘主引导记录扇MBR,计算机启动时,首先就读取该扇,读出硬盘分区表,从中选择三个主分区中唯一一个具有活动标记的分区,引导该分区上的操作系统。2.目前,有两种比较主流的装载启动应用程序:LILO和grub。grub经常使用,grub是许多linux默认的引导程序,也经常听说,但是这个LILO还真是不懂。现在先说说LILO吧。LILO俗称:linux引导程序(linux loader)。LILO是一个启动操作系统的选择程序,它其实写MBR的。假如你的电脑上安装了windows和linux操作系统,你可以配置LILO来引导其中的一个,假如你下次又想运行另一个操作系统,则启动时按Ctrl、Alt、Shift、Caps Lock健会出现boot,此时按Tab健获得LILO的菜单,重新进行配置,写入MBR,这样就可以引导其他 操作系统了,但LILO的优点同时也是自己的缺点,它可以快速安装在MBR上,而有些操作系统不能容忍LILO频繁的修改主引导记录(MBR),因此grub就派上用场了。小知识:大多数新电脑都为Microsoft Windows或Mac OS的一些版本安装了引导加载程序。如果计算机使用Linux操作系统,就必须安装一个特殊的引导加载程序。这就是在安装linux的时候,要安装grub的原因了,终于搞清楚了。3.LILO大家有一定了解了,下来说说grub,并说明操作系统启动过程:grub是一个将引导装载程序安装到主引导记录的程序,MBR位于第一个硬盘的开始扇区,在MBR中的程序其中的特定指令装载一个Grub菜单或Grub命令环境。这使得用户可以进行操作系统的选择,在内核引导时传递特定指令给内核或内核引导前,确定一些系统参数。grub的运行分下面几步完成的:1.装载基本的引导程序。基本引导程序位于主引导扇区一个非常小的空间,因此不能载入过多的内容,需要第二次加载引导程序,所以基本引导程序所做的事情就是加载第二引导程序2.装载第二引导程序,第二引导程序就包含更多的高级功能,允许用户载入一个特定操作系统3.装载特定的操作系统,linux是通过内核方式加载的,而window是采用链式转载程序,所以在grub.conf中,常会看见linux的加载命令是:kernel/vmlinuz-xxx-xx而windows的是:chainloader +1 #(位于硬盘的第一个扇区内的文件)现在终于明白怎么回事了。。上面主要详细讲解了引导程序的过程。总的操作系统启动过程:1.系统加电,2.Bios装载MBR3.LILO或Grub获得引导控制权4.显示相应菜单,用户选择启动操作系统从此各个资源的管理都交给了操作系统。linux操作系统开始接管后,开始执行kernel内核,开始启动linux,此时应该会启动传说中的init的进程。然后操作系统读fstab、inittab配置文件,挂载rootfs,文件系统等。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:11pm
栏目列表