免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2001 | 回复: 0
打印 上一主题 下一主题

grub for dos 入门 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-01 16:12 |只看该作者 |倒序浏览

源自网络
Grub for dos 入门教程
1 入门篇
为何写此初级教程?
假如你是第一次听说grub,你可能说我不需要grub。那么,你是否用过“一键ghost”,“超级急救盘”,或者“矮人DOS工具箱”?如果你用过的话,那么你实际上已经在用grub了。
grub4dos相关的资料互联网上并不少,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的环境。【图1】

  
此方法的优点是:不需要修改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
在DOS下安装GRLDR代码到软盘映像:
bootlace.com --floppy --chs floppy.img
我所使用的命令为:
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。grubinst具有图形界面和命令行两种工作模式供选用,并附有比较详细的使用说明,很易于使用。【参看附录 4.1 如何使用grubinst_gui】
1.3.4 通过Windows NT的启动菜单进入grub4dos NEW!
用批处理自动把grub4dos装入Vista启动项(非MBR)。
把grub4dos装入Vista启动项,比装入MBR相对来说要安全。
【对于vista系统,不能通过fdisk /mbr来恢复mbr,这样会造成vista无法启动。】
关于手动把grub4dos装入Vista的启动项的方法,网上有一些介绍。比起winxp修改Boot.ini来,操作要麻烦不少。
主要就是操作过程中要产生一个ID号【如:b88a2da4-0a4e-11dc-813a-00e04c75ef59】,需要手动输入3次,实在是麻烦。
下面的批处理自动完成整个装入操作。
-------------------------------
@echo off
rem by lianjiang
cls
echo.
echo 请以管理员身份运行。
echo.
pause
set gname=GRUB for DOS
set vid=
set timeout=5
bcdedit >bcdtemp.txt
type bcdtemp.txt | find "\grldr.mbr" >nul && echo. && echo  BCD启动项中已有grub4dos的项目,无需再安装。&& pause && goto exit
bcdedit  /export "Bcd_Backup" >nul
bcdedit  /create /d "%gname%" /application bootsector >vid.ini
for,/f,"tokens=2 delims={",%%i,In (vid.ini) Do (
set vida=%%i
)
for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do (
set vid={%%i}
)
echo %vid%>vid.ini
bcdedit  /set %vid% device boot >nul
bcdedit  /set %vid% path \grldr.mbr >nul
bcdedit  /displayorder %vid% /addlast >nul
bcdedit  /timeout  %timeout% >nul
if exist grldr.mbr copy grldr.mbr %systemdrive%\ /y && goto exit
echo.
echo 稍后请自行把grldr.mbr拷贝到%systemdrive%\根目录
echo.
pause
:exit
del bcdtemp.txt >nul
-------------------------------
此方法的优点是:不需要修改MBR。
grub菜单文件的准备同“1.3.1 通过Windows NT的启动菜单进入grub4dos”。
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
此菜单文件的运行效果如下图。【图2】

参考这个例子,我们就可以根据自己需要对菜单进行修改。
比如从网上下载了效率源的镜像文件,文件名为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目录下。
当然也可以保存到其它路径。
比如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)表示。
如我的硬盘有两个主分区,其余为逻辑分区。用(hdx,y)的方法表示如下图:


下面是我现在使用的菜单效果图及menu.lst文件,供参考。【图3】


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
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, Reboot
reboot
title 8, 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)
注意:
a, 这几行内容不能加在最前面,因为前面是一些对全局有效的设置。
b, 你需要的工具都可以这种方式加进去。
c, 也许你有很多工具,都加进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 老毛桃修改版_1111 版”为例,介绍如何用grub启动WinPE。 (ISO中已带有安装程序,我这里介绍的是在menu.lst中加入通用的winpe选项。)
步骤:
1, 下载“老九 WinPE 老毛桃修改版_1111 版”,解压后得到BootCD.ISO。
2, 用虚拟光驱或UltraISO等提取iso中的WINPE.IS_,WINNT.XPE和WXPE\SETUPLDR.BIN,把这3个文件拷贝到C:\,并把SETUPLDR.BIN改名为ldrxpe。需要外置程序的,还需把XPEMENU.INI和“外置程序”目录一起拷贝到任一盘符的根目录。【图4】【图5】


3,在menu.lst中加入
title Micro Windows XPE (by LaoMaotao)
chainloader /ldrxpe
启动grub时选择“Micro Windows XPE (by LaoMaotao)”就能启动WinPE了。这样就能在windows界面下进行系统维护、安装等操作。【图6】【图7】【图8】



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 GreenGhost [Ghost v8.3/v11] (MAP-HOOK)
map --mem (cd)/boot/grub/gghost.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
3) 组织文件。比如在E:\3333下建个grubcd目录,把menu.lst拷贝到此目录下,menu.lst文件将在光盘根目录下。在grubcd目录下建boot\grub目录,保存各种img,字体等文件(也可以保存到其它路径,与menu.lst中的指定的路径要一致)。注意:menu.lst文件中引用的所有文件的文件名在硬盘上显示的需是小写,大写的要改成小写。【图9】

4) 制作ISO。用UltraISO新建一个ISO文件,把E:\3333\grubcd目录下的所有文件加入iso文件;执行“启动光盘”-“加载引导文件”,选择grldr(需把grldr改名为grldr.bin或grldr.bif等)文件。再执行“文件”-“属性”,选上“允许小写字母”选项,保存ISO文件。【图10】【图11】【图12】



也可使用mkisofs.exe或CDIMAGE.EXE等工具制作启动iso(grldr不需改名)。
比如我用CDIMAGE制作iso的批处理是:
cdimage -lgrubcd -t01/01/2007,00:00:00 -h -n -o -d -m -bgrldr grubcd grubcd.iso
5) 用nero等把制作的可启动ISO刻盘。有条件的可先在虚拟机上测试通过后刻盘,或用CD-RW/DVD+RW刻盘。
2.2.2 BCDW引导GRUB的可启动光盘
此法是用BCDW制作启动光盘,通过BCDW执行grldr来加载menu.lst菜单。
步骤:
1) 首先下载BCDW软件包,解压后获取所需文件。
2)组织文件。比如在E:\3333下建个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启动菜单的例子。在其中加上grub等项,变成:
[MenuItems]  
\images\gghost.img ; GGhost v6.0 (Ghost8.3/11)
\images\mynet.img ; My net (Ghost8.3)(tcp/ip,cd/usb)
\boot\grub\grldr ; Grub4dos
\WXPE\SETUPLDR.BIN ; Micro Windows XPE (by LaoMaotao)
C:\ ; Boot from drive C:
\I386\setupldr.bin ; Microsoft Windows XP Setup
4)制作ISO文件与刻录ISO的方法与2.1中的基本相同。所不同的只是在制作ISO文件时,要把loader.bin(或bcdw.bin)作为ISO的引导文件。【图13】

也可使用mkisofs.exe或CDIMAGE.EXE等工具制作启动iso。
比如我用CDIMAGE制作iso的批处理是:
cdimage -lbcdwcd -t01/01/2007,00:00:00 -h -n -d -o -m -bload.bin bcdwcd bcdwcd.iso
运行后bcdw界面与grub界面的效果如下图。【图14】【图15】


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.com

【注: 申营电脑公司交流论坛:
http://okf.5d6d.com/forum-14-1.html
也提供部分grub相关文件及资料的下载。】
3 致谢
本文的完成,参考、引用了众多的资料,不少已找不到原始出处。初稿完成后,不少网友指出了其中的不足之处,并提出了修改的建议,也得到了软件开发者的支持和鼓励。在此一并表示感谢。



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2222/showart_2015220.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP