grub原理及使用详解

实验环境VMware+CentOS 5.4。

本文将会介绍Grub的基础知识、Grub的完整安装引导过程、Linux硬盘分区基本知识等。

grub(GrandUnified Boot Loader)是有名的引导内核程序(另外一款比较有名的是LILO,嵌入式环境使用U-boot、bootloader),它支持多种硬盘分区类型加载(FAT,ext2,ext3,minix,FFS等),支持多系统引导等。现在出的grub2是grub的升级版,提供更多的功能,但一个grub能实现内核正确的引导已经足够了,按这样发展下去,很多开源软件虽然支持的功能越来越强大,但对应的代码量也是非常庞大,这就加大了新人对其学习的难度,也不适于学习。话又说过来,相应软件的原始版本一般都会保留下载,所以可以找其最初始的版本学习。扯远了……

当计算机加电自检后,ROM BIOS加载MBR(主引导扇区,即硬盘第一扇区)中的代码到内存中,这个扇区一共512字节,前446字节内容存放grub(bootloader)的关键引导程序,接着64字节放置硬盘分区表DPT(Disk Partition Table),一共四可以有四个主分区,占64个字节,这也是为什么主分区最多只有四个的原因,最后2个字节是固定的标志0x55AA。当BIOS把引导程序加载到内存后就把控制权交给grub,而后grub的剩余代码将完成其它代码的加载和搬移以及文件系统初始化查找等工作,最终加载内核映像文件,从而把控制权交给真正的内核运行。

在开始讲grub安装之前首先要了解下硬盘的基础知识和Linux硬盘命名规则。

硬盘的基本存储单位为扇区(Sector),每个扇区一般为512bytes。一个硬盘有多个盘片,每个盘片有两面,每面按照同心圆划分为若干磁道,,每个磁道划分为若干扇区。比如一个硬盘有2个盘片,每个盘面分65536磁道,每个磁道分1024个扇区,那么硬盘容量就是2盘片*2盘面*65536磁道*1024扇区*512字节 = 128GB。硬盘的主设备号为3。其它设备的主设备号为:1:内存、2:磁盘、3:硬盘、4:ttyx、5:tty、6:并行口、7非命名管道

硬盘分IDE和SCSI两种总线类型,linux下可通过fdisk –l命令查看硬盘属于哪种。Linux下对IDE的设备是以hd命名的,后面加字母a,b,c表示第几块,比如第一个ide设备是hda,第二个是hdb;SCSI以sd命令,同样第一个设备是sda,第二个是sdb。而hda1代表第一块硬盘的第一个分区,硬盘最多可以有四个主分区,数字为1~4,从5 开始就是逻辑分区了,一般情况只有一个主分区用来引导系统,这个分区在windows下来说是C盘,而在linux为hda1或sda1,D,E,F 盘在linux分别为hda5,had6,hda7。

旅行,重复一个承诺和梦想,听他第二十八次提起童年往事,

grub原理及使用详解

相关文章:

你感兴趣的文章:

标签云: