注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

往事如烟

科技创造价值

 
 
 

日志

 
 

GRUB4DOS初级应用教程  

2013-10-13 17:33:31|  分类: 常规教程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

      GRUB4DOS是一个优秀的双(多)系统引导软件,是 GNU GRUB 的一个分支,使用GRUB4DOS可以很方便的引导各种操作系统,比如DOS、Windows、 Linux等。是一个可以把U盘制作成光盘似的来进行装系统的启动引导工具。该项目是由tinybit(不点)于2003年发起的,目前活跃的开发者主要有tinybit,bean,chenall,roy和karyonix等。

      一、安装GRUB4DOS
      下载grub4dos后,解压缩后就可以了。核心文件有:
grldr                  # 主文件
grldr.mbr           #  用于VISTA以上windows系统
grub.exe            #  DOS下进入GRUB的可执行文件 
menu.lst            #  外置菜单示例文件(根据实际应用修改)
bootlace.com     #  安装GRUB引导文件到硬盘、硬盘镜像主引导记录、软盘、软盘映像引导扇区工具
      如果需要中文支持这使用chinese文件夹里的文件。
      1、通过Windows NT的启动菜单进入grub
      将grldr文件复制到c:\,去掉boot.ini的只读属性,然后修改c:\boot.ini文件,在boot.ini的最后面加一行:
c:\grldr="Start GRUB4DOS"
      并将boot.ini中的timeout值设置为大于0的数字,如:timeout=5,然后保存boot.ini,改回只读属性。
      使用grub一般都需要grub菜单,把准备好的menu.lst文件放到C:\下(也可放到其它分区根目录或其它指定目录)。menu.lst的编写方法可参考readme.txt或者别人提供的menu.lst。
      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
      菜单文件menu.lst可保存在grub文件所在目录或其它指定路径。
      3、通过mbr启动grub
      通过软件包里的bootlace.com(可运行于DOS/Win9x)安装GRLDR到mbr。
      (1)在DOS下安装GRLDR代码到硬盘主引导记录:
bootlace.com 0x80
      (2)在DOS下安装GRLDR代码到软盘引导扇区
bootlace.com --floppy --chs 0x00
      (3)在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
     
--force-backup-mbr     #备份原MBR
      --boot-prevmbr-first     #默认启动原系统
      --time-out=3                #等待3秒
      --hot-key=0x3920        #热键为空格键
      --mbr-disable-floppy   #忽略软盘

     安装到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、通过Windows VISTA/Window 7的启动菜单进入grub
      使用BCD管理工具在启动菜单中添加grub启动项,并将grldr.mbr复制到系统分区根目录,grldr和menu.lst复制任何分区根目录(一般也复制到系统分区根目录。BCD使用方法不在此赘述,请参看相关教程。

      二、GRUB4DOS初级应用
      grub4dos应用围绕着menu.lst文件编写进行。以下以grub4dos-0.4.6a-2013-07-24版本为例。

      1、全局设置

#  设置调试级别为静默模式
debug off
#  判断是否为PXE启动,如果是PXE启动,指定一个不存在的配置文件“NoExist”
checkrange 0x21 read 0x8280 && pxe detect
NoExist
#  设置外部命令所在位置
command --set-path=(bd)/BOOT/GRUB/

#  设置默认等待时间(秒) 
timeout 30 
#  设置默认值启动项
default 0
#  设置界面颜色(有三种方式)

(1)VGA 图形模式图形菜单模式界面
#  设置图形菜单模式下通用色(1未选中时前景/背景 2选中时的前景/背景 3帮助文本前景/背景 4标题前景/背景
#  (color命令优先于foreground命令和background命令,无foreground命令和background命令则默认颜色为黑色背景白色文本)
color blue/green yellow/red white/magenta white/magenta
#  设置图形菜单模式下前景颜色
foreground ffff00
#  设置图形菜单模式下背景颜色
background 0000ff
#  设置中文支持的字体文件(使用grldr内置font命令)
#  菜单文件必须使用ANSI文本编码模式

fontfile (hd0,0)/boot/grub/fonts.gz

(2)VBE图形菜单模式界面
#  grub4dos 0.4.5以上(仅有英文版)支持,含有多国语言支持,可加载背景图片
#  设置图形模式

graphicsmode -1 640:800 480:600 24:32
#  设置图形菜单背景文件(xpm格式或者xpm格式压缩的gz格式和lzma格式
splashimage (hd0,0)/boot/grub/splashimage.xpm
#  设置图形菜单模式下通用色(1未选中时前景/背景 2选中时的前景/背景 3帮助文本前景/背景 4标题前景/背景
#  (color命令优先于foreground命令,无foreground命令则默认颜色为白色文本)

color
blue/green yellow/red white/magenta white/magenta
#  设置菜单边框颜色
color border=0xEEFFEE
#  设置图形菜单模式下前景颜色
#  (有color命令,则foreground命令设置无效)

foreground ffff00
#  设置中文支持的字体文件(使用grldr内置font命令)
#  菜单文件只能使用UTF-8文本编码模式

font (hd0,0)/boot/grub/unifont.hex.gz

(3)gfxmenu图形菜单模式界面
#  英文版grldr内置gfxmenu命令加载背景图片文件message
#  使用MsgDiyer制作message文件,文件中包含字体字号、背景图片等,这种模式显示效果最好
#  菜单文件只能使用UTF-8文本编码模式

gfxmenu
(hd0,0)/boot/grub/message

     2、加载软盘镜像

title Boot from Floppy image XXX 
map --mem (hd0,0)//boot/grub/xxx.img (fd0)     #  映射(仿真)软盘镜像到软盘(先加载到内存,文件不要求连续存放) 
map --hook                                                      #  使映射生效
chainloader (fd0)+1                                          #  加载软盘的第一个扇区(即启动扇区) 
rootnoverify (fd0)                                              #  将软盘设为根分区

      启动软盘镜象,有两种方式,即用map或用memdisk。用memdisk时,img文件可压缩;在img文件大小为非1.44MB或2.88MB标准镜像时,需要指定CHS参数。img文件的CHS参数可用winimage获得。参数H, S是关键参数,必须准确无误;参数C设定错了,也不影响引导。

title Boot from Floppy image XXX
kernel (hd0,0)/boot/grub/memdisk.gz c=200 h=2 s=36 floppy     #  可从SysLinux软件包中获得memdisk.gz
initrd (hd0,0)/boot/grub/xxx.img                                                  #  加载Linux格式的初始化虚拟盘

      3、启动WinPE

#  以老九WinPE老毛桃修改版为例,提取iso中的WINPE.IS_,WINNT.XPE,WXPE\SETUPLDR.BIN,
#  把这3个文件拷贝到C:\,并把SETUPLDR.BIN改名为ldrxpe。
#  需要外置程序的,还需把XPEMENU.INI和“外置程序”目录一起拷贝到任一盘符的根目录。
title
Micro Windows XPE (by LaoMaotao) 
chainloader (hd0,0)/ldrxpe     #  加载PE的启动文件ldrxpe
      4、启动系统

title 启动第一硬盘第一主分区(hd0,0)上的操作系统
rootnoverify (hd0,0)    #  将(hd0,0)设为根分区
makeactive                 #  将设备设置为活动分区
chainloader +1           #  加载分区的第一个扇区(即启动扇区)

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

title 启动Windows NT/2000/XP/2003 
find --set-root /ntldr     #  查找Windows NT/2000/XP/2003启动文件并设置为根分区 
chainloader
/ntldr        #  加载Windows NT/2000/XP/2003启动文件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

      5、引导光盘镜像(ISO仿真)

title Boot myiso.iso
map (hd0,0)/myiso.iso (hd32)
map --hook
chainloader (hd32)
boot

title Boot myiso.iso
map --mem  (hd0,0)/myiso.iso (hd32) 
map --hook
chainloader (hd32)
boot

      6、grub引导的可启动光盘

      以grldr作为光盘的启动文件引导光盘,加载menu.lst,通过菜单选择启动项目。
      (1)使用UltraISO制作ISO光盘镜像文件:
     
 将menu.lst文件在光盘根目录下,并在光盘根目录下新建boot\grub目录,下面放置各种img文件、字体文件、背景图片文件等。menu.lst文件中引用的所有文件的文件名在硬盘上显示的需是小写,大写的要改成小写。执行“启动光盘”-“加载引导文件”,选择grldr(需把grldr改名为grldr.bin或grldr.bif等)文件。再执行“文件”-“属性”,选上“允许小写字母”选项,保存ISO文件。
      也可使用mkisofs.exe或CDIMAGE.EXE等工具制作启动iso(grldr不需改名)。
      (2)使用CDIMAGE制作ISO光盘镜像文件:
cdimage -l grubcd -t 01/01/2013,00:00:00 -h -n -o -d -m -b grldr grubcd grubcd.iso
      -l grubcd    #  设置光盘卷标为“grubcd”
      -t 12/31/2013,00:00:00  #  设置光盘所有文件的日期时间
      -h 包含隐藏的文件和目录
      -n 允许长文件名(比DOS的8.3文件名长)
      -o 优化容量:重复的文件只制作一次
      -d 不强制转换文件名的小写字母为大写字母
      -m 忽略镜像文件最大681,984,000bytes的限制
      -b
grldr       #  设置光盘启动文件“grldr”
      grubcd       #  源根目录
      grubcd.iso  #  设置目标文件名为“grubcd.iso”
      (3)使用mkisofs制作ISO镜像文件(两种方法):
mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o grubcd.iso grubcd 
      -R                     #  使用Rock Ridge Extensions
      -b grldr             #  设置光盘启动文件“grldr”
     
-o grubcd.iso    #  设置目标文件名为“grubcd.iso”
      grubcd             #  源根目录
mkisofs
-R -b grldr -no-emul-boot -boot-load-size 4 -o grubcd.iso grubcd

      7、返回启动主菜单

title  返回XX盘启动主菜单
configfile
(md)4+8

      8、关机、重启

title 重启
reboot
title 关机
halt
  评论这张
 
阅读(34258)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017