LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 17244|回复: 24

以WinGrub 引导安装Fedora 4.0 为例,详述用WinGrub来引导Linux的安装

[复制链接]
发表于 2005-8-18 13:43:08 | 显示全部楼层 |阅读模式
作者:北南南北
来自:LinuxSir.Org
提要:本文主要讲述的是用wingrub 引导Linux的进入安装过程,以通过wingrub引导Fedora 4.0进入安装过程为例,来引导初学者进入精彩的Linux 世界 ;



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
正文:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++


有些弟兄没有光驱,也无刻录机,更没有软驱,在这种情况下,如何才能把Linux安装上呢?本文的重点就在这里;

一、关于系统引导管理器的简单介绍;

wingrub 是一款系统引导管理程序,和windows的ntloader 相似,比如我们在安装windows 98 后,又安装了windows 2000,我们在机器启动的时候,会看到有两个菜单,一个是

windows98的,另外是windows 2000的;

系统引导管理器,相当于一个容器,把机器中所有的系统的引导都装载在管理器中,管理所有的系统的引导和启动,这样方便了我们在一台机器上安装多个操作系统,并且我们有绝对的能力来控制在机器中的所有系统的引导;比如在开机的时候,出来一相菜单,让我们选择所进入的操作系统;

系统引导管理器grub就是一个多操作系统的引导管理器;wingrub是grub的windows版本;

目前我所接触过的系统引导管理器有:

grub 目前几乎有的Linux操作系统,都采用grub 作为默认的引导管理器;能引导Linux ,也能引导Winodws,功能强大,几乎无所不能;配制简单方便,建议大家使用;而我们目前做以介绍的wingrub,就是grub的windows版本,用法和windows的grub没有太大的区别,在windows中,只是轻点鼠标,就能安装上,使用和配置和Linux版本没有太大的区别;

lilo 这个是linux 最老的引导管理器,能引导linux ,也能引导windows ;由于历史设计的原因,使得lilo一度是落后于grub ;不过目前又一些发行版做为默认的系统引导,比如 Slackware ;

yaboot 系统引导管理器,这个是用在powerpc架构机器上的,对普通的X86机没有任何用处,能引导Unix类的操作系统,也能引导MACOS ;

所以对于我们来说,grub是最实用的,因为他能管理多个系统,而且还能在windows中用;这也是我们在安装Linux的时候,选择wingrub的理由;


二、wingrub的安装:


1、下载地址:


http://grub4dos.sourceforge.net   

在上面的网址中,有下载页面,里面说的就是wingrub;

2、安装:


1]安装grub软件到机器中,点鼠标应该会吧,就直接按它默认的安装,下一步、下一步就安装好了;没有什么难的看几张图;





2]安装grub;

打开 wingrub程序,选择 tools菜单,然后点击 install grub  ,出来一个对话框;如下图所示:






这里面有两个方法供我们选择;

A) 我们直接点一下Boot  From Grub  Partion 就行,然后点击,右边的下接框;选择要安装在哪个分区中,然后按最下边的[install];

您可能在下拉的菜单的对话框中,看到的是 (hd0,0)或者 (hd0,1)等,那就选(hd0,0);如果您只看到(hd0,1),说明您的第一个分区是NTFS的,这也没有什么,很正常;如果您看不到什么下拉框,您就看下面的办法;

B)您可以点 Systerm Device ,然后在右边的选择框中,选C ; 然后再点BOOT FROM   BOOT.INI 就好,如果不行就换;在Title 中写入mygrub ; 然后在 Time OUT 写上 10;


这样grub就安装好了;他的配置文件在 c:\boot\grub\中 ,配置文件是c:\boot\grub\menu.lst  ,这个配置文件起到决定性作用;所以我们一定要写好;语法和Linux中的没有区别;是一样的;

A和B还是有点小小的区别,A的方法是开机就能看到所有的在menu.lst中系统;而 B,则必须按一下刚才我们所填写的mygrub ,然后才能看到在menu.lst所提到的系统;

3、配置 grub ;


其实最简单的配置方法不是来自于图形的点鼠标,初学Linux的弟兄可能会说,我不点鼠标,我能做什么?呵。。。。没错,但在配置 grub的过程中,最没有效率的就是点鼠标;其实我们点了十几分钟的鼠标,也是达到一个目的,就是把grub配置起来。而他的配置文件就是c:\boot\grub\menu.lst ,我们挥汗如雨的点鼠标,无非是配置这个文件;如果不用点鼠标的办法来配置,

