中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » grub4dos初级教程-应用篇 【全文完成】
« [1] [2] »
作者:
标题: grub4dos初级教程-应用篇 【全文完成】 上一主题 | 下一主题
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『楼 主』:  grub4dos初级教程-应用篇 【全文完成】

请看最新更新版: grub4dos初级教程 -入门篇、应用篇【07-03-27更新】
http://www.cn-dos.net/forum/viewthread.php?tid=28300&fpage=1

说明:更新部分内容,为便于阅读,合并“入门篇“与”应用篇”,pdf图文版可去我网盘下载或去时空论坛下载。(本站目前似乎已无法发附件)

-------------------------------------------------

grub4dos初级教程-应用篇

                              lianjiang   2007.03.14 第二次修改

1  硬盘上的应用
2  光盘上的应用
3  软盘上的应用
4  优盘上的应用
5  结言
6  致谢

注:1) 本教程引用的很多资料均来自于互联网,版权归原网站或者原作者所有。
    2) 请先参阅“grub4dos初级教程-入门篇”
    3) 应用环境为windows/dos。
    4)本人接触grub不久,对grub的了解还很肤浅,错误之处,敬请指出。

******************************************************************

1  硬盘上应用

   硬盘上应用grub,首先要进行安装,安装/启动方式主要有3中,即a,通过Windows NT的启动菜单进入grub4dos;b,通过DOS启动grub;c, 通过mbr启动grub。

   安装完grub后,需要准备菜单文件menu.lst。

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文件保存在其它路径的话,则改成相应的路径。)


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了。


1.3 启动系统

        对于单一硬盘装了多系统及多硬盘装了多系统的,用grub可以方便地对各系统进行启动管理。

        比如在menu.lst中可加入下面的选项:
       
        title 启动第一硬盘第一主分区(hd0,0)上的操作系统
              rootnoverify (hd0,0)
              makeactive
              chainloader  +1

        title 启动第一硬盘第二主分区(hd0,1)上的操作系统
              rootnoverify (hd0,1)
              makeactive
              chainloader  +1

        title 启动第二硬盘第一主分区(hd1,0)上的操作系统
              rootnoverify (hd1,0)
              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 光盘上的应用
   
  下面介绍两种在光盘上应用grub的方法。

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  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:
           \WNPE\setupldr.bin                ; Bart's Preinstalled Environment
           \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:
           \WNPE\setupldr.bin                ; Bart's Preinstalled Environment
           \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。

******************************************************************

3  软盘上的应用

  在软盘上应用grub,主要有两种方式,即通过DOS启动grub和把GRLDR引导记录安装到软盘的引导扇区(安装方法参看“grub4dos初级教程-入门篇”)。

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 启动第二硬盘第一主分区(hd1,0)上的操作系统
              rootnoverify (hd1,0)
              makeactive
              chainloader  +1

        title 重启
              reboot

        title 关机
             halt


3.2 引导扇区安装了GRLDR引导记录的软盘应用

   
    GRLDR引导记录安装后,在软盘上只需保留有grldr和menu.lst及menu.lst中引用到的文件。menu.lst文件与“3.1 通过DOS启动grub”的软盘中的使用是一样的。


******************************************************************

4   优盘上的应用

   在优盘上应用grub,与软盘类似,主要有两种方式,即通过DOS启动grub和把GRLDR引导记录安装到优盘的引导扇区(安装方法参看“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盘的效能。


******************************************************************

5  结言

  本文写的仅仅是grub4dos的一些最基本应用,Grub4dos更多的功能有待你去尝试和挖掘。

  希望这篇文章有助于你更快地把grub4dos使用起来。

  更期待能分享你的成果。

  
  注:我的网盘:http://lianjiang2004.ys168.com 也提供部分grub相关文件及资料的下载。

  推荐论坛:

  时空论坛:http://bbs.znpc.net
  中国DOS联盟论坛: http://www.cn-dos.net/forum/
  无忧启动论坛:http://bbs.wuyou.com

******************************************************************

6  致谢

   本文的完成,参考、引用了众多的资料,不少已找不到原始出处。初稿完成后,不少网友指出了其中的不足之处,并提出了修改的建议,也得到了软件开发者的支持和鼓励。在此一并表示感谢。

                                           lianjiang  2007.03.13 初稿
                                                      2007.03.13 第一次修改
                                                      2007.03.14 第二次修改

[ Last edited by lianjiang2004 on 2007-3-29 at 09:01 PM ]

   此帖被 +31 点积分      点击查看详情   
评分人:【 electronixtar 分数: +8  时间:2007-3-14 02:27
评分人:【 vkill 分数: +8  时间:2007-3-14 02:30
评分人:【 NaturalJ0 分数: +7  时间:2007-3-27 21:56
评分人:【 xing7749 分数: +8  时间:2007-3-28 10:25




Windows 一键还原
http://www.yjhy.com
2007-3-14 02:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 2 楼』:  

不错,沙发,顶




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2007-3-14 02:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 3 楼』:  

好帖

2007-3-14 02:30
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 4 楼』:  

增加“2,光盘上的应用”部分



Windows 一键还原
http://www.yjhy.com
2007-3-14 09:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lwf8888
初级用户




积分 118
发帖 9
注册 2004-8-22
状态 离线
『第 5 楼』:  

好好学习一下。。。

2007-3-14 10:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tangtai
高级用户




积分 640
发帖 314
注册 2006-8-13
状态 离线
『第 6 楼』:  

再顶!!!!

2007-3-15 04:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastrun
初级用户





积分 46
发帖 24
注册 2006-12-13
状态 离线
『第 7 楼』:  

顶一下
写的不错

2007-3-15 09:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lhteee
中级用户




积分 223
发帖 59
注册 2005-5-23
状态 离线
『第 8 楼』:  

学习,学习,谢谢

2007-3-15 09:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tangtai
高级用户




积分 640
发帖 314
注册 2006-8-13
状态 离线
『第 9 楼』:  

楼主辛苦!!

2007-3-15 23:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
oumiga
初级用户




积分 154
发帖 22
注册 2004-5-30
状态 离线
『第 10 楼』:  

一定要放在boot\grub目录下吗?
可不可以改下?比如bootdir\airendos ??

2007-3-19 03:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by oumiga at 2007-3-19 03:18:
一定要放在boot\grub目录下吗?
可不可以改下?比如bootdir\airendos ??

没说一定,仔细看全文应就知道了。

1,可以,把menu.lst放到根目录,menu.lst中指定文件路径即可。文中应有举例。
比如xly.img文件保存到C:\boot下,则menu.lst文件相应改为:
map (hd0,0)/boot/xly.img (fd0)



Windows 一键还原
http://www.yjhy.com
2007-3-19 04:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zzzz
新手上路





积分 6
发帖 3
注册 2007-3-23
状态 离线
『第 12 楼』:  

谢谢楼主!学习学习。

2007-3-23 12:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 13 楼』:  

写的好啊,当初为了学用这个,自己摸索了好几天,很是费时间。要是早有这文章就美了。 ^_^

2007-3-27 21:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
xing7749
高级用户

文盲



积分 833
发帖 349
注册 2004-1-26
状态 离线
『第 14 楼』:  

真好,谢谢楼主

2007-3-28 10:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
BWSkyer
中级用户

我是DOS学者


积分 367
发帖 180
注册 2006-5-14
来自 重庆
状态 离线
『第 15 楼』:  

何不做一个CHM档供大家下载观看,这样比较好点~~~

2007-3-28 12:06
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (309843581)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: