新闻中心

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

教你如何学习GRUB

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

告诉stage2映象的位置。

p with the the following options: (hd0,0)/boot/grub/menu.conf

为菜单的显示设置配置文件。

下面是对这个命令用法的总结:

1.install

2.ource_of_stage1

3.where_to_install

4.source_of_stage2

5.p source_of_configuration_file

现在,你完成了硬盘上的基本安装工作。

在软盘上的安装:

为了在软盘上安装,你要会用“dd”命令,并且了解它是如何工作的。为了做一张启动盘,你要将stage1和stage2文件放到软盘的开始扇区中。

安装stage1到软盘上:

插入一张已格式化的软盘,键入命令:

# dd if=stage1 of=/dev/fd0 bs=512 count=1

命令的详细说明如下:

if=input file

i.e., stage1

of=output file

i.e., floppy drive (this may be different on your computer)

bs=bytes to read and write

Here it is 512 bytes.

count=how many times to perform this operation

每次拷贝“bs”数目的块到目标地址。

安装stage2到软盘

# dd if=stage2 of=/dev/fd0 bs=512 seek=1

这里的步骤同stage1的相同,除了一个seek选项外。Seek选项将调过一个“bs”。例如,在上面的命令中bs的值是512,这样seek=1意味着将跳过软盘上前512个字节 ,从513字节开始。这将使得第一步操作不会覆盖stage1的前512字节。

现在你完成了基本的软盘驱动器安装。

如果已经安装了grub要把grub重新安装到主引导扇区上,只需要简单打入makebootable命令就可以了。

3.2 配置grub

grub启动时会在/boot/grub/中寻找一个名字为menu.lst的配置文件,如果找不到此文件则不进入菜单模式而直接进入命令行模式。

现在,我们来看一下如何在启动后进入各种操作系统,如何建立menu.conf文件。我们就从GRUB支持的启动过程开始。可以有两种方法来完成启动过程:

·A.通过调用内核本地启动

·B.连续启动或者将控制转给另一个引导器

A模式启动过程

1.配置跟设备或者告诉GRUB你的根文件系统。

2.告诉GRUB你的内核影像的位置,然后将参数传送给内核。

3.重新启动,试一下。

为了启动Linux,将内核以bzImage的文件名放在/boot/目录中,跟文件系统是

/dev/hda1,或者GRUB中的(hd0,0)。启动过程如下:

1.root (hd0,0) [This sets the root partition]

2.kernel /boot/bzImage root=/dev/hda1 [This sets the kernel]

B模式启动过程(这种模式假设当前的分区中安装了另一个启动管理器,例如LILO

或者NTLDR):

1.设置根分区但不要安装它

2.激活这个分区

3.配置需要启动的分区的第一个扇区

4.重新启动,看一下效果。

我们在试试启动安装在/dev/hdc1或者(hd1,0)的widows。启动windows的过程如下:

1.rootnoverify (hd1,0)

2.makeactive

3.chainloader +1 [+1 sets the first sector of the current root

partition]

4.boot [transfers the control and quits GRUB]

menu.conf文件:它用于建立启动多操作系统时的菜单。建立menu.conf并不难。它使用简单的英语,就象你在这一节看到的那样。

所有的菜单项目都以没有逗号分隔的“title TITLENAME”开头。你可以随意设置

TITLENAME。

设置Linux启动菜单步骤如下:

1.设置标题

2.设置根分区

3.设置内核的相应参数

4.启动

一个菜单例子:

title Red Hat Linux (2.4.18-14)

root (hd0,0)

kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/

initrd /boot/initrd-2.4.18-14.img

前面有#的行是一个注释。

建立启动Windows 或者 DOS的菜单:

title Windoze

rootnoverify (hd0,0)

makeactive

chainloader +1

boot

#----

又或者:

title Microsoft Windows XP

map (hd0) (hd1)

map (hd1) (hd0)

root (hd1,0)

chainloader (hd1,0)+1

makeactive

boot

----

注意:root和rootnoverify都是一样的,把rootnoverify改成root也行。不过经过实践来看。有时引导win时,系统安装好后,是rootnoverify (hdX.Y)这样形式的,这样会出现windows起不来,出现什么windows什么文件损坏的情况。这时,我们就要把在grub中,引导windows的那段中的rootnoverify改为root

root英文的意思就是根的意思,在这里是让知道自己所处的位置,也就是我们所安装的/根分区所在的位置 。

----

如果你安装了两个版本的Windows—一个是你自己用的,另一个给你的家人用的—这样第二个就无法安装,因为有提示说Windows已经安装了。

有一种简单的方法可以安装两个版本的Windows,即在启动时隐藏一个分区而使用另一个。你甚至可以为你的分区设置密码保护,这样可以避免别人错误的加载你的分区。下面介绍如何完成两个Windows的安装,hda1和hda2 或者 (hd0,0) 和(hd0,1),用到的命令有lock, password, hide 和 unhide。

建立windows 项目My Entry:

title My Entry

lock

unhide (hd0,0)

hide (hd0,1)

rootnoverify (hd0,0)

makeactive

chainloader +1

boot

#----

为了更好的使用lock命令,你需要在配置文件开头使用password命令。Password命令的语法如下:password secret(“secret”就是密码)。任何时候你都可以通过按p键儿输入密码。

建立Windows 项目Family Entry

title Family Entry

unhide (hd0,1)

hide (hd0,0)



关键词:GRUBlinux

评论


相关推荐

技术专区

关闭