一分钟都不到就OK ;只要掌握一点小小的技巧;有何难呢??

在配置   c:\boot\grub\menu.lst的过程中,我们只是再用一下 wingrub的查看分区的界面,其它的只是用记事本就能写好;c:\boot\grub是隐藏起来的,我们要在游览器中加入c:\boot\grub 就

可以看得到;


0]打开wingrub,点tools =》partioinlist (分区列表),这里能了解到机器的分区,比如我们可能看到的 FAT32的分区是 (hd0,1)等等,事实上,我们的确需要fat32分来来存放下载的Linux光盘映象;我们通过这个能知道我们把光盘ISO存放到(hdX,Y)了,也能知道(hdX,Y)所对应的Windows分区的是哪个,是C,还是D ,还是E ,明白了吧;





1]首先我们找一个FAT 32的分区,把下载下来的ISO直接放到分区的下面,不要放在任何目录中;
2]还是在这个分区,建一个目录,比如是linux,从下来下来的第一张ISO中isolinux中抽取 vmlinuz 和 initrd.img 两个文件,放到linux目录中; 注意只放这两个文件,不要放其它的内容,如果放了其它的,可能出现安装到中途退出的情况;

注意:目录是名是小写的;在书写menu.lst 时,我们要用半角英文,标点之类的全是半角的;title  root  kernel initrd 全是小写的英文;切注意大小写;

3]书写menu.lst ,怎么书写,对我来说难吗?不难!


我们打开menu.lst 后,可能里面已经有内容了,比如有个 timeout 10 ,如果没有这行可以自己写上;没有什么难的;

timeout 10    #这是开机等待进入系统的时间,是10秒

title WindowsXP  # 我们的机器 中都有 windows ,这个就是用来启动windows的;总共有四行,不要弄错了,可以照抄到你的配置文件中;
root (hd0,0)
makeactive
chainloader +1


简单的 menu.lst 配置 linux 引导说明;通过menu.lst ,我们可以配置 Linux的启动和引导;不只是安装的引导,也可以引导已经安装好的Linux系统;语法结构有下的四条,举例如下:总共

有两个书写格式,任选其一;

格式一:最简单:



  1. title fc4install
  2. root    (hd0,1)
  3. kernel (hd0,1)/linux/vmlinuz
  4. initrd (hd0,1)/linux/initrd.img
复制代码

title 这行就是我们在开机时,所看到的菜单 ,显示的就是 fc4install ,要加在 title 的后面,title是必须保留的,是grub的语法的标签 ,我们可以在title 后面写我们想要加的东西,这是自己可

以定义的,比如  title fc4setup也是可以的;

root    (hd0,1)  这行能用 以root开头,然后加一个空格,至于您把vmlinuz和initrd.img 放在哪个分区了,用打开 wingrub,点tools =》partioinlist (分区列表) 中查到

kernel 这行,以kernel 开头,然后加一个空格,主要说的是vmlinuz文件放在哪个分区,哪个目录了;除了kernel 后面有一个空格外,在这行中,其它地方没有空格;这行说的是我们用放在(hd0,1)分区下的linux目录中的kernel 来内核来启动;

initrd 这行, 和 kernel 那行类似;没有什么难的,自己的文件放在哪个分区,哪个目录了,自己最知道吧;

格式二:比较麻烦一点:理解着看吧;


  1. title fc4install  
  2. root    (hd0,1)
  3. kernel /linux/vmlinuz  ro root=/dev/hda2
  4. initrd  /linux/initrd.img
复制代码

title 这行就是我们在开机时,所看到的菜单 ,显示的就是 FC4install ,要加在 title 的后面,title是必须保留的,是grub的语法的标签 ,我们可以在title 后面写我们想要加的东西,这是自己可以定义的,比如  title fc4setup也是可以的;

root 这行,在本例中是 root (hd0,1),这行就是我们打开 wingrub,点tools =》partioinlist (分区列表) 中查到的;我们通过这个知道我们把解压出来的 vmlinuz和initrd.img 所处的分区和路径;比如我的机器,我查到的是  (hd0,1),对应的Windows FAT 32分区是D,事实上,我的确把四个光盘映象都放在了 (hd0,1),也就是win中所看到的D盘; 并且我同样也把提取出来

