新闻中心

EEPW首页>嵌入式系统>设计应用> 教你如何学习GRUB

教你如何学习GRUB

作者: 时间:2016-09-12 来源:网络 收藏

rootnoverify (hd0,1)

makeactive

chainloader +1

boot

任何人都可以启动这个项目,而无须输入密码。

这有一个使用password命令的有趣的窍门。为了在缺省菜单列表或配置文件中隐藏某些项目,你可以使用下面的命令加载一个定制的列表:

password secret

在这个命令中,“secret”是密码,而/boot/grub/secret-list.conf是密码文件。这样做之前,你要先进入到根目录或者给出全路径名。例如:

password secret (hd0,4)/boot/grub/secret-list.conf

还有一个更重要的命令是“map”。当你有两块硬盘,一个无法从第二块硬盘启动的操作系统,例如Windows,就可以使用map命令。例如,你能够将hd0映射为hd1,将hd1映射为hd0。换句话说,你可以虚拟的交换两个硬盘而启动所需要的操作系统 。命令形式如下:

grub> map (hd0) (hd1)

grub> map (hd1) (hd0)

启动FreeBSD:

title FreeBSD 4.0

root (hd0,4,a)

kernel /boot/loader

boot

#----

这里我们调用了FreeBSD的启动管理器。Root (hd0,4,a)由四个参数,是因为

FreeBSD对一个单独分区进行了虚拟分割。我们称根分区为“a”。如果FreeBSD占

据了整个第二块硬盘,这里就应该是root (hd0,a)。这样,就不是调用内核而是调用FreeBSD的启动管理器,它要比调用内核更易使用。

(注意:推荐在使用OpenBSD和GNU/Hurd之前,要先试一下链式加载。)

现在你已经完成了基本的编译、安装和配置。你对了解的越多,就越会发现是一种控制启动的易用和高效的方法。

各种GRUB命令:

default xx

表明xx是缺省的启动项目

timeout yy

表明在yy秒后缺省启动项目将启动

fallback zz

在第一个启动项目失败后,过了timeout时间后,就将启动zz项目。

color

这个命令将生成彩色菜单。它的语法是:color normal current_selection。这两个域都可以有两个值,形如foreground/background。例如:

color green/black or light-gray/blue

你也可以使用相关的数字。

记住:所有的值都是从0开始,所以0是第一个

3.3 GRUB启动盘

要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建 ext2 文件系统。然后,将其安装,并将一些 GRUB 文件复制到该文件系统,最后运行 grub 程序,它将负责设置软盘的引导扇区。

将一张空盘插入 1.44MB 软驱,输入:

# mke2fs /dev/fd0

创建了 ext2 文件系统后,需要安装该文件系统:

# mount /dev/fd0 /mnt/floppy

现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘:

# mkdir /mnt/floppy/boot

# mkdir /mnt/floppy/boot/grub

# cp /boot/grub/stage1 /mnt/floppy/boot/grub

# cp /boot/grub/stage2 /mnt/floppy/boot/grub

再有一个步骤,就能得到可用的引导盘。

bash中,从 root 用户运行“grub”,该程序非常有趣并值得注意,因为它实际上是GRUB 引导装入器的半功能性版本。尽管 Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面(即GRUB控制台)完全相同。

在 grub> 提示符处,输入:

grub> root (fd0)

grub> setup (fd0)

grub> quit

现在,引导盘完成了。

如果要把GRUB装到硬盘上,也很容易。这个过程几乎与引导盘安装过程一样。首先,需要决定哪个硬盘分区将成为 root GRUB 分区。在这个分区上,创建 /boot/grub 目录,并将 stage1 和 stage2 文件复制到该目录中,可以通过重新引导系统并使用引导盘,或者使用驻留版本的 GRUB 来执行后一步操作。在这两种情况下,启动 GRUB,并用 root 命令指定 root 分区。例如,如果将 stage1 和 stage2 文件复制到 hda5 的 /boot/grub 目录中,应输入 root (hd0,4)。接着,决定在哪里安装 GRUB -- 在硬盘的 MBR,或者如果与 GRUB 一起使用另一个“主”引导装入器,则安装在特定分区的引导记录中。如果安装到 MBR,则可以指定整个磁盘而不必指定分区,如下(对于 hda):

grub> setup (hd0)

如果要将 GRUB 安装到 /dev/hda5 的引导记录中,应输入:

grub> setup (hd0,4)

现在,已安装 GRUB。引导系统时,应该立即以 GRUB 的控制台方式结束(如果安装到 MBR)。现在,应创建引导菜单,这样就不必在每次引导系统时都输入那些命令。

从软盘启动grub

制作启动盘后可以用软盘启动引导硬盘上的操作系统, 插入制作好的启动软盘,进入BIOS设定软盘启动。软盘启动成功后就会进入grub的命令行模式

grub>

要启动一个操作系统,首先指定引导哪个分区上的系统,例如要引导指第一个硬盘上的第一个分区的操作系统,先键入

grub>root (hd0,0)

接着如果要启动的是Windows系统,键入

grub>chainloader (hd0,0)+1

注意(hd0,0)要随着硬盘和分区的不同而改变数字。

如果要引导Linux或其他系统,应键入

grub>kernel (hd0,0)/boot/vmlinuz root=/dev/hda1

注意hda1参数也要随着硬盘和分区的不同而改变,如从第二个硬盘的第一个分区引导则用hdb1。

最后敲入boot就可以启动系统了。

在任何时候不能确定命令或者命令的参数都可以按Tab获得相关的帮助。用上下键可以获得命令的历史记录。其实这些命令就是menu.lst的启动描述,您也可以根据那些描述来自己键入启动命令,最后敲入boot就可以引导系统了。

4 GRUB的交互性

GRUB 最好的优点之一就是其强健的设计 -- 在不断使用它时请别忘了这点。如果更新内核或更改它在磁盘上的位置,不必重新安装 GRUB。事实上,如有必要,只要更新 menu.lst 文件即可,一切将保持正常。



关键词:GRUBlinux

评论


相关推荐

技术专区

关闭