首页编程grub for dos(GRUB4DOS)

grub for dos(GRUB4DOS)

编程之家2024-02-1192次浏览

一、“grub for dos”是什么意思

比如从网上下载了效率源的镜像文件,文件名为XLY.IMG。我们只需把 title使用memdisk启动本地 Win98软盘镜像文件 kernel(hd0,0)/boot/grub/memdisk.gz initrd(hd0,0)/boot/grub/win98.img

grub for dos(GRUB4DOS)

改成 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目录下。当然也可以保存到其它路径。比如xly.img文件保存到C:\boot下,则menu.lst文件相应改为: map(hd0,0)/boot/xly.img(fd0)又如xly.img文件保存到D:\test下,则menu.lst文件相应改为: map(hd0,4)/test/xly.img(fd0)(参看下面的注意d)从上面的例子可以看出,启动软盘镜象,有两种方式,即用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,菜单文件中的命令全部使用小写。 d,初学者使用绝对路径时要注意GRUB对设备的命名方法。系统的第一个硬盘驱动器表示成(hd0),其上的第一个分区表示为(hd0,0),也就是说对于硬盘,采用(hdx,y)的形式来表示,x、y都是从0开始计数的,x表示硬盘号,y表示分区号。由于主分区只能有四个,所以第一硬盘的四个主分区分别用(hd0,0)~(hd0,3)来表示;逻辑分区则从(hd0,4)开始算,即第一逻辑分区用(hd0,4),第二逻辑分区用(hd0,5)来表示,依次类推。一般机子的硬盘都是一个主分区,其余是逻辑分区。因此C盘用(hd0,0),D盘用(hd0,4)来表示。光盘用(cd)表示,第一软驱用(fd0)表示。

如何把下载的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)注意: a,这几行内容不能加在最前面,因为前面是一些对全局有效的设置。

b,你需要的工具都可以这种方式加进去。 c,也许你有很多工具,都加进menu的话,显得很乱。平时常用的可能也就一两个工具,不少只是偶尔一用。对于这种情况,可以采取下面的方法。即:把常用的写入菜单,同时在菜单中写一个通用启动img文件的内容。

不同的启动模式,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)

grub for dos(GRUB4DOS)

二、grub2与grub4dos 的区别

两个不同的分支,可以这么说。

======

摘自grub4dos帮助文档

======

相信许多linuxer初次听到“GRUB FOR DOS”这个名字,第一感觉就是:这个对我没用,因为我不用DOS,即使用也不会去通过它启动GRUB。先别急,再问一句:您是否用过grldr呢?是否用过MaxDos、一键ghost、矮人DOS工具盘?如果答案是肯定的,那您已经在用GRUB FOR DOS了。

首先搞清楚与 GNU GRUB的关系。 GNU GRUB分为 GNU GRUB Legacy l和 GNU GRUB2两代。GNU GRUB Legacy其实就是原来的 GNU GRUB 0.xx,最新版是2005年发布的 GNU GRUB 0.97。目前已停止开发,并改名为 GNU GRUB Lagecy。

grub for dos(GRUB4DOS)

GNU GRUB2是第二代 GRUB,它将取代原来的 GNU GRUB(例如0.9x版)。

而 GRUB4DOS则是对 GNU GRUB Lagecy的二次开发。该项目最早由不点在2003年发起。目前主要由chenall、不点、bean和另外几位中国人维护,很多人贡献了代码,再加上广大网友热心帮助,使得 GRUB4DOS不断完善。

=====

三、grub4dos电脑重装问题

menu.lst文件损坏

在出现 grub>之后

试着输入

chainloader(hd0,X)/ntldr

X代表系统所在的分区

比如说你系统装在C盘

那么就是chainloader(hd0,0)/ntldr

引导D盘上的系统就是

chainloader(hd0,1)/ntldr

ntldr文件损坏

试着进入DOS下,从一台正常的机器上拷一个ntldr文件到C:盘

实在不行找张系统光盘重做吧

主分区已经被改写了

由MBR引导GRUB进入系统的

分区表坏了的话,是无法引导GRUB的,但你至少能引导进入

工具栏变宽了(电脑桌面工具栏突然变宽怎么解决)shutdown 命令(Linux命令:shutdown立即关机)