vmlinuz 和initrd.img 放在了(hd0,1)中的linux目录中; 不知道自己存放提取出来的内容放在哪个分区了,就用 打开 wingrub,点tools =》partioinlist (分区列表) 中查看;

kernel 这行;注意在 kernel后面有个空格,接着写 vmlinuz所处的位置 ,在哪里呢?在 /dev/hda2,这个/dev/hda2是怎么来的?是由(hd0,1)而来的,如果您的显示的是 (hd0,2),那root=/dev/hda3,明白了吧,就是(hdX,Y)中的Y+1=Z,就是/dev/hdaZ ,再举一例:比如我们把提出来的vmlinuz 和initrd.img 放在了 (hd0,5)的linux 目录中,这时应该写 root=/dev/hda6  ;有可能有的弟兄说,我放在了 (hd1,6)的分区,这怎么办?这个也不难,我们这里面的所提到的 (hdX,Y),中的X可能是0 、1、2等 ,所以对应的是 hdaZ ,hdbZ,hdcZ ,如果您看到的是(hd1,6) ,所以对应的是/dev/hdb7 。

initrd 这行,原样搬上就好;


所以完整menu.lst 举例应该是:其中#号不作解析,grub启动的时候是是忽略过去的;可在在#号后面加些注释之类的; 在这之中,引导Linux的,有两种写法,都在里面,哪个都是可以启动引导安装的;

  1. timeout 10

  2. #######################
  3. #####这是第一种写法

  4. title fc4install
  5. root    (hd0,1)
  6. kernel (hd0,1)/linux/vmlinuz
  7. initrd (hd0,1)/linux/initrd.img

  8. #######################
  9. #####这是第二种格式的写法
  10. title fc4install
  11. root    (hd0,1)
  12. kernel /linux/vmlinuz  ro root=/dev/hda2
  13. initrd /linux/initrd.img

  14. #######################
  15. title WindowsXP
  16. root (hd0,0)
  17. makeactive
  18. chainloader +1
复制代码



这样就能进入引导安装,如果还是不行,找不到什么什么之类的,一是您没有看好你的文件存放在哪个分区哪个目录中 ;如果能引导进入安装,我们要选择本地硬盘,至于是哪个分区,只要您把ISO映像放在FAT 32磁盘的根目录下,按个分区选择,按回车就是了。成功的时候,系统会出现各种提示信息;

在安装过程中,以下的几个情况是要注意的:

1、在FC4的安装过程,安装时要自定义, 不要让系统自动分区;要自己指定Linux 安装到哪个分区。我们可以在用windows分区工具,分出两个空白区,一个要大一点,最好是10G 以上,另外一个是内存的两倍(对于小内存的机器来说,大内存的机器分上512M 就行了);在安装时,我们要把大的分区用来装系统,点一下那个分区,出现挂载点,选择/ ,然后格式化成 ext3或者 reiserfs 等文件系统;把小一点的分区格式化成swap ,这是Linux的交换区;

当然如果您有未用过的空白区,不用windows分区工具来分也行,在安装过程中,可以用linux的分区工具来划分,点几下鼠标就行了;这是对RH 和/FC 或者 的安装来说的,Madrake 也一样;


2、对于有些系统版本要把ISO抽取出来都放在一个目录中才能进行,比如Slackware 发行版;

3、看到大家反馈的情况,有的弟兄说中途退出与放ISO的分区的下有中文目录或者中文文件有关;如果找不出问题所在,就把ISO放在一个FAT32的空白分区上;

后记:帖子太多,安装方法也简单,没有必要写这么多吧;
发表于 2005-8-18 15:09:24 | 显示全部楼层

求 Grub For Dos

那网站上的 下哉 总是打不开  谁能发个上来啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-18 15:18:00 | 显示全部楼层
Post by '[米粉肉
']那网站上的 下哉 总是打不开  谁能发个上来啊?

查看附件。。。。

http://fedora.linuxsir.cn/main/?q=node/37
回复 支持 反对

使用道具 举报

发表于 2005-8-18 15:22:02 | 显示全部楼层
谢谢啊
凑字凑字凑字凑字
回复 支持 反对

使用道具 举报

发表于 2005-8-18 16:53:19 | 显示全部楼层
有学到了!!谢谢北南了!
回复 支持 反对

