Linux入职基础-4.7_GRUB启动引导程序

GRUB启动引导程序

1、grub与启动引导程序的关系

启动引导程序是计算机启动过程中运行的第一个真正的软件,通常计算机,启动时在通过BIOS自检后读取并运行硬盘的主引导扇中的启动引导程序,启动引导程序再负责加载启动硬盘分区中的操作系统。

grub以引导的操作系统包括:

Linux,FreeBSD,Solaris,NetBSD,BeOS, OS/2,Windows95/98,WindowsNT,Windows2000,WindowsXP。

grub配置文件(/boot/grub/grub.conf)能在每次系统引导时被读取,所有的改变都能被自动地检测到。

先查询

#rpm –q grub

#grub –version

2、grub安装到MBR

   第一步:软件包安装

#rpm –ivh /mnt/cdrom/RedHat/grub-0.93-4.i386.rpm

   第二步:安装到MBR

   #grub-install /dev/sda

  

3、grub的主要文件构成

grub有几个重要的文件构成,stage1,stage2,有的时候需要stage1.5.这些文件一般都在/boot/grub文件夹下面。如下:

grub被载入通常包括以下几个步骤:

①BIOS加载stage1(通常位于主引导扇区里面,对于硬盘就是MBR了),把stage1安装到MBR,请见第二节的安装说明。

②stage1的主要功能是装载第二引导程序(stage2);

③stage2读取配置文件,显示一个菜单界面选择或是输入命令,让用户选择操作系统(加载内核文件)来启动,请见第四节的grub操作界面介绍。

由于stage2很大,所以它一般位于文件系统之中(通常是boot所在的根分区)。有时候主引导装载程序(stage1)不能识别stage2所在的文件系统分区,那么这时候就需要stage1.5来连接stage1和stage2了,因此对于不同的文件系统就会有不同的stage1.5(比如你看到的:fat_stage_1.5 、e2fs_stage_1.5 、xfs_stage_1.5等等)。

4、grub操作界面介绍

grub操作界面可以选择GRUB配置文件中预设的启动菜单项,从而实现硬盘中多个操作系统的切换引导。

启动菜单按键:

  在启动菜单项间移动

Enter:启动当前的菜单项

e:编辑当前的启动菜单项

a:添加内核的启动参数

c:进入GRUB的命令行模式

该界面上的菜单项,请见下面的配置文件

5、配置文件—grub.conf

默认的配置文件在/boot/grub/grub.conf,在grub成功安装到硬盘主引导扇区后,只要编辑该文件就可实现对grub的配置,无需重写grub到MBR。

grub配置文件中包括全局配置和菜单项配置:

全局的配置命令:

①使用default命令设置GRUB的默认启动项

命令格式:default 菜单项序号

②使用splashimage命令设置GRUB的启动界面

命令格式:splashimage 图象文件全路径名 //用于指定某一个文件作为启动菜单的背景图象         

例:splashimage (hd0,0)/boot/grub/splash.xpm.gz

③使用timeout命令设置菜单的启动延时

命令格式:#timeout 延时秒数

linux启动菜单项的配置命令:

①title:定义linux启动菜单项的名称

②root:设置GRUB的根设备(root)为linux内核所在的分区

③kernel:kernel命令后跟linux内核文件作为参数,加载linux内核文件

④initrd:使用initrd命令加载镜像文件

⑤chainloader:使用chainloader命令调用windows分区的启动引导器引导windows系统

本机案例Linux系统的加载配置,如下图:

ro表示read only,,是以只读的方式来加载根目录。

rhgb:red hat图形界面启动,取代以前的文本界面。如果要使用文本界面的形式启动,只要将rhgb删除即可。

quite:在开机过程中不要显示错误的信息。如果要显示错误信息,只要删除quite即可。

initrd:将initrd映像文件加载到内存。这个文件里面存放的都是驱动程序。

6、grub加载Windows系统的配置文件

GRUB不能够直接加载windows系统的内核文件进行引导,而是通过调用windows操作系统自身的启动引导加载程序,通常为windows所在分区的引导扇区。举例windows启动菜单项配置:

title win2kp

map(hd0)(hd1)

map(hd1)(hd0)

root(hd1,0)

makeactive

chainloader+1

相关解释如下:

title:定义windows启动菜单项的名称

map:使用map命令交换磁盘或分区在BIOS中的标志符,用于启动在第二个硬盘中的windows。

root:设置真实的windows分区为GRUB的根设备

Makeactive:设置根设备为活动分区(针对windows不能从非活动分区启动)chainloader:调用windows分区的启动引导程序来加载引导windows系统

7、设备映射关系

grub里面对设备名称的定义和系统中对设备名称的定义方法不一样:

        (fd0)                /dev/fd0

        (hd0)                /dev/sda        /dev/hda

        (hd1)                /dev/sdb        /dev/hdb

8、grub安全

全局口令用于设置只允许用户选择启动菜单项进行启动,如进行其他操作需输入设置的全局口令。

①Password命令

命令格式:#password 口令字

举例:

加锁grub启动菜单:

#password 12345   //设置全局口令(设置grub的全局口令为12345)

解锁grub启动菜单:

在锁定的启动菜单中选者“p”,在“password:”提示符后输入正确的口令,并按回车键确认,如口令输入正确,启动菜单解锁后恢复正常的状态。

#vim /boot/grub/grub.conf

#wq!  //保存退出

#init 6  //重新启动,即可观察效果

9、恢复grub的配置文件

当安装双系统环境时,如果先安装Linux,再安装Windows;或者已经安装好双系统环境后,对Windows进行了重装,那么保存在MBR中的grub就会被Windows系统的引导装载程序NTLDR所覆盖,导致Linux系统无法引导。

放入第一张安装启动盘,启动计算机

boot: linux rescue      //进入救援模式

# cd   /mnt/sysimage   //文件系统挂载到/mnt/sysimage目录

#cd    /boot/grub/

# vi    grub.conf  //修改grub.conf 恢复设置选项

10、删除grub

grub安装在硬盘的MBR中,要想彻底删除grub,必须想办法把MBR中的grub启动程序给删除。

用户可以使用DOS中fdisk /mbr命令进行操作。

11、ro root=LABEL=/,为用“ro”什么呢?

Linux的内核在启动的过程中,不知道将会发生什么故障,可能不是很稳定的。如果以可读可写的方式来加载,那么启动的过程中出现异常或者是断电,那么就有可能把文件系统破坏了,为了避免问题的发生,就采取只读的方式来挂载文件系统。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值