无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: 天风
打印 上一主题 下一主题

GRUB学习讨论专用贴,严禁灌水,违者删除!!!!!!!!

[复制链接]
331#
发表于 2006-12-13 09:52:23 | 只看该作者
没办法.没有接触过这个东西........希望有人能指点.......谢谢!
回复

使用道具 举报

332#
发表于 2006-12-19 00:35:46 | 只看该作者
不好意思,来晚了(来晚了2年,呵呵)
这两天才研究双Windows系统,我的要求听起来很简单:
1. 在一块硬盘里同时安装Windows XP和Windows 2003
2. 两个操作系统有着各自的C盘(主分区),互不影响,数据盘(逻辑分区)共享
3. 不使用OS Loader的菜单选择启动哪个Windows,由第三方软件(如Grub)完成
4. Grub有着自己的独立的分区,这个分区不属于任何一个Windows的管辖范围

下面这张是我的设想图:


细细想来,这还真是复杂了,何况,我已经有10来年没有接触过比较底层的技术了,一时间一头雾水,觉也睡不好。
所以在此请教一下各位:用Grub能否实现我的设想?整个系统又应该如何部署??

不知道我这个问题有没有人能看到?呵呵,谢谢大家!
回复

使用道具 举报

333#
发表于 2006-12-20 18:03:57 | 只看该作者
原帖由 Lodd 于 2006-12-19 12:35 AM 发表
4. Grub有着自己的独立的分区,这个分区不属于任何一个Windows的管辖范围

不知为何有这需要?(必要?)
回复

使用道具 举报

334#
发表于 2006-12-30 09:56:23 | 只看该作者
顶了,有空使用一下
~~~
回复

使用道具 举报

335#
发表于 2007-1-1 22:42:19 | 只看该作者
Grub是什么东东还不知道,进来学习一下。
回复

使用道具 举报

336#
发表于 2007-1-5 20:48:45 | 只看该作者
2004年出的哦,不知现在最新版是多少了,在哪下
回复

使用道具 举报

337#
发表于 2007-1-27 15:26:27 | 只看该作者
请问grub里能否设定1280×800◎24bit的分辨率?
我只在网上查到下面这个
Colors              640X480       800X600        1024X768      1280X1024
256(8 bit)         769 or 0x301   771 or 0x303   773 or 0x305   775 or 0x307
32000(15 bit)      784 or 0x310   787 or 0x313   790 or 0x316   793 or 0x319
65000(16 bit)      785 or 0x311   788 or 0x314   791 or 0x317   794 or 0x31A
16.7 Mill.(24 bit) 786 or 0x312   789 or 0x315   792 or 0x318   795 or 0x31B
没有1280×800的对应项目
回复

使用道具 举报

338#
发表于 2007-1-31 15:26:37 | 只看该作者
请问怎样改变字体颜色和高亮时的颜色?
回复

使用道具 举报

339#
发表于 2007-2-1 17:22:36 | 只看该作者
装了grub后改写的是硬盘第15扇区吗??如果15分区被影子改了那不是启动不了了。
回复

使用道具 举报

340#
发表于 2007-2-3 23:19:36 | 只看该作者
版主您好,看到你这篇文章,可是您提到的下面的这些帖子的链接都无法打开,能修正一下么?


常见GRUB相关问题精华贴(汇总)
1.GRUB怎么样做到光盘上去呢?用什么写到MBR里?
2.用GRUB开始引导的多重启动光盘?
3.GRUB多重启动管理器(入门教学文章)
4.ISOGRUB.BIN功能完善版.....
回复

使用道具 举报

341#
发表于 2007-2-5 13:37:06 | 只看该作者
原帖由 lgm888 于 2007-2-1 05:22 PM 发表
装了grub后改写的是硬盘第15扇区吗??如果15分区被影子改了那不是启动不了了。

    我知道grub 0.95版要改硬盘的1到19扇区,所以只要是写入前面相关的扇区都会被破坏,如清华同方的HPA,等基于硬盘的保护系统都将被破坏,启动不了!

[ 本帖最后由 xuxuezeng 于 2007-2-5 01:38 PM 编辑 ]
回复

使用道具 举报

342#
发表于 2007-2-11 23:06:11 | 只看该作者
2). 如果是软盘镜像文件,请使用 floppy 参数, 比如:
      kernel (hd0,0)/boot/grub/memdisk.gz c=274 h=2 s=18 floppy
      initrd (hd0,0)/boot/acronis/pe.zip


除了floppy 还有别的参数么?  有详细的参数说明吗?
回复

使用道具 举报

343#
发表于 2007-2-13 12:04:55 | 只看该作者
楼主的连接都不能打开了
回复

使用道具 举报

344#
发表于 2007-2-15 18:28:57 | 只看该作者
我本想用Grub做个WinPe和DOS的启动菜单,可是看了第一页的介绍,好象Grldr无法直接启动WinPe镜像, 不知道我说的对不对
回复

使用道具 举报

345#
发表于 2007-2-18 00:14:01 | 只看该作者
我做了个启动U盘用grub启动WinPE,当用FAT格式时一切正常,但一用FAT32格式就找不到menu.lst,显示了grldr的内置菜单,这是怎么回事
回复

使用道具 举报

346#
发表于 2007-3-4 10:14:50 | 只看该作者

GRUB个人感觉不错有发展也

GRUB我喜欢因为确实是实用的很也不太难你可以把板主的文章看玩了在自己找下感觉我这有个文章我才玩PE想把PE和DOS装到一起做成U盘起动盘才弄GRUB
在网上找了N天才找到的


一、菜单命令
菜单命令只能用于grub配置文件的全局配置部分,不能用在grub命令行交互界面,菜单命令在配置文件中应放在其它命令之前。
1、default  //设置默认启动的菜单项
2、fallback  //设置启动某菜单项失败后反回的菜单项
3、hiddenmenu //隐藏菜单界面
4、timeout //设置菜单自动启动的延时时间
5、title  //开始一个菜单项
二、常规命令
常规命令可以应该于配置文件和grub命令行交互界面,可使用的常规命令有
1、bootp //通过bootp初始化网络设备
2、color //设置菜单界面的颜色
3、device //指定设备文件作为驱动器
4、dhcp //通过DHCP初始化网络设备
5、hide  //隐藏某分区
6、ifconfig //手工配置网络设备
7、pager //改变内部页程序的状态
8、partnew //新建一个主分区
9、parttype //改变分区的类型
10、password 为菜单界面设置口令
11、rarp //通过RARP初始化网络设置
12、serial //设置串口设备
13、setkey //设置键盘映射
14、splashimage //设置GRUB启动时的背景图片文件
15、termainal //选择终端类型
16、tftpserver //指定TFTP服务器
17、unhide //还原某隐藏分区
三、命令行和菜单项命令
命令行和菜单项命令可应该于GRUB配置文件的菜单项设置中,也可以用在GRUB命令交互界面。
1、bolcklist //显示某文件所在分区位置(block list notation)
2、boot //启动操作系统
3、cat //显示文件内容
4、chainloader //把启动控制权软交给另外的启动引导器
5、cmp //比较两个文件
6、configfile //加载已存在的GRUB配置文件
7、debug //设置为debug模式
8、displayapm //显示APM BIOS信息
9、displaymem //显示内存配置
10、embed //嵌入Stage 1.5文件
11、find //查找包括某文件的所有设备
12、fstest //测试文件系统
13、geometry //显示某驱动器的物理信息
14、halt //停止计算机运行(软件关机)
15、help //显示GRUB的命令帮助信息
16、impsprobe //查询对称多处理器(SMP)的信息
17、initrd //加载initrd文件
18、install //安装GRUB
19、ioprobe //查询某驱动器的输入输出(I/O)端口
20、kernel //引导操作系统内核
21、lock //锁定某GRUB导菜单项,使其输入密码后才可启动
22、makeactive //激活某主分区
23、map //虚拟映射某驱动器
24、md5crypt //使用MD5加密口令
25、module //加载模块
26、modulenounzip //加载模块不进行解压
27、pause //暂停并等待按键
28、quit //退出GRUB
29、reboot //重新启动计算机
30、read //读取内存中的内容
31、root //设置GRUB的root设备
32、rootnoverify //设备GRUB的root设备但不装载文件系统
33、savedefault //保存当前的启动菜单项为默认启动
34、setup //自动安装GRUB
35、testload //从文件系统中测试读取某文件
36、testvbe //测试VESA BIOS EXTENSION
37、uppermem //强制设置主机上位内存的大小
38、vbeprobe //查询VESA BIOS EXTENSION信息








Grub命令和使用详解


--------------------------------------------------------------------------------
页面地址是:http://www.uses.cn/articleview/2006-5-1/article_view_4471.htm
--------------------------------------------------------------------------------

从Red Hat Linux 7.2起,GRUB(GRand Unified Bootloader)取代LILO成为了默认的启动装载程序。相信LILO对于大家来说都是很熟悉的。这次Red Hat Linux用GRUB代替LILO,可见GRUB大有过人之处。不过,相对于LILO来说,大家对GRUB还是要陌生一些。本文将对GRUB的基本情况、术语、接口、命令以及配置文件做个介绍,希望对大家有所帮助。
  一、GRUB的概述

  在Red Hat linux装载一个系统前,它必须由一个引导装载程序(boot loader,启动管理程序)中的特定指令告诉它去引导系统。这个程序一般是位于系统的主硬盘驱动器或是其他知道如何去开始linux内核的媒介驱动器上。

  如果说一个x86系统只安装了Red Hat Linux而且只有一个版本的linux内核,那么通过引导装载程序开始Red Hat Linux的特定过程就不重要了。Red Hat Linux安装程序允许用户快速方便地配置引导装载程序存放在主硬盘驱动的主引导记录中来引导操作系统。

  然而,为了能从多个linux内核或其他操作系统引导,那么就很有必要了解Red hat linux用于提供必要的引导选项的方法,以及理解引导的过程与如何去改变。

  本文是讨论GRUB,它是Red Hat Linux用来在x86系统上装载操作系统的默认方法。同时,本文也将详细介绍用于控制引导过程的各种命令和配置选项。

  GRUB的定义

  GNU GRUB(GRand Unified Bootloader)是一个将引导装载程序安装到主引导记录的程序,主引导记录是位于一个硬盘开始的扇区。它允许位于主引导记录区中特定的指令来装载一个GRUB菜单或是GRUB的命令环境。这使得用户能够开始操作系统的选择,在内核引导时传递特定指令给内核,或是在内核引导前确定一些系统参数(如可用的RAM大小)。

  x86的引导过程

  当一个x86机器启动后,系统BIOS开始检测系统参数,如内存的大小、日期和时间、磁盘设备、以及这些磁盘设备用于引导的顺序等。通常情况下,BIOS都是被配置成首先检查软驱或光驱(或两者都检查),然后再尝试从硬盘引导。如果在这些可移动的设备中,没有找到可引导的介质,那么BIOS通常是转向第一块硬盘最初的几个扇区,寻找用于装载操作系统的指令。这些最初的扇区-主引导记录-开始装载一个预选择操作系统的过程,一个操作系统选项贩GRUB菜单,或是一个执行特定选项的GRUB命令行接口。 

  装载GRUB和操作系统的过程,包括以下几个操作步骤:

  1、装载基本的引导装载程序,这通常是第一步。基本引导装载程序必须是位于主引导扇区中一个非常小的空间,少于512字节。因此,基本引导装载程序所做的唯一的事情就是装载第二引导装载程序。这主要是归结于在主引导扇区中没有足够的空间用于其他东西了。

  2、装载第二引导装载程序,这通常称为第二步。这第二引导装载程序实际上是引出更高级的功能 ,以允许用户装载入一个特定的操作系统。在GRUB中,这步是让用户显示一个菜单或是输入命令。

  3、装载在一个特定分区上的操作系统,如linux内核。一旦GRUB从它的命令行或是配置文件中,接到开始操作系统的正确指令,它就寻找必要的引导文件,然后把机器的控制权移交给操作系统。
注意

  在一些文件系统以及文件系统的配置中,可能需要一个1.5步的文件,用来连接基本引导程序与第二引导程序之间的差异。

  举个例子来说,如果第二步中的引导装载程序文件位于一个使用了第一步引导装载程序所不能访问的文件系统的分区中,那么就可能需要指示第一步引导装载程序,从1.5步文件中载入附加的指令来读取第二步引导装载程序的文件。更多相关的信息,请参考GRUB的信息页。

  前面所提到的引导方法被称为直接装载。因为这种方法中使用的是直接装载操作系统的指令,没有用到任何在引导装载程序和操作系统主文件(如内核)之间的中间代码。然而,不同操作系统所采用的引导过程可能会与上面提到的有一些细微的不同。例如,微软的DOS和Windows操作系统在安装时,倾趋于完全重写主引导记录,而不是合并当前的主引导记录的配置。这将破坏掉其他操作系统保存在主引导记录中的所有信息,如Red Hat Linux。微软操作系统,还有一些其他的专有操作系统,都是使用一种称为链式装载的引导方法来启动的。在这种方法中,主引导记录仅仅是简单地指向操作系统所在分区的第一个扇区。

  GRUB支持直接和链式装载的引导方法。GRUB能用于几乎所有操作系统,绝大多数流行的文件系统,以及几乎所有的系统BIOS所能识别的硬盘。

  GRUB的特性

  GRUB包含许多特性,这使得GRUB比其他可用的引导装载程序更加优越。下面列出一些比较重要的特性:
  ·GRUB在x86机器上,提供一个真正基于命令行的,先于操作系统(pre-OS)的环境。它对于用确定的选项装载操作系统或收集系统信息方面,提供了最大程度的适应性。许多非x86的体系结构已经使用先于操作系统环璄许多年了,它提供控制系统如何从一个命令行引导。当LILO或其他x86引导装载程序使用了一些命令特性的时候,GRUB已经包含了许多这方面的特性。
  ·GRUB支持逻辑块寻址(LBA)方式。LBA将用于寻找驱动器上文件的地址转换工作置于驱动器的硬件中,它被用在许多IDE和所有的SCSI硬盘中。在使用LBA之前,硬盘驱动器遇到一个1024柱面的限制,即BIOS不能找到在1024柱面后的文件(比如一个引导装载程序或是内核文件)。只要系统BIOS能支持LBA模式(大多数都支持),那么LBA就允许GRUB超越1024柱面的限制,引导操作系统。
  ·GRUB的配置能在每次系统引导时被读取。这就避免了用户每次改变引导选项时都要重写一次主引导记录。大多数的引导装载程序都不能很老道地读取配置文件,并使用它们来设置引导选项。比如说,用户必需改变一个LILO的配置文件,然后运行一个命令将新的配置数据重写回系统的主引导记录。这种方法比GRUB所采用 的方法更加危险,因为一个错误配置的主引导记录将让系统无法引导。在使用GRUB中,如果说配置文件被错误配置并且引导,那它也仅仅简单地转到一个默认的命令行,允许用户手工输入命令来运行操作系统。除开更新系统引导的第一步、第二步、或是菜单配置文件的位置,主引导记录是不会被触及到的,而这种情况是很少发生的。

  注意:

  当GRUB的配置文件发生改变时,没有必要重新启动GRUB。所有的改变都能被自动地检测到。如果GRUB被重新启动,那么用户将退回到命令行方式的GRUB外壳下。

  安装GRUB 

  如果在Red Hat Linux的安装过程中,GRUB没有被安装,下面将说明如何安装它,并将它设为默认的引导装载程序。

  注意:如果LILO已经被安装,并且是当前的系统引导装载程序,那并没有必要为了使用GRUB而删除它。GRUB一旦安装后,将做为系统默认的引导装载程序。

  首先,获取最新可用的GRUB包。在Red Hat Linux安装光盘上的GRUB包也可以使用。

  其次,在一个外壳提示下,运行命令/sbin/grub-install ,这里的是GRUB将要被安装的位置。比如说:/sbin/grub-install /dev/hda

  最后,重新引导系统。GRUB图形引导装载菜单将出现。  二、GRUB的术语

  在使用GRUB前,最重要的事情之一就是理解这个程序是如何引用设备的,如系统硬盘驱动器、分区等。对于配置GRUB实现多操作系统的引导,这方面的信息是很重要的。

  设备名称

  系统的第一个硬盘驱动器被GRUB称为(hd0)。在它上面的第一个分区被称为(hd0,0),第二个硬盘驱动器上的第5个分区被称为(hd1,4)。通常使用GRUB时,文件系统习惯上采用下面的方式命名:

  (,)
  在设备命名中,圆括号和逗号是很重要的。指出是一个硬盘(hd)还是一个软盘(fd)被指定。

  是依照系统BIOS而确定的设备号,从0开始。基本IDE硬盘被标为0,第二IDE硬盘被标为1。这个排序大体上等同于linux内核用字母安排设备的顺序,只是在hda中的a变成了0,hdb中的b变为了1,依次类推。

  注意:GRUB用于设备的命名系统是从0开始,而不是1。这常常是GRUB新手们常犯的最普遍的错误。
  指在一块硬盘上一个分区的编号。类似于,分区的编号也是从0开始。虽然大多数的分区可以用数字指定,但是如果系统使用的是BSD分区,那么它们还是用字母来指定,如a或c。

  GRUB在命名设备和分区时,使用下面的规则:

  ·系统使用IDE硬盘或SCSI硬盘,都没有关系。所有的硬盘都是用hd开始。软盘用fd开头。
  ·当指定整个硬盘,不考虑它的分区时,简单地将逗号和分区编号取消即可。当告诉GRUB配置一个特定硬盘的主引导扇区时,这一点很重要。比如,(hd0)指定第一个设备,(hd3)指定第四个设备。
  ·如果一个系统有多个驱动设备,知道由BIOS确定的驱动器顺序就很重要了。如果系统只有IDE或SCSI驱动器,那是相当简单的。但是如果有多个驱动器混合时,这就变得令人混乱了。  

  文件名称

  当在GRUB中输入包括文件的命令时,比如在多操作系统中使用一个菜单列表,文件名必须直接在设备和分区后指定。一个绝对文件名的格式如下:

  (,)/path/to/file

  大多数的时候,用户可以通过在分区上的目录路径后加上文件名来指定文件。这种方法是直接了当的。

  另外,我们也可以将不在文件系统中出现的文件指定给GRUB,比如在一个分区最初几块扇区中的链式引导装载程序。为了指定这些文件,需要提供一个块列表(blocklist),由它来一块一块地告诉GRUB文件在分区中的位置。当一个文件是由几个不同的块组合在一起时,需要有一个特殊的方式来写块列表。每个文件片断的位置由一个块的偏移量以及从偏移点起始的块数来描述,这些片断以一个逗号分界(comma-delimited)的顺序组织在一起。

  考虑下面的块列表:

  0+50,100+25,200+1

  上面这个块列表告诉GRUB使用一个文件,这个文件起始于分区的第一块,使用了第0块到第49块,第99块到124块,以及第199块。

  当使用GRUB装载诸如微软Windows这样采用链式装载方式的操作系统时,知道如何写块列表是相当有用的。如果从第0块开始,那么可以省略块的偏移量。作为一个例子,当链式装载文件在第一硬盘的第一个分区时,可以使用下面的命名:

  (hd0,0)+1

 下面给出一个带类似块列表名称的chainloader命令。它是在设置正确的设备和分区作为根后,在GRUB命令行中给出的。

  chainloader +1
  GRUB的根文件系统

  一些用户常困惑于GRUB中根文件系统(root filesystem)这一术语的用法。GRUB的根文件系统与Linux的根文件系统是没有关系的,这一点需要记住。

  GRUB的根文件系统是用于一个特定设备的根分区。GRUB使用这个信息来挂入(mount)这个设备并从它上面载入文件。

  在Red Hat Linux中,一旦GRUB载入它自己的包含Linux内核的根分区,那么kernel命令就可以将内核文件的位置作为一个选项来执行。一旦Linux内核引导,它就设定自己的根文件系统,此时的根文件系统就是大多数人用来与Linux联系的了。最初的GRUB根文件系统以及它的挂入都被去掉,它们仅存在于用来引导内核文件。

  关于根和内核命令的更多信息,可以参考后面的命令部分。

三、GRUB的接口

  GRUB主要有三个强大的接口,它们提供了不同级别的功能。每个接口都允许用户引导操作系统,甚至可以在处于GRUB环境下的接口之间移动。

  菜单接口

  如果GRUB是由Red Hat Linux的安装程序自动配置的,那么它默认的显示接口是菜单接口。在系统第一次启动后,一个操作系统或内核的菜单(事先已经用它们各自的引导命令配置好)将一个按名称排列的列表保存在这个接口中。使用箭头键选择一个非默认选项,然后按回车键来引导它。如果不是这样,一个记时器可能已经被设置,那么GRUB将启动装载那个默认的选项。

  在菜单接口上,按[e]键,对高亮菜单项中的命令进行编辑。按[c]键载入一个命令行接口。

  菜单项目编辑器接口

  在引导装载菜单中按[e]键,就进入了菜单项目编辑器。用于项目的GRUB命令就显示在这里。在引导操作系统前,用户可以更改这些命令,添加(加在当前行后面,用[o]键;加在当前行前,用[0]),编辑(用[e]键),删除(用[d]键)。

  在所有的改变都完成后,用键来执行这些命令,并引导操作系统。[Esc]键来放弃这些修改,将重新入标准的菜单接口。[c]键用来载入命令行接口。

  命令行接口

  命令行是GRUB最基本的接口,但它也是被授予了最大控制能力的接口。在命令行接口中,输入任何相关的GRUB命令,再回车就可以执行了。这个接口的功能有点类似于shell的功能,比如[Tab]键完成,前后文提示,输入命令时的[Ctrl]键组合,如[Ctrl]-[a]移到行的开头,[Ctrl]-[e]移到行的结尾。另外,箭头键,[Home],[End],[Delete]键与bash shell中一样用法。

  接口使用的顺序

  当GRUB环境开始载入第二步引导装载程序时,它寻找自己的配置文件。当找到配置文件后,它使用这个配置文件建立一个要载入的操作系统的菜单列表, 然后显示引导菜单接口。

  如果配置文件没有被找到,或者如果配置文件不能读取,那么GRUB将载入命令行接口,以允许用户手工输入必要的命令来启动操作系统。

  如果配置文件不是正确的,那么GRUB将显示出错误,并请求输入。这点是很有帮助的,因为用户将能够看到问题发生在文件中的什么地方,并修复它。按下任意键,重新载入菜单接口,根据GRUB报告的错误,编辑菜单选项并纠正问题。如果这个修正失败了,那么错误将被报告,且GRUB将再次开始。

  四、GRUB的命令

  GRUB包含了许多不同的命令,它们可以在命令行接口中以交互的方式执行。其中的一些命令能接在命令名后面的选项,这些选项用空格隔开。

  下面的列表给出了最有用的一些命令:

  ·boot - 引导先前已经被指定并载入的操作系统或链式装载程序。
  ·chainloader - 将指定的文件作为一个链式装载程序载入。为了获取在一个指定分区第一扇区内的文件,使用+1作为文件名。
  ·displaymem - 显示当前内存的使用情况,这个信息是基于BIOS的。这个命令有助于确定系统在引导前有多少内存。
  ·initrd - 使用户能够指定一个在引导时可用的初始RAM盘。当内核为了完全引导而需要某些模块时,这是必需的。
  ·install p - 安装GRUB到系统的主引导记录。这个命令允许系统重启时出现GRUB接口。

  警告:install命令将覆盖主引导扇区中的其他信息。如果命令被执行,那么除了GRUB信息之外的其他用于引导其他操作系统的信息都将丢失。在执行这条命令前,确定你对它有正确的了解。

  这条命令可以用几种不同的方式进行配置。然而,它都要求指定。表示一个设备,分区和文件,在那里可以找到第一个引导装载程序的映象,比如(hd0,0)/grub/stage1。另外,也指定了第一步引导装载程序应该被安装的硬盘,如(hd0)。

选项告诉第一步引导装载程序第二步引导装载程序位于什么地方,例如(hd0,0)/grub/stage2。p选项告诉install命令菜单配置文件被指定在部分,比如说(hd0,0)/grub/grub.conf。

  ·kernel - 当使用直接载入方式引导操作系统时,kernel命令指定内核从GRUB的根文件系统中载入。options选项是跟在kernel命令后面,在内核载入时传给内核。

  在Red Hat Linux中,一个kernel命令的例子看起来象下面的形式:

  kernel /vmlinuz root=/dev/hda5

  上面这行表明了vmlinuz文件是从GRUB的根文件系统载入的,如(hd0,0)。同时,一个选项也被传给了内核。它指出当Linux内核载入时,内核的根文件系统应该是位于hda5,第一个IDE硬盘的第五个分区。如果有必要的话,多个选项可以被放在这个选项后面。

  ·root - 将GRUB的根分区设置成特定的设备和分区,比如说(hd0,0)。并挂入这个分区,这样文件可以被读取。
  ·rootnoverify - 做root命令同样的事情,只是不挂入分区。

  除上面所述外,还有更多的命令可用。输入info grub,得到一个所有命令的完全列表。

  五、GRUB的菜单配置文件

  配置文件在GRUB菜单接口中,创建用于引导操作系统的列表。配置文件可以允许用户选择执行事先设置好的一组命令。这些命令既包括前面给出的命令,也包括一些只用于配置文件的命令。

  配置文件的专用命令

  下面这些命令只用于GRUB的菜单配置文件:

  ·color - 设定在菜单中使用的颜色,一种是作为前景色,一种作为背景色。可以简单地使用颜色名称,如red/black。比如:
  color red/black green/blue
  ·default - 默认项目的标题名称。如果菜单接口超时,那它将被载入。
  ·fallback - 当这个命令被使用时,如果第一次尝试失败,那么这个项目的标题名称将被试用。
  ·hiddenmenu - 这个命令被使用时,它不显示GRUB菜单接口,在超时时间过期后载入默认项。用户通过按[Esc]键,可以看到标准的GRUB菜单。
  ·password - 这个命令被使用时,它可以防止不知道口令的用户编辑菜单的项目。

  作为附加选项,可以在后面指定一个后备的菜单配置文件。因此,如果口令被知道,GRUB将重新启动第二步的引导装载程序,并使用这个后备的配置文件来建立菜单。如果这个后备文件不在命令中指出,那么知道口令的用户能够编辑当前的配置文件。

  ·timeout - 这个命令设定了在GRUB载入由default命令指定的项目前的时间间隔,以秒为单位。
 
  ·splashimage - 它指定在GRUB引导时所使用的屏幕图像的位置。
  ·title - 设定用来装载一个操作系统的一组特定命令的标题。

  字符#用来在菜单配置文件放置注释。
 配置文件的结构

  设置GRUB菜单接口全局参数的命令被放在文件的顶部,接下来的是用于各个操作系统引导的不同项目。

  一个非常基本的用于引导Red Hat Linux或Microsoft Windows 2000的GRUB菜单配置文件可能如下所示:

  default=linux
  timeout=10
  color=green/black light-gray/blue
  # section to load linux
  title linux
  root (hd0,1)
  kernel /vmlinuz root=/dev/hda5
  boot
  # section to load Windows 2000
  title windows
  rootnoverify (hd0,0)
  chainloader +1

  这个文件告诉GRUB建立一个以Red Hat Linux为默认操作系统的菜单,设定10秒后自动引导。这里给出了2个部分,每个部分对应于一个操作系统项目,每个部分都包含了指向操作系统硬盘分区表的命令。

  在下面的附加资料中,将列出如何使用GRUB引导多种操作系统的参考资料。

  六、GRUB的附加资料

  这个部分只是对GRUB以及它的许多选项作一个介绍。如果想要更多的了解GRUB是如何工作的、如何在其他任务中配置它来引导非Linux操作系统,可以参考下面列出的一些资料。

  安装文档
  ·/usr/share/doc/grub-0.90 - /usr/share/doc/grub-0.90是GRUB文档在系统上的目录。
  ·在一个shell提示下,输入man grub命令可以查看GRUB的手册,它包括一个装载GRUB shell时所使用的选项的列表。
  ·在一个shell提示下,使用info grub命令可以得到GRUB的info页,它包括一个指南,一个用户参考手册,一个程序员参考手册,以及一个关于GRUB和它自己用法的FAQ文档。

  有用的一些站点

  ·http://www.gnu.org/software/grub - GNU GRUB 项目的主页。这个站点包含了GRUB发展状态的信息以及一个FAQ。
  ·http://www.uruk.org/orig-grub - 在这个项目被脱管到自由软件基金会进一步发展前的最初的GRUB文档。
  ·http://www.redhat.com/mirrors/LD ... boot-with-GRUB.html - 研究GRUB各种不同的用法,包括引导非Linux操作系统。
  ·http://www.linuxgazette.com/issue64/kohli.html - 一篇介绍性的文章,讨论在一个系统上GRUB配置,包括GRUB命令行选项的概述。
回复

使用道具 举报

347#
发表于 2007-3-14 20:23:05 | 只看该作者
最近也在用grub管理了3个主分区上的Win98,感觉还不错。我是通过mbr启动grub的,看到一些资料说grub这种方式会和硬盘还原卡冲突,我们准备在机器上加华超的保护卡,真的会有问题吗——真这样的话就大头了。有没有解决的办法啊
回复

使用道具 举报

348#
发表于 2007-3-15 11:11:54 | 只看该作者

grub4dos初级教程-入门篇/应用篇

grub4dos初级教程
                                             lianjiang   2007年3月

0  为何写此初级教程?(兼前言)
1  入门篇
1.1  grub简介
1.2  如何获得grub4dos最新版
1.3  如何安装grub4dos
1.4  如何使用grub4dos
1.5  结言
2  应用篇
2.1  硬盘上的应用
2.2  光盘上的应用
2.3  软盘上的应用
2.4  优盘上的应用
2.5  结言
3  致谢

0  为何写此初级教程?
    假如你是第一次听说grub,你可能说我不需要grub。那么,你是否用过“一键ghost”,“超级急救盘”,或者“矮人DOS工具箱”?如果你用过的话,那么你实际上已经在用grub了。
    grub4dos相关的资料互联网上并不少,软件包里也有说明文件,可是绝大多数资料并不适合刚接触grub的人。初学者下载了grub4dos软件包后,面对一大堆(约40个)的文件,即使大概看了readme.txt文件后,也很可能仍然是一团雾水,不知从何处入手。出现这种状况的一个主要原因是,此软件是作者利用业余时间开发的,开发者在有限的时间里集中精力于排除软件bug,从而无过多剩余精力撰写文档。
    其实,初步使用这个软件并不难,可以说非常简单。下面的内容参考了有关资料,并结合本人的使用经验,供初学者参考,希望能对你入门grub有所帮助。本人也是接触grub不久,对grub的了解还很肤浅,错误之处,敬请指出。

1  grub4dos初级教程-入门篇

1.1  grub简介
    GRUB 是一个遵从Multiboot(多重启动)规范的启动管理程序。现在接触到的有3种,即GNU Grub Lagecy , GNU Grub2 和 Grub for dos(grub4dos)。
    GNU GRUB  Lagecy其实就是原来的 GNU GRUB 0.xx ,最新版是2005年发布的GNU GRUB 0.97 。目前已停止开发,并改名为 GNU GRUB  Lagecy  。
    GNU GRUB2是第二代GRUB,它将取代原来的GNU GRUB(例如0.9x版),但目前还处于开发阶段,尚未发布正式版。
    GNU GRUB  Lagecy和GNU GRUB2都是 GNU 组织的项目。
    GRUB for DOS(GRUB4DOS)是一个以 GNU GRUB 为基础的功能强大的引导器。它可以在 DOS 和 LINUX下运行,也可以通过其他引导器来运行,还可以作为MBR运行。GRUB4DOS内置了功能完善的 BIOS 级磁盘仿真。
    下面以比较广泛使用的GRUB4DOS为基础进行说明。GNU GRUB与GRUB4DOS的不同之处,可参看相关说明文件。

1.2  如何获得grub4dos最新版
   可从以下网址下载GRUB4DOS最新版及较早版本。
       http://download.gna.org/grub4dos/
       http://download.gna.org/grubutil/
       http://grub4dos.jot.com/WikiHome
       https://gna.org/projects/grub4dos/
       http://grub4dos.sourceforge.net/wiki  (官方说明文档)

1.3  如何安装grub4dos?
   下载grub4dos后,解压缩后就可以了。核心文件有下面这几个:grldr和grub.exe,及menu.lst(此为样本,需修改)。如果你需要中文支持,就用chinese子目录中的文件。
   安装方法常见的有下面3种。
   
1.3.1 通过Windows NT的启动菜单进入grub4dos
   将grldr文件复制到c:\,去掉boot.ini的只读属性,然后修改c:\boot.ini文件,在boot.ini的最后面加一行:
c:\grldr="Start GRUB4DOS"
并将boot.ini中的timeout值设置为大于0的数字,如:timeout=5,然后保存boot.ini,改回只读属性。
编辑boot.ini前,可在cmd下输入:
attrib -s -r -h c:\boot.ini
解除boot.ini的只读属性,编辑完后输入:
attrib +s +r +h c:\boot.ini
恢复boot.ini的原有属性。
   这样,编辑完重新启动计算机,在NT的启动菜单就会出现“Start GRUB4DOS”这一项,选择该项即可进入grub4dos的环境。
   
   此方法的优点是:不需要修改MBR。
   初学者使用grub一般都需要grub菜单,把准备好的menu.lst文件放到C:\下(也可放到其它分区根目录或其它指定目录)。menu.lst的编写方法可参考readme.txt或者别人提供的menu.lst。在下面的“1.4 如何使用grub4dos”中也将作简单介绍。
   
   
1.3.2  通过DOS启动grub
     将机器通过任何可能的方式(软盘,U盘,光盘等)启动到DOS环境(最好是纯DOS环境,即不加载任何驱动程序和TSR程序的DOS环境),然后在DOS下或者AUTOEXEC.BAT中运行grub.exe,即可进入grub4dos。
     也可在DOS/Windows9x的CONFIG.SYS中使用下列任一方式启动grub。
        DEVICE=GRUB.EXE
        INSTALL=GRUB.EXE
        SHELL=GRUB.EXE
    此方法的优点是:不需要修改MBR;可根据需要在脚本或者其它DOS程序中启动GRUB4DOS。
菜单文件menu.lst可保存在grub文件所在目录或其它指定路径。

1.3.3  通过mbr启动grub
    通过软件包里的bootlace.com(可运行于DOS/Win9x)安装GRLDR引导记录到硬盘或者硬盘映像文件的主引导记录,或者安装到软盘或者软盘映像的引导扇区。电脑启动时,通过击热键(默认为空格键,可自定义)来启动grub。
   比如:
在DOS下安装GRLDR代码到主引导记录:
bootlace.com  0x80
在DOS下安装GRLDR代码到软盘:
bootlace.com  --floppy --chs 0x00
    我所使用的命令为:
bootlace --force-backup-mbr --boot-prevmbr-first --time-out=3 --hot-key=0x3920 --mbr-disable-floppy 0x80
    表示安装GRLDR代码到MBR时,备份原MBR(--force-backup-mbr),默认启动原MBR,即启动原windows xp系统(--boot-prevmbr-first),等待时间3秒(--time-out=3),热键为空格键(--hot-key=0x3920), 不搜索软盘上的GRLDR(--mbr-disable-floppy)。
   
    也就是说启动时等待3秒,3秒内不击热键的话,启动windows xp;3秒内击热键则启动grub4dos。
    bootlace的其它参数及自定义热键用法可参看readme.txt文件。
    装入mbr后,再将grldr和menu.lst文件复制到某分区的根目录(现在支持的文件系统是FAT12,FAT16, FAT32, NTFS,EXT2 or EXT3 的分区。对于Windows用户,最好是fat分区),menu.lst也可保存到其它指定位置。
    此方法的优点是:不依赖于操作系统;能够自动搜索硬盘上各个分区的grldr文件。
   
    另外,2000/xp/2003/vista环境下可用另一软件grubinst来把GRLDR引导记录安装到硬盘的MBR。

1.4  如何使用grub4dos
    对于多数没有或很少接触过linux的windows用户来说,刚开始使用grub时离不开菜单。也就是说,使用grub前,我们要准备menu.lst文件。
    下面是一个menu.lst的例子。(以#开始的行,表示注释,不执行)
# 默认延迟时间(秒)
timeout 30
# 第一项为默认值
default 0
# 设置图形背景文件
splashimage (hd0,0)/boot/grub/xp2008.gz
# 设置中文支持的字体文件
fontfile (hd0,0)/boot/grub/fonts

title 使用map启动本地硬盘上的瑞星杀毒软盘镜像文件
map (hd0,0)/boot/grub/rav.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 使用memdisk启动本地 Win98 软盘镜像文件
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/win98.img
title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件
root   (hd0,0)
kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy
initrd /boot/rav.zip
title 启动第一主分区(hd0,0)上的操作系统
rootnoverify (hd0,0)
makeactive
chainloader  +1
title 启动第二主分区(hd0,1)上的操作系统
rootnoverify (hd0,1)
makeactive
chainloader  +1
title 重启
reboot
title 关机
halt

参考这个例子,我们就可以根据自己需要对菜单进行修改。比如从网上下载了个效率源的镜像文件,文件名为XLY.IMG
我们只需把
title 使用memdisk启动本地 Win98 软盘镜像文件
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/win98.img
改成
title 硬盘检测修复工具 效率源 (memdisk)
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/xly.img
或者改成
title 硬盘检测修复工具 效率源 (map)
map (hd0,0)/boot/grub/xly.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
同时把xly.img文件保存到第一主分区(一般是C:)的boot\grub目录下。
也可以保存到其它路径。
比如C:\boot下,则menu.lst文件相应改为:
map (hd0,0)/boot/xly.img (fd0)
又如D:\test下,则menu.lst文件相应改为
map (hd0,4)/test/xly.img (fd0)
  
从上面的例子可以看出,启动软盘镜象,有两种方式,即用memdisk或用map。 用memdisk时,img文件可压缩;在img文件大小为非1.44MB或2.88MB标准镜像时,需要指定CHS参数。img文件的CHS参数可用winimage获得。
即例子中的:
title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件
root   (hd0,0)
kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy
initrd /boot/rav.zip
另外,菜单文件中的文件路径可用相对路径(如:/boot/rav.zip)或绝对路径(如:(hd0,0)/boot/grub/xly.img)表示。
而map方式对软盘映像大小没有限制,但要求必须连续存放。改进的map --mem则无此限制。比如:
map --mem /boot/xxx.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
注意:
  a, 菜单文件中所用的memdisk.gz文件,不包括在grub4dos的发行包里,需自行准备。可从gnu grub软件包或从其它基于grub的工具(如一键ghost,本人的gghost)中获得。
  b, 菜单中所用的其它文件如xp2008.gz(背景文件)、fonts(中文字体文件)及各种镜像文件等,均需拷贝到文件中指定路径。
     fontfile命令不可单独使用,需与splashimage一起使用。
  c, 菜单文件中的命令全部使用小写。

下面的menu.lst是我现在使用的,供参考。
color white/green yellow/green
default 1
timeout 3

#fontfile /boot/grub/fonts
#splashimage /boot/grub/bg.xpm.gz
#password --md5 $1$8$D0mfzTIQXv2Ma2b5bWH0b.
title  0, Boot from Hard Drive (hd0,0)
root (hd0,0)
chainloader +1
title  1, GreenGhost  [Ghost v8.3/v11]  (MAP-HOOK)
map --mem /boot/grub/gghost.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title  2, GreenGhost  [Ghost v8.3/v11]  (MEMDISK)
kernel /boot/grub/memdisk.gz c=200 h=2 s=36 floppy
initrd /boot/grub/gghost.img c=200 h=2 s=36 floppy
title  3, GreenGhost  [Ghost v8.3/v11]  (MAP-HOOK) [disable a20]
map --mem /boot/grub/gghost.img (fd0)
map --hook
chainloader --disable-a20 (fd0)+1
rootnoverify (fd0)
title  4, Microsoft Windows NT/2K/XP
find --set-root /ntldr
chainloader /ntldr
title  5, Microsoft Windows Vista
find --set-root /bootmgr
chainloader /bootmgr
title  6, Boot from Hard Drive (hd0,1)
root (hd0,1)
chainloader +1
title  7, Boot from Hard Drive (hd1,0)
root (hd1,0)
chainloader +1
title  8, Reboot
reboot
title  9, Shutdown
halt

1.5  结言
    Grub4dos具有强大的功能,上面介绍的只是grub4dos的一些最基本用法,更多的用法可在掌握基本用法的基础上,自己查阅资料了解。

2  grub4dos初级教程-应用篇
2.1  硬盘上应用
   硬盘上应用grub,首先要进行安装,安装/启动方式主要有3中,即通过Windows NT的启动菜单进入grub4dos;通过DOS启动grub;通过mbr启动grub。【参看1.3  如何安装grub4dos】
   安装完grub后,需要准备菜单文件menu.lst。

2.1.1 加载软盘镜像
    对于Windows用户,用grub加载软盘镜象是最常用的功能之一。由于windows2k/xp已脱离了dos,因此进行包括系统备份/恢复在内的一些dos下操作,成为初学者的一个难题。以前我们可能就需要用启动光盘等才能进入dos,光盘的特性决定了很难及时方便地更新光盘上的工具。grub的出现与应用,解决了这个难题。我们不仅无需借助其它的介质就能进入dos环境,而且能及时更新工具。网上下载的各种系统维护工具,很多都是img形式,无需把文件提取出来,稍微修改menu.lst就能使用,各种工具也能和谐共处,使用非常方便。
    如何把下载的xxx.img加入grub启动菜单呢?
    你只要把xxx.img保存到C:\boot\grub目录下,编辑menu.lst,加入下面内容就行了。
      title Boot from Floppy image XXX
      map --mem /boot/grub/xxx.img (fd0)
      map --hook
      chainloader (fd0)+1
      rootnoverify (fd0)
    注意:这几行内容不能加在最前面,因为前面是一些对全局有效的设置。
      你需要的工具都可以这种方式加进去。
      也许你有很多工具,都加进menu的话,显得很乱。平时常用的可能也就一两个工具,不少只是偶尔一用。对于这种情况,可以采取下面的方法。即:把常用的写入菜单,同时在菜单中写一个通用启动img文件的内容。比如上面的
     title Boot from Floppy image XXX
      map --mem /boot/grub/xxx.img (fd0)
      map --hook
      chainloader (fd0)+1
      rootnoverify (fd0)
    这样可以在启动grub进入菜单后,选择“Boot from Floppy image XXX”后,按“e”进入编辑状态,移动方向键,修改xxx.img为需要启动的文件名,回车,按“b”启动即可。(img文件保存在其它路径的话,则改成相应的路径。)

2.1.2 启动WinPE
有些系统维护操作在dos下操作不太方便,甚至不能进行。WinPE的出现,给我们带来了很多方便。
下面以广受好评的老毛桃修改的光棍版WinPE为例,介绍如何用grub启动WinPE。 (光棍版WinPE中已带有安装程序,我这里介绍的是在menu.lst中加入通用的winpe选项。)
步骤:
1, 下载光棍版WinPE,解压后得到BootCD.ISO。
2,  用虚拟光驱或UltraISO等提取iso中的WINPE.IS_,WINNT.XPE和WXPE\SETUPLDR.BIN,把这3个文件拷贝到C:\,并把SETUPLDR.BIN改名为ldrxpe。需要外置程序的,还需把XPEMENU.INI和“外置程序”目录一起拷贝到任一盘符的根目录。
  3,在menu.lst中加入
                title  Micro Windows XPE (by LaoMaotao)
                chainloader /ldrxpe
    这样启动grub时选择“Micro Windows XPE (by LaoMaotao)”就能启动WinPE了。这样就能在windows界面下进行系统维护、安装等操作。

2.1.3 启动系统
    对于单一硬盘装了多系统及多硬盘装了多系统的,用grub可以方便地对各系统进行启动管理。
  比如在menu.lst中可加入下面的选项:

title 启动第一硬盘第一主分区(hd0,0)上的操作系统
              rootnoverify (hd0,0)
              makeactive
              chainloader  +1
title 启动第一硬盘第二主分区(hd0,1)上的操作系统
              rootnoverify (hd0,1)
              makeactive
              chainloader  +1
title 启动Windows NT/2000/XP/2003
              find --set-root /ntldr
              chainloader /ntldr
title 启动Microsoft Windows Vista
              find --set-root /bootmgr
              chainloader /bootmgr
title 启动DOS/Windows 95/98/Me
       find --set-root /io.sys
              chainloader /io.sys
   
2.2 光盘上的应用
   
    下面介绍两种在光盘上应用grub的方法。
2.2.1 grub引导的可启动光盘
      以grldr作为光盘的启动文件引导光盘,加载menu.lst,通过menu菜单选择启动项目。
步骤:
1) 准备必要的img文件,及grldr,menu.lst(根据需要准备字体,背景图片,memdisk.gz等文件)。
    2) 编辑menu.lst。引导光盘上的img文件的格式如下:
     title   Win98  (MAP-HOOK-1)
                  map --mem (cd)/boot/grub/win98.img (fd0)
                  map --hook
                  chainloader (fd0)+1
                  rootnoverify (fd0)
      菜单中也可引导硬盘上的img文件,比如:
    title   GreenGhost  [Ghost v8.3/v11]  (MEMDISK)  
    kernel (hd0,4)/boot/grub/memdisk.gz c=200 h=2 s=36 floppy
    initrd (hd0,4)/boot/grub/gghost.img c=200 h=2 s=36 floppy
    3) 组织文件。比如在E:\temp下建个grubcd目录,把menu.lst拷贝到此目录下,menu.lst文件将在光盘根目录下。在此目录下建boot\grub目录,保存各种img,字体等文件。注意:menu.lst文件中引用的所有文件的文件名在硬盘上显示的需是小写,大写的要改成小写。