使用道具 举报

发表于 2005-8-27 11:05:58 | 显示全部楼层
请问兄台,用WINGRUB不用分区了吗?直接装在C盘吗?谢谢好心人
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-27 11:26:24 | 显示全部楼层
Post by mengxihe
请问兄台,用WINGRUB不用分区了吗?直接装在C盘吗?谢谢好心人

直接默认安装就行,这时还谈不上什么分区不分区的;

看图作业;
回复 支持 反对

使用道具 举报

发表于 2005-8-27 16:16:44 | 显示全部楼层
谢谢哈

看“还是在这个分区,建一个目录,比如是linux,从下来下来的第一张ISO中isolinux中抽取 vmlinuz 和 initrd.img 两个文件,放到linux目录中; 注意只放这两个文件,不要放其它的内容,如果放了其它的,可能出现安装到中途退出的情况;”

我从网上下载的压缩包不用先全部解开吗?
还是从下来的第一张ISO中isolinux中抽取 vmlinuz 和 initrd.img 两个文件
回复 支持 反对

使用道具 举报

发表于 2005-8-31 16:16:50 | 显示全部楼层
2]还是在这个分区,建一个目录,比如是linux,从下来下来的第一张ISO中isolinux中抽取 vmlinuz 和 initrd.img 两个文件,放到linux目录中; 注意只放这两个文件,不要放其它的内容,如果放了其它的,可能出现安装到中途退出的情况;

3、看到大家反馈的情况,有的弟兄说中途退出与放ISO的分区的下有中文目录或者中文文件有关;如果找不出问题所在,就把ISO放在一个FAT32的空白分区上;

我这两种情况都没有,为什么我还是会中途退出,重新启动,然后又从头开始选择语言,选择键盘呢?郁闷啊!
回复 支持 反对

使用道具 举报

发表于 2005-9-3 09:14:45 | 显示全部楼层
昨天下午我按照北南兄写的来做,失败了。而且以下状况:

1. 把MBR里的GRUB菜单弄没了

2. Windows Server 2003 用户登入的时刻自动注销,不能进入系统桌面

我的经历如下,大家看看我出了什么问题吧:

我的分区情况:
hd0,0 FAT32 Windows XP SP2
hd0,1 FAT32 Windows Server 2003
hd0,8 REISERFS blank
hd0,9 LINUX-SWAP
hd0,10 REISERFS Mandriva Linux 2005 LE
hd0,11 REISERFS Mandriva's /home
hd0,12 EXT3 Fedora Core 4
hd0,13 EXT3 Fedora's /home
hd0,14 EXT3 common-shared /data

这个硬盘的MBR覆盖经历:
1. Windows
2. Fedora Core 3
3. Mandriva Linux 10.1
4. Hiweed Debian
5. Mandriva Linux 10.2 rc1
6. Fedora Core 3
7. Mandriva Linux 2005
8. Fedora Core 4

本次操作步骤:

1,我把网线拔出,以免过程中受到网络因素干扰。

2,我把瑞星的病毒库升级到当天的水平。

3,下载wingrub并setup安装,这时我发现这个貌似不是 grub4dos,因为我找不到和 grldr 完全匹配名字的文件。

4,在wingrub中设置只有一个Windows菜单项的菜单。并执行 Install Grub

5,重启计算机,出现本文开始说的两个状况,启动时出现了 Debian 的GRUB引导菜单,但是分区情况完全和这个硬盘的不同。我怀疑不是我的硬盘历史上的菜单记录。这个情况出现两次以后,以后重启计算机就再没有菜单出现,只有如下的提示符:

grub>

于是我输入以下三行指令:

grub> root (hd0,0)

grub> chainloader +1

grub> boot

这时可以正常地看到 Windows 自己的多系统引导菜单,进入 Windows Server 2003 出现登入时自动注销退出的状况。

进入 Windows XP SP2 一切正常。所以最后我用 Windows XP 把 win2003 的分区以 NTFS 格式化了重装了 Windows Server 2003。现在硬盘MBR里应该是没有GRUB的,能进两个Windows,不能进入任何一个Linux(这不是问题,我自己会调)。

以上是我用WinGrub的失败经历,可能只是偶然情况。心想反正自己最终能解决启动问题(未必用WinGrub),就不另外发贴了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表