如何用GRUB引导LINUX

通过硬盘引导安装Fedora 9 后 windows xp就无法进入了
我就通过修复windows启动 重新进入了win 不过linux没有选择菜单了
然后我就把原来C盘的grub.exe等有关设置的文件都删除了
现在想重新下载一个grub引导linux请问怎么操作?
(请提供下载地址,grub我一点都不会,包括如何安装,如何设置使用等等。我只需要能让我开机的时候选择操作系统,第一个是windows,第二个是Linux就行)
我的Linux使用硬盘安装的 所以我没有安装CD 请问我怎么用linux的grub?
Grub怎么安装? 怎么用grub搜索linux呢? 用什么命令呢?
我觉得这不是特别特别复杂的问题吧? 为什么没有人能说得一步一步清清楚楚呢
我是一个菜鸟 就想要个清晰的方法 grub怎么安装我都不会 你们给我一些命令有怎么用呢?
麻烦告诉我具体步骤 谢谢

步骤如下:

  a  è¿›å…¥grub的命令模式。进入grub界面后按C键进入命令行界面。

  b  å…ˆç†Ÿæ‚‰ä¸€ä¸‹grub  çš„一些命令 grub>help

  c  ç†Ÿæ‚‰ä¸€ä¸‹cat命令

  d  root指令来指定/boot所在的分区

  e  kernel指令来指定linux的内核,及所在的分区

  f  ç”¨initrd命令来指定initrd文件

  g  boot引导系统


cat命令的用法


cat指令是用来查看文件内容的,有时不知道Linux的/boot分区,以及/根分区所在的位置,要查看/etc/fstab的内容来得知, 这时,就要用到cat (hd[0-n],y)/etc/fstab 来获得这些内容;注意要学会用tab键命令补齐的功能;

grub> cat (     按tab 键会出来hd0或hd1之类的;

grub> cat (hd0, 注:输入hd0,然后再按tab键;会出来分区之类的;

grub> cat (hd0,6)

Possible partitions are:

   Partition num: 0,  Filesystem type unknown, partition type 0x7

   Partition num: 4,  Filesystem type is fat, partition type 0xb

   Partition num: 5,  Filesystem type is reiserfs, partition type 0x83

   Partition num: 6,  Filesystem type is ext2fs, partition type 0x83

   Partition num: 7,  Filesystem type unknown, partition type 0x83

   Partition num: 8,  Filesystem type is reiserfs, partition type 0x83

   Partition num: 9,  Filesystem type unknown, partition type 0x82


grub> cat (hd0,6)/etc/fstab 注:比如我想查看一下 (hd0,6)/etc/fstab的内容就这样输入;


LABEL=/                 /                       ext3    defaults        1 1

/dev/devpts             /dev/pts                devpts  gid=5,mode=620  0 0

/dev/shm                /dev/shm                tmpfs   defaults        0 0

/dev/proc               /proc                   proc    defaults        0 0

/dev/sys                /sys                    sysfs   defaults        0 0

LABEL=SWAP-hda1         swap                    swap    defaults        0 0

/dev/hdc                /media/cdrecorder       auto    pamconsole,exec,noauto,

managed 0 0

主要查看/etc/fstab中的内容,主要是Linux的/分区及/boot是否是独立的分区;如果没有/boot类似的行,证明/boot和 Linux的/处于同一个硬盘分区;比如上面的例子中LABEL=/ 这行是极为重要的;说明Linux系统就安在标签为LABEL=/的分区中;


如果您的Linux系统/boot和/没有位于同一个分区,可能cat (hd[a-n],y) 查到的是类似下面的;


LABEL=/                 /                       ext3    defaults        1 1

LABEL=/boot             /boot                   ext3    defaults        1 2

root (hd[0-n,y) 指令来指定/boot所在的分区;

其实这个root (hd[0,n],y)是可以省略的,如果省略了,要在kerenl 命令中指定;前面已经说过 (hd[0-n],y) 硬盘分区的表示方法的用途;主要是用来指定 /boot所在的分区;


eg:


grub> root (hd0,0)

kernel 指令,用来指定Linux的内核,及/所在的分区;

kernel 这个指令可能初学者有点怕,不知道内核在哪个分区,及内核文件名的全称是什么。不要忘记tab键的命令补齐的应用;

如果已经通过root (hd[0-n],y) 指定了/boot所在的分区,语法有两个:

如果/boot和Linux的/位于同一个分区,应该是下面的一种格式;

kernel /boot/vmlinuz在这里按tab键来补齐,就看到内核全称了 ro root=/dev/hd[a-z]X

如果/boot有自己独立的分区,应该是;


kernel /vmlinuz在这里按tab键来补齐,就看到内核全称了 ro root=/dev/hd[a-z]X


在这里 root=/dev/hd[a-z]X 是Linux 的/根所位于的分区,如果不知道是哪个分区,就用tab出来的来计算,一个一个的尝试;或用cat (hd[0-n],y)/etc/fstab 中得到Linux的/所在的分区或分区的标签;


grub> kernel /boot/在这里按tab键;这样就列出/boot中的文件了; 

Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369

_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK memtest86+-1.55

.1 xen-syms xen.gz


grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/  

   [Linux-bzImage, setup=0x1e00, size=0x18e473]

注解: root=LABEL=/ 是Linux的/所在的分区的文件系统的标签;如果您知道Linux的/在哪个具体的分区,用root=/dev/hd[a-z]X来指定也行。比如下面的一行也是可以的;


grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7

也可以把/boot所在的分区的指定 root (hd[0-n],y)这行省掉,直接在kernel 中指定/boot所在的分区;所以就在下面的语法;


如果是/boot和Linux的根同处一个分区;

kernel (hd[0-n],y)/boot/vmlinuz ro root=/dev/hd[a-z]X

比如:

grub>kernel

如果是/boot和Linux所在的根不在一个分区;则是;

kernel (hd[0-n],y)/vmlinuz  ro root=/dev/hd[a-z]X

grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7 

   [Linux-bzImage, setup=0x1e00, size=0x18e473]

或下面的输入,以cat 出/etc/fstab内容为准;


grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/

   [Linux-bzImage, setup=0x1e00, size=0x18e473]


initrd 命令行来指定initrd文件;


grub> initrd /boot/initrd在这里tab 来补齐;

grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img

   [Linux-initrd @ 0x2e1000, 0x10e685 bytes]

如果/boot是独立的一个分区,应该是如下样子的语法;比如下面的;


grub> initrd /initrd在这里tab 来补齐;

grub> initrd /initrd-2.6.11-1.1369_FC4.img

   [Linux-initrd @ 0x2e1000, 0x10e685 bytes]



boot 引导系统;

grub>boot

下面是在我机器上的命令:

grub> cat (hd0,0)/etc/fstab

# This file is edited by fstab-sync - see 'man fstab-sync' for details

LABEL=/                 /                       ext3    defaults        1 1

/dev/devpts             /dev/pts                devpts  gid=5,mode=620  0 0

/dev/shm                /dev/shm                tmpfs   defaults        0 0

/dev/proc               /proc                   proc    defaults        0 0

/dev/sys                /sys                    sysfs   defaults        0 0

LABEL=SWAP-hda1         swap                    swap    defaults        0 0


/dev/hdc                /media/cdrecorder       auto    pamconsole,exec,noauto,managed 0 0


grub> root (hd0,0)

Filesystem type is ext2fs, partition type 0x83


grub> kernel /boot/在这里按tab补齐,全列出/boot所有的文件;

Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4  

memtest86+-1.55.1 xen-syms xen.gz


grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/  

   [Linux-bzImage, setup=0x1e00, size=0x18e473]


grub> initrd /boot/在这里按tab补齐

Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK

memtest86+-1.55.1 xen-syms xen.gz


grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img 注;输入intrd文件名的全名;

   [Linux-initrd @ 0x2e1000, 0x10e685 bytes]


grub> boot

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-16
解压后好像没有boot.ini文件
第2个回答  2008-09-17
安装个grub4dos,重启后进入这个,里面有个搜索已安装linux系统的选项,你可以试试

grub4dos有windows下的安装啊,你下载了就好了,然后在boot.ini里面添加一行,里面有个搜索已经安装的linux系统,希望有用,其实好像这样也能够添加linux启动项目,具体的可以在windows下的menu里面添加,可以搜索下帖子

--------
http://download.gna.org/grub4dos/
去下载个http://download.gna.org/grub4dos/grub4dos-0.4.4-2008-08-08.zip

然后解压缩到C盘,在boot.ini里面添加
C:\grldr="GRUB For Dos"本回答被提问者采纳
第3个回答  2008-09-14
用 Linux 的 grub ,安装系统时选择安装 grub 到 MBR !

不然就用 grub for ntldr ,这个是借助 Windows 的 ntldr 引导 grub 的。
grub.exe 只能在 DOS 下面用。
grub for ntldr 好像他的 exe 文件叫 grubinstall.exe 。grub 本身叫做 grldr ,没有扩展名。

有简单的方法你竟然不用,还非要找古老的不能再古老的办法。

PS : 千万不要用 grldr 去覆盖 ntldr ,ntldr 是启动 windows 的基础。Windows 的 C 分区绝对不能修改他的引导记录,你只能往里面拷贝文件并且不能覆盖原有文件&修改 boot.ini 。别的都不要动。
------------
重新硬盘安装,安装时选择 grub 安装到 MBR 。
第4个回答  2008-09-14
楼上所说基本正确,但是需要补充。
按你的情况,两个系统和GRUB应该是都在,不需要另外安装什么。原来C盘的grub.exe等有关设置的文件都删除了,也没关系,linux有自带的grub。
试着用CD启动LINUX,如楼上所说用nano -w /boot/grub/grub.conf编辑grub菜单。
别忙着改,先看一看。如果XP 和linux都已经如实列出,再看哪个在前面。如果XP是第一个,那么,default 0 就不用动;如果XP是第二个,要改成default 1 才对。