4) 制作ISO。用UltraISO新建一个ISO文件,把E:\temp\grubcd目录下的所有文件加入iso文件;执行“启动光盘”-“加载引导文件”,选择grldr文件。再执行“文件”-“属性”,选上“允许小写字母”选项,保存ISO文件。
也可使用mkisofs.exe或CDIMAGE.EXE等工具制作启动iso。
  5) 用nero等把制作的可启动ISO刻盘。有条件的可先在虚拟机上测试通过后刻盘,或用CD-RW/DVD+RW刻盘。

2.2.2  BCDW引导GRUB的可启动光盘
    此法是用BCDW制作启动光盘,通过BCDW执行grub来加载grub菜单。
步骤:
1) 首先下载BCDW软件包,解压后获取所需文件。
           
2)组织文件。比如在E:\temp下建个bcdwcd目录,此目录下文件将在光盘根目录下,下面建boot\grub目录和bcdw目录,把软件包中bcdw目录下的bcdw.bin,bcdw.ini和loader.bin拷贝到所建的bcdwcd\bcdw目录下;把grldr、各种img、字体等文件拷贝到bcdwcd\boot\grub目录。menu.lst文件的编辑方法与上面2.1中介绍的相同。
  3) 编辑bcdw.ini文件。打开bcdw.ini,找到[MenuItems]部分,比如:
    [MenuItems]
      C:\                         ; Boot from drive C:
      \I386\setupldr.bin                ; Microsoft Windows XP Setup
      \BCDW\bcdw2dos.ima \WIN9X\setup.exe ; Microsoft Windows 98 Setup
    上面的就是BCDW启动菜单的例子。在其中加上grub项,变成:
    [MenuItems]
    \boot\grub\grldr                   ; Grub4dos  
      C:\                         ; Boot from drive C:
      \I386\setupldr.bin                ; Microsoft Windows XP Setup
      \BCDW\bcdw2dos.ima \WIN9X\setup.exe ; Microsoft Windows 98 Setup

     4)制作ISO文件与刻录ISO的方法与2.1中的基本相同。所不同的只是在制作ISO文件时,需把loader.bin作为ISO的引导文件。也可使用mkisofs.exe或CDIMAGE.EXE等工具制作启动iso。


2.3  软盘上的应用
    在软盘上应用grub,主要有两种方式,即通过DOS启动grub和把GRLDR引导记录安装到软盘的引导扇区。【参看1.3  如何安装grub4dos】
2.3.1 通过DOS启动grub的软盘应用
    先把软盘制作成启动盘,最简单的一种,软盘中只需io.sys,msdos.sys和command.com三个文件。
  
   再把grub.exe和menu.lst拷贝到软盘根目录。
  
   新建一个autoexec.bat文件,里面只需写上4个字母。
      grub
    然后编辑menu.lst,由于软盘容量所限,一般很难直接在menu中调用软盘上的img文件,因此,主要可用来启动硬盘上的img文件,还可用于对各系统进行启动管理。菜单文件中使用的指定路径的文件(如字体,img文件等),应预先准备好,否则该选项不能运行。(网上也有在软盘有限的容量里,包括众多维护工具的实例,感兴趣的可自行搜索。)
  menu.lst文件的例子:
timeout 10
default 0
splashimage (fd0)/boot/grub/xp2008.gz
fontfile (fd0)/boot/grub/fonts
title  GreenGhost  [Ghost v8.3/v11]  (MAP-HOOK)
        map --mem (hd0,4)/boot/grub/gghost.img (fd0)
        map --hook
        chainloader (fd0)+1
        rootnoverify (fd0)
title 寻找硬盘上的/menu.lst
          find --set-root /menu.lst
          configfile /menu.lst
title 启动第一硬盘第一主分区(hd0,0)上的操作系统
              rootnoverify (hd0,0)
              makeactive
              chainloader  +1
title 启动第一硬盘第二主分区(hd0,1)上的操作系统
              rootnoverify (hd0,1)
              makeactive
              chainloader  +1
title 重启
       reboot
title 关机
      halt

2.3.2 引导扇区安装了GRLDR引导记录的软盘应用
   
    GRLDR引导记录安装后,在软盘上只需保留有grldr和menu.lst及menu.lst中引用到的文件。menu.lst文件与“2.3.1 通过DOS启动grub”的软盘中使用的是一样的。
2.4   优盘上的应用
    在优盘上应用grub,与软盘类似,主要有两种方式,即通过DOS启动grub和把GRLDR引导记录安装到优盘的引导扇区。【参看1.3  如何安装grub4dos】
   
    首先把U盘用优盘自带工具或usboot,flashboot等制作成dos启动盘,同时设置电脑的cmos里相应的选项,看优盘能否启动进入dos,能的话,可继续往下阅读;不能启动的话,可尝试不同模式、用其它制作工具等,能启动后再往下阅读。
    不同的启动模式,U盘启动进入dos后,在你的电脑上可能是A盘,也可能C盘。
    由于u盘容量大,在u盘上就可以存放各种工具及WinPE。
   
    当显示为A盘时,使用方法类似于软盘。
   
    menu.lst文件中启动img镜像文件的用法如:
      title  GreenGhost  [Ghost v8.3/v11]  (MAP-HOOK)
        map --mem (fd0)/boot/grub/gghost.img (fd0)
        map --hook
        chainloader (fd0)+1
        rootnoverify (fd0)
   
    当显示为C盘时,使用方法类似于硬盘。
    menu.lst文件中启动img镜像文件的用法如:
      title  GreenGhost  [Ghost v8.3/v11]  (MAP-HOOK)
        map --mem (hd0,0)/boot/grub/gghost.img (fd0)
        map --hook
        chainloader (fd0)+1
        rootnoverify (fd0)
   
    在上面的例子里,menu.lst中引用文件使用的是绝对路径,即(fd0)/boot/grub/gghost.img和(hd0,0)/boot/grub/gghost.img,这种用法对于特定的机子是没有问题的。但在同一U盘,要使用到不同机子时,可能带来一个问题。也就是可能不同的机子,要用不同的menu.lst文件,否则不能正常启动工具。那么,能否用什么办法,不用这么麻烦呢?答案是肯定的,那就是使用"find --set-root"和相对路径来实现。这样就不必为U盘被识别为fd还是hd烦恼了。
    比如,你可以在u盘根目录建一个特征文件,如myudisk.txt
    这样在启动u盘上的img镜像文件就可用下面的方法来实现:
        title  GreenGhost  [Ghost v8.3/v11]  (MAP-HOOK)
        find --set-root /myudisk.txt
        map --mem /boot/grub/gghost.img (fd0)
        map --hook
        chainloader (fd0)+1
        rootnoverify (fd0)
    启动u盘上的WinPE就可用:
     
        title  Micro Windows XPE (by LaoMaotao)
          find --set-root /myudisk.txt
                chainloader /ldrxpe
     参考其它示例,通过编辑你的menu.lst,你就能够充分发挥U盘的效能。
2.5  结言
    本文写的仅仅是grub4dos的一些最基本应用,Grub4dos更多的功能有待你去尝试和挖掘。
    希望这篇文章能有助于你更快地把grub4dos使用起来。
    更期待能分享你的成果。
  
  推荐论坛:
  时空论坛:http://bbs.znpc.net
  中国DOS联盟论坛: http://www.cn-dos.net/forum/
  无忧启动论坛:http://bbs.wuyou.net
【注: 我的网盘:http://lianjiang2004.ys168.com 也提供部分grub相关文件及资料的下载。】
3   致谢
   本文的完成,参考、引用了众多的资料,不少已找不到原始出处。初稿完成后,不少网友指出了其中的不足之处,并提出了修改的建议,也得到了软件开发者的支持和鼓励。在此一并表示感谢。

                                            lianjiang  2007.03.09 初稿
                                                       2007.03.15 第四次修改

[ 本帖最后由 lianjiang 于 2007-3-15 03:46 PM 编辑 ]
回复

使用道具 举报

349#
发表于 2007-3-16 11:15:53 | 只看该作者
学习中

正是我要找的,谢谢
回复

使用道具 举报

350#
发表于 2007-3-16 11:16:08 | 只看该作者
正是我要找的,谢谢
回复

使用道具 举报

351#
发表于 2007-3-16 11:16:27 | 只看该作者
正是我要找的,谢谢
回复

使用道具 举报

352#
发表于 2007-3-25 16:22:55 | 只看该作者
GRUB哪里有下载
回复

使用道具 举报

353#
发表于 2007-3-27 00:07:11 | 只看该作者
老规矩,新人来报道一下,呵呵~~
回复

使用道具 举报

354#
发表于 2007-3-30 17:18:32 | 只看该作者
grub 可以恢复mbr成winxp的引导记录吗?怎么只看到将grub安装到mbr的,而没有恢复到win的.
回复

使用道具 举报

355#
发表于 2007-3-30 20:31:42 | 只看该作者
原帖由 tinyhe 于 2007-3-30 05:18 PM 发表
grub 可以恢复mbr成winxp的引导记录吗?怎么只看到将grub安装到mbr的,而没有恢复到win的.

fdisk /mbr
回复

使用道具 举报

356#
发表于 2007-4-2 15:20:24 | 只看该作者
用 MBRTOOL修复 MBR可能比较好

MBRTOOL
回复

使用道具 举报

357#
发表于 2007-4-6 03:13:58 | 只看该作者
看的头都大了.
回复

使用道具 举报

358#
发表于 2007-4-7 09:23:21 | 只看该作者

我安装老毛桃的:winpe:"zhao不到mrnu.lst?

wo我安装了老毛桃的:winpe",想修改menu.sl,添加LINUX启动项,可是C盘跟目录下找不到?
回复

使用道具 举报

359#
发表于 2007-4-7 21:58:08 | 只看该作者
原帖由 ptlm 于 2007-4-7 09:23 AM 发表
wo我安装了老毛桃的:winpe",想修改menu.sl,添加LINUX启动项,可是C盘跟目录下找不到?

内置了,去官方网站下个工具(grubmenu)就能修改内置菜单了。
回复

使用道具 举报

360#
发表于 2007-4-9 10:36:08 | 只看该作者
学习了,谢谢!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 09:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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