Ubuntu探秘之三:linux世界的大门----GRUB

这篇文章深入探讨了GRUB引导程序在Linux世界中的重要性,特别是作为Ubuntu系统的关键组件。内容包括GRUB的功能特性,如支持多种文件系统、自动解压缩等。文章还详细介绍了GRUB的安装、配置文件、引导过程,以及如何在系统出现问题时使用GRUB SHELL。此外,还讨论了grub-install命令的使用和GRUB的多阶段引导过程。
摘要由CSDN通过智能技术生成

这个笔记是我以前发表在学校BBS(电子科大清水河畔)上的,同学们反应还不错,特拿到这里与大家分享。

 

这一次探秘的是进入linux世界的大门---开机引导程序Grub (GRand Unfied Bootloader).

GRUB是GNU下的FSF开发的一套多重开机引导程序,在其主页上已经声明旧的版本将不在开发,以后的重点放在GRUB2上,所以这一次探秘将以GRUB2为例介绍,当然在阐述一些原理时会使用GRUB0.97的一些文件作类比。

一、为何说Grub是进入linux世界的大门呢?

Ubuntu探秘之一:BIOS到底干啥用? 中 我提到过“BIOS最后一步的工作就是协助加载位于硬盘上的OS”,这是通过将程序指针指向硬盘的MBR中的bootloader程序完成的,而现在 linux系统的bootloader就是由Grub提供的。通常MBR占用一个扇区即512字节,共分成以下三个部分:bootloader占用446 字节,partition table即分区表64字节,Magic number 即标识MBR结束的字符占两字节其内容固定为"55aa"。简单地说,grub就是Computer启动时执行的第一个程序(BIOS除外,因其为固件程 序不是由用户安装的)。它的主要任务是加载和传递参数给OS的kernle(如linux系统),kernel负责初始化并控制此后的整个系统。

另 外再提下占64字节的分区表,通常大容量硬盘是要分区使用的,这便于数据的分类存储同时也提高了其安全性。分区时由于历史原因(主要是BIOS寻找的问 题)被限定为最多只能建立4个主分区,其中每个主分区的开始地址、结束地址、分区类型(以固定数字表示用fdisk命令可以查看,如88表示linux分 区,1表示FAT12分区)都存在MBR的分区表中,每个分区占16字节。需要注意的是各主分区建立后即使硬盘还有空闲空间,这时也不能使用,因为MBR 能容纳的4个分区表已经全用了。解决的方法是拿出一个主分区的分区表用于建立扩展分区,在扩展分区的空间里可建立建立多个逻辑分区。所以常见的硬盘分区方 案是三个主分区一个扩展分区,在扩展分区里建立多个逻辑分区。

二、GRUB的主要特点如下:

1.支持多种文件系统    这可以从/boot/grub下的许多mod文件看出来
2.支持不可多重开机的OS如XP   这是通过链式(chainloader)加载完成的
3.支持自动解压缩   kernel和initrd就是以压缩文件的形式被GRUB加载到内存中的
3.配置文件及交互接口较人性化
4.支持GRUB SHELL   在系统不能引导时,grub 的shell就显得非常重要!
5.支持远程终端模式和无磁盘系统

GRUB 较其它bootloader的重要优点是其灵活性。它理解文件系统和kernel的可执行文件格式,所以你可以引导你喜欢的任意OS而不管它的 kernel位于物理硬盘上的位置。在加载kernel时你只只需指明kernel的文件名以及所在设备和分区即可。用GRUB引导OS时你有两者选择 (但在系统出现问题如grub.cfg文件丢失时你实际上只有一种选择即GRUB CLI)即command-line interface , or a menu interface。在使用command-line interface 时你需要手动指定kernel的名称及位于硬盘上的位置,在使用menu interface时,你只需要移动光标选择你要引导的OS即可,在menu interface时也可以切换到command-line interface。

三、下面让我们看一下系统上安装了哪些和GRUB相关的软件包:

geekard@geekard-laptop:~$ dpkg -l /*grub* |grep ii
ii  grub-common                                     1.98-1ubuntu7                                   GRand Unified Bootloader, version 2 (common
ii  grub-pc       

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值