2024年5月2日发(作者:)

目录

1 grub4dos初级教程-入门篇

1.1 grub简介

1.2 如何获得grub4dos最新版

1.3 如何安装grub4dos

1.3.1 通过Windows NT的启动菜单进入grub4dos

1.3.2 通过DOS启动grub

1.3.3 通过mbr启动grub

1.3.4 通过Windows VISTA/Window 7的启动菜单进入grub4dos

1.4 如何使用grub4dos

1.5 结言

2 grub4dos初级教程-应用篇

2.1 硬盘上的应用

2.1.1 加载软盘镜像

2.1.2 启动WinPE

2.1.3 启动系统

2.1.4 引导光盘镜像(ISO仿真)

2.2 光盘上的应用

2.2.1 grub引导的可启动光盘

2.2.2 BCDW引导GRUB的可启动光盘

2.3 软盘上的应用

2.3.1 通过DOS启动grub的软盘应用

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

2.4 优盘上的应用

2.5 结言

3 grub4dos初级教程-进阶篇

3.1 设置密码

3.2 菜单内置

3.3a 使用个性化grub4dos文件名 (grubinst)

3.3b 用批处理自动给grldr改名 (适用于最新版grldr)NEW!

3.4 安装Windows XPE到逻辑分区

3.5 利用savedefault命令传递参数的方法与应用

3.6 利用dd命令传递参数的方法与应用 NEW!

4 附录

Grub legacy

4.01 Grub 命令索引

4.02 Grub 简体中文化版使用方法

4.03 GRUB安装配置使用汇总

4.04 Grub命令使用详解

4.05 GRUB三步通

4.06 Grub相关安装配置及使用实例汇总讲析

Grub2资料

4.07 GRUB2使用简介 by bean NEW!

4.08 GRUB2高级教程 by bean

NEW!

Grub4dos资料

4.09 gfxmenu定制高级教程(新增可定制菜单) by bean NEW!

4.10 如何使用grubinst_gui by bean

Grub4dos官方文档

4.11 Grub4dos_tutorial (英文)

4.12 Grub4dos简介

4.13 Grub4dos安装和启动

4.14 Grub4dos新手指南

4.15 Grub4dos高级功能

4.16 Grub4dos命令索引

4.17 Grubinst使用介绍

4.18 Grub4dos readme (英文)

4.19 Grub4dos readme (中文)

首页 正文

1 grub4dos初级教程-入门篇

1.1 grub简介

1.2 如何获得grub4dos最新版

1.3 如何安装grub4dos

1.3.1 通过Windows NT的启动菜单进入grub4dos

1.3.2 通过DOS启动grub

1.3.3 通过mbr启动grub

1.3.4 通过Windows VISTA的启动菜单进入grub4dos

1.4 如何使用grub4dos

1.5 结言

1.1 grub简介

GRUB 是一个遵从Multiboot(多重启动)规范的启动管理程序。

现在接触到的有3种,即GNU Grub Legacy , GNU Grub2 和 Grub

for dos(grub4dos)。

GNU GRUB Legacy其实就是原来的 GNU GRUB ,最新版是

2005年发布的GNU GRUB 0.97。 目前已停止开发,并改名为 GNU

GRUB Legacy。

GNU GRUB2是第二代GRUB,它将取代原来的GNU GRUB(例

如0.9x版),但目前还处于开发阶段,尚未发布正式版。

GNU GRUB Legacy和GNU GRUB2都是 GNU 组织的项目。

GRUB for DOS(GRUB4DOS)是一个以 GNU GRUB 为基础的功

能强大的引导器。它可以在 DOS 和 LINUX下运行,也可以通过其

他引导器来运行,还可以作为MBR运行。GRUB4DOS内置了功能

完善的 BIOS 级磁盘仿真。

下面以比较广泛使用的GRUB4DOS为基础进行说明。GNU GRUB

与GRUB4DOS的不同之处,可参看相关说明文件。

首页 总目录 上一页 下一页

1 grub4dos初级教程-入门篇

1.2 如何获得grub4dos最新版

可从以下网址下载GRUB4DOS最新版及较早版本。

/grub4dos/

/

/projects/grub4dos/

/

/

/grubutil/

/wiki (官方说明文档)

/?fid=4 (官方论坛)

首页 总目录 上一页 下一页

1 grub4dos初级教程-入门篇

1.3 如何安装grub4dos?

下载grub4dos后,解压缩后就可以了。核心文件有下面这几个:

grldr(VISTA系统,还需)和,及(此为

样本,需修改)。如果你需要中文支持,就用chinese子目录中的文

件。

安装方法常见的有下面4种。

1.3.1 通过Windows NT的启动菜单进入grub4dos

将grldr文件复制到c:,去掉的只读属性,然后修改

c:文件,在的最后面加一行:

c:grldr="Start GRUB4DOS"

并将中的timeout值设置为大于0的数字,如:timeout=5,

然后保存,改回只读属性。

编辑前,可在cmd下输入:

attrib -s -r -h c:

解除的只读属性,编辑完后输入:

attrib +s +r +h c:

恢复的原有属性。

这样,编辑完重新启动计算机,在NT的启动菜单就会出现“Start

GRUB4DOS”这一项,选择该项即可进入grub4dos的环境。【图1】

此方法的优点是:不需要修改MBR。

初学者使用grub一般都需要grub菜单,把准备好的文件

放到C:下(也可放到其它分区根目录或其它指定目录)。

的编写方法可参考或者别人提供的。在下面的

“1.4 如何使用grub4dos”中将作简单介绍。

首页 总目录 上一页 下一页

1 grub4dos初级教程-入门篇

1.3.2 通过DOS启动grub

将机器通过任何可能的方式(软盘,U盘,光盘等)启动到DOS

环境(最好是纯DOS环境,即不加载任何驱动程序和TSR程序的

DOS环境),然后在DOS下或者中运行,

即可进入grub4dos。

也可在DOS/Windows9x的中使用下列任一方式启动

grub。

DEVICE=

INSTALL=

SHELL=

此方法的优点是:不需要修改MBR;可根据需要在脚本或者其它

DOS程序中启动GRUB4DOS。

菜单文件可保存在grub文件所在目录或其它指定路径。

首页 总目录 上一页 下一页

1 grub4dos初级教程-入门篇

1.3.3 通过mbr启动grub

通过软件包里的(可运行于DOS/Win9x)安装GRLDR

引导记录到硬盘或者硬盘映像文件的主引导记录,或者安装到软盘或

者软盘映像的引导扇区。电脑启动时,通过击热键(默认为空格键,

可自定义)来启动grub。

比如:

在DOS下安装GRLDR代码到主引导记录:

0x80

在DOS下安装GRLDR代码到软盘:

--floppy --chs 0x00

在DOS下安装GRLDR代码到软盘映像:

--floppy --chs

我所使用的命令为:

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的其它参数及自定义热键用法可参看文件。

装入mbr后,再将grldr和文件复制到某分区的根目录(现

在支持的文件系统是FAT12,FAT16, FAT32, NTFS,EXT2 or EXT3

的分区。对于Windows用户,最好是fat分区),也可保存

到其它指定位置。

此方法的优点是:不依赖于操作系统;能够自动搜索硬盘上各个分

区的grldr文件。

另外,2000/xp/2003/vista环境下可用另一软件

grubinst

来把GRLDR

引导记录安装到硬盘的MBR。grubinst具有图形界面和命令行两种

工作模式供选用,并附有比较详细的使用说明,很易于使用。【参看

附录 4.1 如何使用grubinst_gui】

首页 总目录 上一页 下一页

1 grub4dos初级教程-入门篇

1.3 如何安装grub4dos?

1.3.4 通过Windows VISTA/Window 7的启动菜单进入grub4dos

用批处理自动把grub4dos装入Vista启动项(非MBR)。

把grub4dos装入Vista启动项,比装入MBR相

对来说要安全。

【对于vista系统,不能通过fdisk /mbr来恢复

mbr,这样会造成vista无法启动。】

关于手动把grub4dos装入Vista的启动项的方法,网

上有一些介绍。比起winxp修改来,操作要

麻烦不少。

主要就是操作过程中要产生一个ID号

【如:b88a2da4-0a4e-11dc-813a-00e04c75ef59】,需要

手动输入3次,实在是麻烦。

下面的批处理自动完成整个装入操作。

说明:

1,批处理与在同一目录时,自动复制文

件到系统根目录,否则需自行复制。

2,启动项里添加上grub4dos项后,需把准备好的和

grldr文件复制到C:下(也可放到其它分区根目录)。

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

安装批处理

@echo off

rem by lianjiang

cls

echo.

echo 请以管理员身份运行。

echo.

pause

set gname=GRUB for DOS

set vid=

set timeout=5

bcdedit >

type | find "" >nul && echo. && echo BCD启动项中已有grub4dos的项

目,无需再安装。&& pause && goto exit

bcdedit /export "Bcd_Backup" >nul

bcdedit /create /d "%gname%" /application bootsector >

for,/f,"tokens=2 delims={",%%i,In () Do (

set vida=%%i

)

for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do (

set vid={%%i}

)

echo %vid%>

bcdedit /set %vid% device partition=%systemdrive% >nul

bcdedit /set %vid% path >nul

bcdedit /displayorder %vid% /addlast >nul

bcdedit /timeout %timeout% >nul

if exist copy %systemdrive% /y && goto exit

echo.

echo 稍后请自行把拷贝到%systemdrive%根目录

echo.

pause

:exit

del >nul

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

卸载批处理

@echo off

rem by lianjiang

cls

echo.

echo 要求存在用安装批处理安装时自动保存的临时文件。

echo.

echo 请以管理员身份运行。

echo.

pause

set vid=

set timeout=5

if exist Bcd_Backup bcdedit /import "Bcd_Backup" >nul&& goto 1

if not exist (

echo.

echo 因相关文件被删,不能自动删除启动项项目,只能手动删除。

echo.

pause

goto exit

)

for,/f,"tokens=1",%%i,In () Do (

set vid=%%i

)

bcdedit /delete %vid% /cleanup >nul

bcdedit /timeout %timeout% >nul

:1

del >nul

if exist %systemdrive% (

attrib -h -s -r %systemdrive% >nul

del %systemdrive% >nul

)

:exit

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

此方法的优点是:不需要修改MBR。

grub菜单文件的准备同“1.3.1 通过Windows NT的启动菜单进入

grub4dos”。

首页 总目录 上一页 下一页

1 grub4dos初级教程-入门篇

1.4 如何使用grub4dos

对于多数没有或很少接触过linux的windows用户来说,刚开始使

用grub时离不开菜单。也就是说,使用grub前,我们要准备

文件。

下面是一个的例子。(以#开始的行,表示注释,不执行)

# 默认延迟时间(秒)

timeout 30

# 第一项为默认值

default 0

# 设置图形背景文件

splashimage (hd0,0)/boot/grub/

# 设置中文支持的字体文件

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

title 使用map启动本地硬盘上的瑞星杀毒软盘镜像文件

map (hd0,0)/boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

title 使用memdisk启动本地 Win98 软盘镜像文件

kernel (hd0,0)/boot/grub/

initrd (hd0,0)/boot/grub/

title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件

root (hd0,0)

kernel /boot/grub/ c=80 h=12 s=36 floppy

initrd /boot/

title 启动第一主分区(hd0,0)上的操作系统

rootnoverify (hd0,0)

makeactive

chainloader +1

title 启动第二主分区(hd0,1)上的操作系统

rootnoverify (hd0,1)

makeactive

chainloader +1

title 重启

reboot

title 关机

halt

此菜单文件的运行效果如下图。【图2】

参考这个例子,我们就可以根据自己需要对菜单进行修改。

比如从网上下载了效率源的镜像文件,文件名为。我们

只需把

title 使用memdisk启动本地 Win98 软盘镜像文件

kernel (hd0,0)/boot/grub/

initrd (hd0,0)/boot/grub/

改成

title 硬盘检测修复工具 效率源 (memdisk)

kernel (hd0,0)/boot/grub/

initrd (hd0,0)/boot/grub/

或者改成

title 硬盘检测修复工具 效率源 (map)

map (hd0,0)/boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

同时把文件保存到第一主分区(一般是C:)的bootgrub

目录下。

当然也可以保存到其它路径。

比如文件保存到C:boot下,则文件相应改为:

map (hd0,0)/boot/ (fd0)

又如文件保存到D:test下,则文件相应改为:

map (hd0,4)/test/ (fd0)

(参看下面的几点提示d)

从上面的例子可以看出,启动软盘镜象,有两种方式,即用memdisk

或用map。

用memdisk时,img文件可压缩;在img文件大小为非1.44MB或

2.88MB标准镜像时,需要指定CHS参数。img文件的CHS参数可

用winimage获得。

【提示:参数H, S是关键参数,必须准确无误;参数C设定错了,

也不影响引导。】

注:图引用自“Grub 简体中文化版使用方法”

即例子中的:

title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件

root (hd0,0)

kernel /boot/grub/ c=80 h=12 s=36 floppy

initrd /boot/

另外,菜单文件中的文件路径可用相对路径(如:

/boot/

)或绝

对路径(如:

(hd0,0)/boot/grub/

)表示。

map方式对软盘映像大小没有限制,但要求必须连续存放。

map --mem则无此限制,但要求有足够的内存(使用超大映像文件

时要注意这点)。

此映像将被拷贝到一个内存区域,映像本身可以是非连续的,甚至可

以是被压缩的。

比如:

map --mem /boot/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

官方文档“Grub4dos高级功能”中对map和memdisk的区别进行了

说明:

map是GRUB4DOS内置的功能,而memdisk是一个外部的程序

map可以直接映射磁盘上的文件,而memdisk必须要把文件装载

到内存里。

map可以把影像文件映射为第二只硬盘,而而memdisk只能映射

为第一只硬盘。

map有自动生成MBR的功能,而memdisk没有。因此memdisk

只能使用磁盘影像,不能使用文件系统影像。

几点提示:

a, 菜单文件中所用的文件,不包括在grub4dos的发行

包里,需自行准备。可从SysLinux软件包或从其它基于grub的工具

(如本人的GGhost一键恢复)中获得。

b, 菜单中所用的其它文件如(背景文件)、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)的方法表示

如下图:

下面是我的“GGhost一键恢复”中使用的菜单效果图及文

件,供参考。【图3】

color white/green yellow/green

timeout 3

find --set-root /ggho/grub/

password --md5 $1$5$jsGtVo0c88ndMdo6JZfrJ0

default /ggho/grub/default

title 0. GGhost 2008 [Ghost v11] (map-mem)

find --set-root /ggho/grub/

map --mem /ggho/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

savedefault

title 1. GGhost 2008 [Ghost v11] (memdisk)

find --set-root /ggho/grub/

kernel /ggho/grub/ c=280 h=2 s=36 floppy

initrd /ggho/grub/ c=280 h=2 s=36 floppy

savedefault

title 2. Boot /ggho/grub/

find --set-root /ggho/grub/

map --mem /ggho/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

title 3. Boot /ggho/grub/

find --set-root /ggho/grub/

map --mem /ggho/grub/ (0xff)

map --hook

chainloader (0xff)

title 4. Micro Windows XPE

find --set-root --ignore-floppies /

map --in-situ +1 (hd0)

chainloader /

title 5. Boot NT/2000/XP/2003

find --set-root /ntldr

chainloader /ntldr

title 6. Boot Vista

find --set-root /bootmgr

chainloader /bootmgr

title 7. Boot from Hard Drive (hd0,0)

root (hd0,0)

chainloader +1

title 8. Boot from First CDROM

cdrom --init

map --hook

chainloader (cd0)

boot

title 9. Reboot

reboot

title 10. Shutdown

halt

首页 总目录 上一页 下一页

1 grub4dos初级教程-入门篇

1.5 结言

Grub4dos的功能十分强大,上面介绍的只是grub4dos的一些最基

本用法,更多的用法可在掌握基本用法的基础上,自己查阅资料了解。

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.1 硬盘上的应用

2.1.1 加载软盘镜像

2.1.2 启动WinPE

2.1.3 启动系统

2.1.4 引导光盘镜像(ISO仿真)

2.2 光盘上的应用

2.2.1 grub引导的可启动光盘

2.2.2 BCDW引导GRUB的可启动光盘

2.3 软盘上的应用

2.3.1 通过DOS启动grub的软盘应用

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

2.4 优盘上的应用

2.5 结言

2.1 硬盘上应用

硬盘上应用grub,首先要进行安装,安装/启动方式主要有3种,即

通过Windows的启动菜单启动grub;通过DOS启动grub;通过mbr

启动grub。【参看1.3 如何安装grub4dos】

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

2.1.1 加载软盘镜像

对于Windows用户,用grub加载软盘镜象是最常用的功能之一。

由于windows2k/xp已脱离了dos,因此进行包括系统备份/恢复在内

的一些dos下操作,成为初学者的一个难题。以前我们可能就需要用

启动光盘等才能进入dos,光盘的特性决定了很难及时方便地更新光

盘上的工具。grub的出现与应用,解决了这个难题。我们不仅无需借

助其它的介质就能进入dos环境,而且能及时更新工具。网上下载的

各种系统维护工具,很多都是img形式,无需把文件提取出来,稍微

修改就能使用,各种工具也能和谐共处,使用非常方便。

如何把下载的加入grub启动菜单呢?

你只要把保存到C:bootgrub目录下,编辑,加入

下面内容就行了。

title Boot from Floppy image XXX

map --mem /boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

注意:

a, 这几行内容不能加在最前面,因为前面是一些对全局有效的设置。

b, 你需要的工具都可以这种方式加进去。

c, 也许你有很多工具,都加进menu的话,显得很乱。平时常用的可

能也就一两个工具,不少只是偶尔一用。对于这种情况,可以采取下

面的方法。即:把常用的写入菜单,同时在菜单中写一个通用启动img

文件的内容。

比如上面的:

title Boot from Floppy image XXX

map --mem /boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

可以在启动grub进入菜单后,选择“Boot from Floppy image XXX”

后,按“e”进入编辑状态,移动方向键,修改为需要启动的文

件名,回车,按“b”启动即可。(img文件保存在其它路径的话,则

改成相应的路径。)

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.1 硬盘上应用

2.1.2 启动WinPE

有些系统维护操作在dos下操作不太方便,甚至不能进行。WinPE

的出现,给我们带来了很多方便。

下面以广受好评的“老九 WinPE 老毛桃修改版_1111 版”为例,介

绍如何用grub启动WinPE。 (ISO中已带有安装程序,我这里介绍

的是在中加入通用的winpe选项。)

步骤:

1, 下载“老九 WinPE 老毛桃修改版_1111 版”,解压后得到

2, 用虚拟光驱或UltraISO等提取iso中的_,

和,把这3个文件拷贝到C:,并把

改名为ldrxpe。需要外置程序的,还需把

和“外置程序”目录一起拷贝到任一盘符的根目录。【图

4】【图5】

3,在中加入

title Micro Windows XPE (by LaoMaotao)

chainloader /ldrxpe

启动grub时选择“Micro Windows XPE (by LaoMaotao)”就能启动

WinPE了。这样就能在windows界面下进行系统维护、安装等操作。

【图6】【图7】【图8】

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.1 硬盘上应用

2.1.3 启动系统

对于单一硬盘装了多系统及多硬盘装了多系统的,用grub可以方便

地对各系统进行启动管理。

比如在中可加入下面的选项:

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 /

chainloader /

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.1 硬盘上应用

2.1.4 引导光盘镜像(ISO仿真)

现在的grub4dos对iso文件进行仿真的功能已经相当完善,进一步

方便了系统维护工作的进行。

支持no-emulation可启动模式及floppy or hard disk emulation可启

动模式的ISO文件。

用法示例:

title Boot

map (hd0,0)/ (hd32)

map --hook

chainloader (hd32)

boot

当iso文件不连续存放,并且有足够内存时,可用 --mem选项:

title Boot

map --mem (hd0,0)/ (hd32)

map --hook

chainloader (hd32)

boot

fujianabc提示:普通的linux/windows安装光盘是不能这样模拟启

动的,因为这个映射是基于实模式的,启动后会找不到光盘的(比如

windows安装会出现0x7b的蓝屏),只有dos/win9x光盘以及基于

ramdisk的pe光盘支持这样的仿真。

需要注意的是,多数的WinPE的iso用grub4dos仿真启动进入WinPE

后,会找不到外置程序,这不是grub4dos的问题,而是ISO制作的

问题,无忧启动论坛已有人制作出ISO仿真启动后WinPE下可正常

使用外置程序的WinPE。

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.2 光盘上的应用

下面介绍两种在光盘上应用grub的方法。

2.2.1 grub引导的可启动光盘

以grldr作为光盘的启动文件引导光盘,加载,通过menu

菜单选择启动项目。

步骤:

1) 准备必要的img文件,及grldr,(根据需要准备字体,背

景图片,等文件)。

2) 编辑。引导光盘上的img文件的格式如下:

title GGhost [Ghost v8.3/v11] (MAP-HOOK)

map --mem (cd)/boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

菜单中也可引导硬盘上的img文件,比如:

title GGhost [Ghost v8.3/v11] (MEMDISK)

kernel (hd0,4)/boot/grub/ c=200 h=2 s=36 floppy

initrd (hd0,4)/boot/grub/

3) 组织文件。比如在E:3333下建个grubcd目录,把拷贝

到此目录下,文件将在光盘根目录下。在grubcd目录下建

bootgrub目录,保存各种img,字体等文件(也可以保存到其它路径,

与中的指定的路径要一致)。注意:文件中引用的

所有文件的文件名在硬盘上显示的需是小写,大写的要改成小写。【图

9】

4) 制作ISO。用UltraISO新建一个ISO文件,把E:3333grubcd目

录下的所有文件加入iso文件;执行“启动光盘”-“加载引导文件”,

选择grldr(需把grldr改名为或等)文件。再执行“文

件”-“属性”,选上“允许小写字母”选项,保存ISO文件。【图10】

【图11】【图12】

也可使用或等工具制作启动iso(grldr

不需改名)。

比如我用CDIMAGE制作iso的批处理是:

cdimage -lgrubcd -t01/01/2007,00:00:00 -h -n -o -d -m -bgrldr grubcd

【以下方法为官方用法,推荐使用】

在GRUB4DOS中,可以利用 grldr 来制作启动光盘。制作方法有两种:

mkisofs -R -b grldr -no-emul-boot -boot-load-seg 0x1000 -o grubcd

mkisofs -R -b grldr -no-emul-boot -boot-load-size 4 -o grubcd

grldr和应该放在光盘的根目录里。

第一种方法告诉 BIOS,希望它能够装入整个 GRLDR 文件到内存。装入内存后,BIOS 还应

该正确设置堆栈,使得不至于把堆栈设置到 GRLDR 的程序体内,造成冲突。一般情况下,BIOS

做到这一点很容易,因为它可以设置堆栈指针为装入的起始地址。但也不排除存在 BUGGY

BIOS 的可能性。

有些 BIOS 不完全符合可启动的 CDROM 规范,比如 VirtualPC 的就是的。这类 BIOS 只是

装入了一部分 GRLDR 扇区到内存,典型的可能只装入了一个扇区(2048 字节的大扇区)到内

存。不过我们的代码已经替这些 BUGGY BIOS 打了补丁。只要这些 BIOS 能够设置正确的堆

栈,不至于和装入内存中的 GRLDR 扇区数据产生冲突就 OK 了。

也就是说,上述第一种制作光盘的方法,应该没有多大问题了。这种方法很有可能适应于所有

的 BIOS。

第二种方法本身就只要求 BIOS 装入一个 CDROM 扇区到内存(等同于 4 个 512 字节的小

扇区)。这种方法是最保守的,没有理由会失败了。微软的 win2000 启动光盘就是这么做的,

isolinux 和 stage2_eltorito 也都是这么做的。如果这种方法失败了,那么 win2000,isolinux 和

stage2_eltorito 应该都会失败的。

对于第二种方法,我们不需要 -boot-info-table 这个参数。但是允许你用这个参数(用了和没用

是一样的,我们的引导代码将忽略由这个参数所传递的数据结构)。

对于第一种方法也一样,不需要 -boot-info-table 这个参数,同时也是允许你用这个参数(用了

和没用是一样的,我们的引导代码将忽略由这个参数所传递的数据结构)。

5) 用nero等把制作的可启动ISO刻盘。有条件的可先在虚拟机上

测试通过后刻盘,或用CD-RW/DVD+RW刻盘。

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.2 光盘上的应用

2.2.2 BCDW引导GRUB的可启动光盘

此法是用BCDW制作启动光盘,通过BCDW执行grldr来加载

菜单。

步骤:

1) 首先下载BCDW软件包,解压后获取所需文件。

2)组织文件。比如在E:3333下建个bcdwcd目录,此目录下文件

将在光盘根目录下,下面建bootgrub目录和bcdw目录,把软件包中

bcdw目录下的,和拷贝到所建的

bcdwcdbcdw目录下;把grldr、各种img、字体等文件拷贝到

bcdwcdbootgrub目录。文件的编辑方法与上面2.1中介绍的

相同。

3) 编辑文件。打开,找到[MenuItems]部分,比如:

[MenuItems]

C:

I386setupld

; Boot from drive C:

; Microsoft Windows

XP Setup

上面的就是BCDW启动菜单的例子。在其中加上grub等项,变成:

[MenuItems]

; My net

(Ghost8.3)(tcp/ip,cd/usb)

; Grub4dos

; Micro Windows XPE (by

LaoMaotao)

; Boot from drive C:

; Microsoft Windows XP

Setup

bootgrubgrldr

WXPESETUPLD

C:

; GGhost v6.0 (Ghost8.3/11)

4)制作ISO文件与刻录ISO的方法与2.1中的基本相同。所不同的

只是在制作ISO文件时,要把(或)作为ISO的

引导文件。【图13】

也可使用或等工具制作启动iso。

比如我用CDIMAGE制作iso的批处理是:

cdimage -lbcdwcd -t01/01/2007,00:00:00 -h -n -d -o -m - bcdwcd

运行后bcdw界面与grub界面的效果如下图。【图14】【图15】

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.3 软盘上的应用

在软盘上应用grub,主要有两种方式,即通过DOS启动grub和把

GRLDR引导记录安装到软盘的引导扇区。【参看1.3 如何安装

grub4dos】

2.3.1 通过DOS启动grub的软盘应用

先把软盘制作成启动盘,最简单的一种,软盘中只需,

和三个文件。

再把和拷贝到软盘根目录。

新建一个文件,里面只需写上4个字母。

grub

然后编辑,由于软盘容量所限,一般很难直接在menu中调

用软盘上的img文件,因此,主要可用来启动硬盘上的img文件,还

可用于对各系统进行启动管理。菜单文件中使用的指定路径的文件

(如字体,img文件等),应预先准备好,否则该选项不能运行。(网

上也有在软盘有限的容量里,包括众多维护工具的实例,感兴趣的可

自行搜索。)

文件的例子:

timeout 10

default 0

splashimage (fd0)/boot/grub/

fontfile (fd0)/boot/grub/fonts

title GreenGhost [Ghost v8.3/v11] (MAP-HOOK)

map --mem (hd0,4)/boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

title 寻找硬盘上的/

find --set-root /

configfile /

title 启动第一硬盘第一主分区(hd0,0)上的操作系统

rootnoverify (hd0,0)

makeactive

chainloader +1

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

rootnoverify (hd0,1)

makeactive

chainloader +1

title 重启

reboot

title 关机

halt

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.3 软盘上的应用

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

GRLDR引导记录安装后,在软盘上只需保留有grldr和及

中引用到的文件。文件与“2.3.1 通过DOS启动grub

的软盘应用”的软盘中使用的是一样的。

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.4 优盘上的应用

在优盘上应用grub,与软盘类似,主要有两种方式,即通过DOS

启动grub和把GRLDR引导记录安装到优盘的引导扇区。【参看1.3

如何安装grub4dos】

首先把U盘用优盘自带工具或usboot,flashboot等制作成dos启动

盘,同时设置电脑的cmos里相应的选项,看优盘能否启动进入dos,

能的话,可继续往下阅读;不能启动的话,可尝试不同模式、用其它

制作工具等,能启动后再往下阅读。

不同的启动模式,U盘启动进入dos后,在你的电脑上可能是A盘,

也可能C盘。

由于u盘容量大,在u盘上就可以存放各种工具及WinPE。

当显示为A盘时,使用方法类似于软盘。

文件中启动img镜像文件的用法如:

title GreenGhost [Ghost v8.3/v11] (MAP-HOOK)

map --mem

(fd0)/boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

当显示为C盘时,使用方法类似于硬盘。

文件中启动img镜像文件的用法如:

title GreenGhost [Ghost v8.3/v11] (MAP-HOOK)

map --mem

(hd0,0)/boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

在上面的例子里,中引用文件使用的是绝对路径,即

(fd0)/boot/grub/和(hd0,0)/boot/grub/,这种用法对

于特定的机子是没有问题的。但在同一U盘,要使用到不同机子时,

可能带来一个问题。也就是可能不同的机子,要用不同的文

件,否则不能正常启动工具。那么,能否用什么办法,不用这么麻烦

呢?答案是肯定的,那就是使用"find --set-root"和相对路径来实现。

这样就不必为U盘被识别为fd还是hd烦恼了。

比如,你可以在u盘根目录建一个特征文件,如

这样在启动u盘上的img镜像文件就可用下面的方法来实现:

title GreenGhost [Ghost v8.3/v11] (MAP-HOOK)

find --set-root /

map --mem /boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

启动u盘上的WinPE就可用:

title Micro Windows XPE (by LaoMaotao)

find --set-root /

chainloader /ldrxpe

参考其它示例,通过编辑你的,你就能够充分发挥U盘的

效能。

首页 总目录 上一页 下一页

2 grub4dos初级教程-应用篇

2.5 结言

本文写的仅仅是grub4dos的一些最基本应用,Grub4dos更多的功能

有待你去尝试和挖掘。

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

更期待能分享你的成果。

推荐论坛:

时空论坛:

中国DOS联

盟论坛:

无忧启动论

坛:

【注: 我的网盘:

也提供部分grub相关文件及资料的下

载。】

首页 总目录 上一页 下一页

3 grub4dos初级教程-进阶篇

3.1 设置密码

3.2 菜单内置

/forum/

3.3a 使用个性化grub4dos文件名 (grubinst)

3.3b 用批处理自动给grldr改名 (适用于最新版grldr)

3.4 安装WinPE到逻辑分区

3.5 利用savedefault命令传递参数的方法与应用

3.6 利用dd命令传递参数的方法与应用

3.1 设置密码

当其处于菜单文件的首项时,将禁用所有的交互式菜单编辑功能,

包括编辑菜单项(`e`)/进入命令行(`c`)。当正确输入密码 (由PASSWD

指定)后,上述被禁用的功能将被启用了。你也可以将此命令用到某

个菜单项里,用以提高系统安全性。

命令:

password [--md5] PASSWD

参数 --md5 说明密码(PASSWD)是使用md5crypt 加密的。

1、GRUB4DOS 明码加密

比如:未加密码的菜单文件如下:

default 1

timeout 3

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/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

加入密码后菜单:

default 1

timeout 3

password=1234

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/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

设置密码后,只有输入正确密码后才能编辑菜单项,或者进入命令

行模式。

采用明码加密,使用方便,不过安全性低。

假如想锁住“1, GreenGhost”,也就是只有输入正确密码才能使用此

项的话,可在该菜单项里加上“lock”。

菜单项变成:

title 1, GreenGhost [Ghost v8.3/v11] (MAP-HOOK)

lock

map --mem /boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

启动该项时会提示错误。这时按P键,然后输入设定的密码就行了。

也可以设置不同的全局密码【grub中无此叫法,这里指title 前设置

的密码。与菜单项里设置的密码以示区别。】和菜单项密码。

比如:

default 1

timeout 3

password=1234

title 0, Boot from Hard Drive (hd0,0)

root (hd0,0)

chainloader +1

title 1, GreenGhost [Ghost v8.3/v11] (MAP-HOOK)

password=4321

map --mem /boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

对于此菜单文件,进入grub4dos菜单后,选择 1, GreenGhost项,

会提示输入密码,输入菜单项密码“4321”后能使用该项。

进入grub4dos菜单后,按“p”,输入全局密码“1234”,能编辑菜单项,

或者进入命令行模式。包括删除1, GreenGhost项里设置的密码。

2、GRUB4DOS MD5码加密

明码加密时,打开菜单文件,就能知道所用密码,因此安全性比较

低。grub支持使用MD5码加密,以提高安全性。 把字符串转换成

MD5码的方式有两种,一种使用grub里的md5crypt命令获得,另一

种使用软件转换获得。

a,md5码获得

用md5crypt命令获得:

进入grub命令行,输入md5crypt,回车,输入设定密码后回车,就

得到了相应的md5码。

如下图所示:

用软件获得:

上网搜索下载相应软件。软件不同或版本不同,操作会有区别。按

使用说明进行操作即可。

下面以我用的为例,进行说明:

新建文本文件,输入欲设定的密码,如“123456”,保存。

进入命令行模式,输入:

md5 1_

如图所示:

打开1_文件,得到形如$1$8$pSqK8hjjgmdb73MJlsrnj1的md5

码。

【提示:即使是相同的字符串,每次所得到的md5码也是不相同的。】

然后把得到的md5码字符串加入到菜单文件中就行了。

关于全局密码和菜单密码的使用与明码加密部分是相同的。比如:

default 1

timeout 3

password --md5 $1$5$QiEyMNWSnifAmHNnl2eIK.

title 0, Boot from Hard Drive (hd0,0)

root (hd0,0)

chainloader +1

title 1, GreenGhost [Ghost v8.3/v11] (MAP-HOOK)

password --md5 $1$8$pSqK8hjjgmdb73MJlsrnj1

map --mem /boot/grub/ (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

首页 总目录 上一页 下一页

3 grub4dos初级教程-进阶使用

3.2 菜单内置

对于多数没有或很少接触过linux的windows用户来说,刚开始使

用grub时离不开菜单。也就是说,使用grub前,我们要准备

文件。而且有了菜单文件,使用grub4dos也更加方便。【参看入门

篇中的1.4 如何使用grub4dos部分】

通常,我们使用的菜单文件是外置的(一般保存在X:, X:bootgrub,

X:grub目录下。),这样菜单文件易被修改。把菜单内置,使目录

下文件数减少,显得利落,也能提高安全性,足以应付一些没接触过

grub4dos的,或者对grub4dos了解很少的人。

官方提供菜单导入/导出的工具grubmenu。【软件下载参看入门篇中

的1.2 如何获得grub4dos最新版】

准备菜单文件,新版grldr和,保存到同一目

录,进入命令行模式,输入:

grubmenu import grldr

导出内置菜单,输入:

grubmenu export grldr

也可把内置到,用法类似。

菜单内置后,就可删除目录下的了。

【提示:菜单文件建议小于4k,超过部分将被忽略。】

首页 总目录 上一页 下一页

3 grub4dos初级教程-进阶篇

3.3a 使用个性化grub4dos文件名(grubinst)

grub的核心文件是grldr/,入门篇中介绍了“通过Windows

NT的启动菜单进入grub4dos”,即在中加入grldr项;以及“通

过Windows VISTA的启动菜单进入grub4dos”,即在BCD中加入

项。

随着grub4dos影响的日益扩大,基于grub4dos的工具也越来越多,

比如影响较大的一键ghost,矮人DOS工具箱,MAXDOS等等(本

人的“GGhost一键恢复”也是基于grub4dos的)。为避免冲突,这些

软件多数采用了修改grldr文件名的方式。修改成个性化文件名,除

了自己重新编译,一般要采用暴力修改的方式进行。显然这对于一般

使用者来说,操作上存在一定难度,易造成软件无法运行,或带来不

可预知的bug。

不过,新版grubinst[2007-07-16(r17)]已全面支持自己修改外部

grldr/文件名,这对于初学者来说无疑是个福音。

采用grubinst,你也能简单可靠地修改成个性化文件名了。

下面以把grldr改名为mygrldr为例进行说明。

首先把grldr复制到C:,并改名为mygrldr,

然后在grubinst目录下,执行以下命令:

grubinst -e -b=mygrldr C:mygrldr

这样中就可相应改成:

c:mygrldr="My GRUB4DOS"

也可以用引导,比如把改名为,

执行:

grubinst -e -b=mygrldr C:

启动项中加入:

C:="My GRUB4DOS

相应修改BCD文件后,Vista系统中也能使用个性化文件名了。

【提示:grldr需7-10或以后的版本。遗憾的是,grubinst已不支持

最新版grldr。】

首页 总目录 上一页 下一页

3 grub4dos初级教程-进阶篇

3.3b 用批处理自动给grldr改名 (适用于最新版grldr)

警告: 最后的“注意事项”,看不懂及不会操作的,不要使用此方法,

否则后果自负。

由于grubinst久未更新,已无法自动给grldr改名,现在要改的话,

一般只能用UltraEdit等暴力修改。

以下方法可实现批处理自动给grldr改名。

所需工具:

diskrw (或dd for windows)

fr(find and replace Ver 2.1.1.120) (或strw)

bootlace

思路:读取mbr到文件-->安装grub到文件-->字符替换-->写回mbr

具体操作:

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

一,安装到MBR:(热键F8,个性化文件名myldr)

@echo off

rem by lianjiang

if exist del >nul

::读取mbr到文件

diskrw 0 0 18 /s /y

type |find "Missing MBR-helper">nul &&echo.&&echo MBR中已安装有grub,请卸载后再

使用。&&echo. &&pause&&goto exit

::用bootlace安装grub到文件 (F8)

copy 018_ /y >nul

bootlace --force-backup-mbr --boot-prevmbr-first --time-out=3 --hot-key=0x4200 --mbr-disable-floppy

::替换字符grldr-->myldr

copy 018_

fr -f:grldr -t:myldr

fr -f:GRLDR -t:MYLDR

copy grldr myldr /y >nul

fr myldr -f:grldr -t:myldr

fr myldr -f:GRLDR -t:MYLDR

::写回硬盘mbr

diskrw 0 0 18 /r /y

:exit

二,安装到启动项,只需以下两行:

fr myldr -f:grldr -t:myldr

fr myldr -f:GRLDR -t:MYLDR

然后把myldr复制到启动盘。

注意事项:

1,个性化文件名的字符数,最好保持不变,用5个;

否则要用空格补齐,再加上引号括上(尚未验证是否可行)。

2,已把grub装到mbr的,应先卸载。

3,万一出现问题,请把备份的mbr(018_)写回。

需要工具的,网盘下载:

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

相关资料参看:

在WIN系统下使用BOOTLACE进行安装

grubinst 的问题,以及如何用bootlace来解决

2008.11.29 Dsptw 更新

首页 总目录 上一页 下一页

3 grub4dos初级教程-进阶篇

3.4 安装WinPE到逻辑分区

在应用篇的硬盘上的应用中介绍了“2.1.2 启动WinPE”,即通过

grub4dos启动硬盘上的WinPE来进行系统维护。该法要求核心文件

保存到主分区。

下面的方法能完全摆脱主分区的限制,可把所有的有关WinPE的启

动文件都放在其它分区上。

首先参照“2.1.2 启动WinPE”中的介绍,准备、ldrxpe(由

改名而来)、_和四个主要文件,置于

任一分区的根目录;

接下来编辑文件。添加以下内容:

【下面以放置于第一硬盘第一逻辑分区(一般是D:)为例进行说明】

title Micro Windows XPE (by LaoMaotao) [hd(0,4)]

map (hd0,4)+1 (hd0)

map --hook

find --set-root /ldrxpe

chainloader /ldrxpe

关于GRUB对设备的命名方法,可参看“入门篇”中的“1.4 如何使用

grub4dos”。

【注:方法来源】用grub启动任意分区上的PE获得成功(dylneil)

首页 总目录 上一页 下一页

3 grub4dos初级教程-进阶篇

3.5 利用savedefault命令传递参数的方法与应用

众所周知,BCDW有传递参数的功能,遗憾的是,只能用于光盘/ISO启动。

grub4dos作为一个启动管理器,功能强大,但可惜没有传递参数的功能。

时空论坛看到有人提出了此问题,zw2312914给出了解决的思路与办法。

感觉思路巧妙,是活学活用的典型,有推广应用价值。

Public问:

就是能否在 文件里面设置怎样的路径链接,来直接运行 .img 里面的批处理程序吗?

比如说 我有个 里面有 来运行魔术分区软件,来运行DM程序,

来运行Ghost自动备份C盘的操作等等。

我想在 里面编辑一个菜单项,第1项加载,第2项加载,第3项加载

,但是这3个bat文件又都是同在一个里面的,(如果在各自不同的img文件里

面的当然可以实现),请问一下这个有办法解决吗??

zw2312914答:

第一个问题的实质是grub4和dos(操作系统)之间的参数传递的问

题。

思考了一个方法,核心就是使用grub4目前唯一一个在文件系统内

的写操作命令 savedefault 。然后在dos(操作系统)下对savedefault

命令所保存的值进行判断,最后调用相应的批处理。 这个方法应该

比写内存然后引导到dos(操作系统),更简洁和合理,而且也许扩

展应用较大。

以楼主问题为例:

1.复制grub4dos下载包中的default文件到镜像中(镜像名是

为例),并把default更名为。

2.在中参照以下菜单项改写

title 运行魔术分区软件

map --mem / (fd0)

map --hook

chainloader (fd0)+1

root (fd0)

default (fd0)/

savedefault 11

boot

title 来运行DM程序

map --mem / (fd0)

map --hook

chainloader (fd0)+1

root (fd0)

default (fd0)/

savedefault 22

boot

title 加载

map --mem / (fd0)

map --hook

chainloader (fd0)+1

root (fd0)

default (fd0)/

savedefault 33

boot

3.在dos中增加一个bat,用来判断的开头字符,并根据

这个字符值,调用需要加载的bat。

例如,:

@echo off

find "11" a: > nul

if not errorlevel 1 a:

find "22" a: > nul

if not errorlevel 1 a:

find "33" a: > nul

if not errorlevel 1 a:

(需注意:由defualt文件改名而来的,由于其中已有2 0 4

8 几个数字,所以savedefault时应避免与它相同。实际上只要保证写

入前后文件的大小不变,即2048字节,可以自己建一个2048

字节的空内容文本文件作为,不过不推荐这样做)

【注:方法来源】关于GRUB4DOS两个很棘手的问题

首页 总目录 上一页 下一页

3 grub4dos初级教程-进阶篇

3.6 利用dd命令传递参数的方法与应用

众所周知,BCDW有传递参数的功能,遗憾的是,只能用于光盘/ISO启动。

grub4dos作为一个启动管理器,功能强大,但可惜没有传递参数的功能。

最新版grub4dos新增了一个用于文件复制的命令-dd。

dd命令的用法原文为:

Usage:

dd if=IF of=OF [bs=BS] [count=C] [skip=IN] [seek=OUT]

Copy file IF to OF. BS is blocksize in bytes, default to 512. C is blocks

to copy, default is total blocks in IF. IN specifies number of blocks to

skip when read, default is 0. OUT specifies number of blocks to skip

when write, default is 0. Skipped blocks are not touched. Both IF and OF

must exist.

dd is dangerous, use at your own risk. To be on the safe side, you should

only use dd to write a file in memory.

In some cases when writing a file in NTFS, dd might fail.

注意:

dd 目前不支持创建文件,也不支持改变文件的长度,所以,不存在

的文件是不能写入的。

把一个大的文件写入一个小的文件,这个小的文件不会变长。多余的

部分扔掉了。

把一个小的文件写入一个大的文件,这个大的文件不会变短。未写的

部分保持不变。

利用此命令,可以做到从文件到文件,扇区到扇区,文件内的字节到

字节以及他们之间相互的任意位置写入。

可用于在grub4dos下直接备份和恢复MBR或者分区的引导扇区,也

可用于参数的传递。

A, 下面是我在最新版“GGhost硬盘安装器”中使用的用于参数传递

的简单例子。

要实现的是Windows运行“GGhost硬盘安装器”时,把一些参数写入

硬盘上的设置文件A(源),在重启时通过grub4dos传递给文件B

(目标),然后在dos下读取文件B,根据读取的参数执行相应的命

令。

grub4dos的菜单写法示例:

title 0. GGhost 2009

find --set-root /ggui/

map --mem /ggui/ (fd0)

map --hook

dd if=()/ggui/ of=(fd0)/gghost/

chainloader (fd0)+1

rootnoverify (fd0)

这里:

/ggui/表示硬盘上ggui目录下的设置文件(源),

(fd0)/gghost/表示文件中gghost目录下的文件

(目标),

通过dd命令就把硬盘上的文件写入了img中的文件,从而实现参数

的传递功能。

提示:img文件中必须存在目标文件,位于NFTS分区的文件,要

求不小于2k。

B, 以下内容引用自时空论坛zw2312914的帖子。详情参看此帖

dd是一个强大的命令,个人认为是继仿真功能后grub4dos中最为强大的实用功能。

灵活使用bs skip seek 等参数可以做到从文件到文件,扇区到扇区,文件内的字节到字节以及他

们之间相互的任意位置写入。可以理解为任意字节的复制 和粘贴 操作。

(需注意两点:1。要实现完整写入,必须使目标文件大于或等于源文件的字节数,2.目前版本,

目标文件需存在于设备中,目标文件的内容是什么倒无关)

比如,(fd0)下的一dos脚本 ,其内容是:

set string=abcdefghijklmnopqrstuvwxyz

set path=¥:

goto main

:main

...

...

....

goto end

...

:end

确定第一行37个字节(实际,行末还存在回车或换行符的字节,但这里仅演示dd 的应用,故

从略),第二行11个字节,

那么可以将第一行的任意一个字符写到第二行,

比如希望替换掉第二行的字符¥,为指定的盘符,那么:

dd if=(fd0)/ of=(fd0)/ bs=1 skip=11 count=1 seek=46

执行后,就把文件的第二行替换为set path=a:

(bs=1 代表以一个字节为单位读写,count=1 代表只写一个由bs参数指定单位的块,这里就

代表只写一个字节,skip=11 即读时跳过11个字节,其中空格也是一个字节,即从第一行的第

12个字符 a 开始读。seek=46 用来指定写入时跳过46个字节,即写到第47个字节¥的位置。)

因此,作为应用之一的参数传递,dd 命令显得更直接和高效的。

当然直接用dd if=/ of=(fd0) 这样的方式来制作启动盘,或者通过dd if=(cd0) of=/ 来

制作光盘镜像,dd if=(hd0,0)+1 of=/ 来为镜像写入引导,也是非常简单方便的。

首页 总目录 上一页 下一页

4 附录

这里提供的是部分网络上收集的grub相关资料,供参考。为统

一格式,对部分文档进行了重新排版。

Grub legacy

4.01 Grub 命令索引

4.02 Grub 简体中文化版使用方法

4.03 GRUB安装配置使用汇总

4.04 Grub命令使用详解

4.05 GRUB三步通

4.06 Grub相关安装配置及使用实例汇总讲析

Grub2资料

4.07 GRUB2使用简介 作者: bean

4.08 GRUB2高级教程 作者: bean

Grub4dos资料

4.09 gfxmenu定制高级教程(新增可定制菜单) 作者: bean

4.10 如何使用grubinst_gui 作者: bean

Grub4dos官方文档

4.11 Grub4dos_tutorial (英文)

4.12 Grub4dos简介

4.13 Grub4dos安装和启动

4.14 Grub4dos新手指南

4.15 Grub4dos高级功能

4.16 Grub4dos命令索引

4.17 Grubinst使用介绍

4.18 Grub4dos readme (英文)

4.19 Grub4dos readme (中文) 译者: zw2312914

首页 总目录 上一页 下一页

This page uses frames, but your browser doesn't support them.

首页

目录

1 入门篇

2 应用篇

3 进阶篇

4 附录

grub4dos初级教程

lianjiang 2009年4月

前言: 为何写此初级教程?

假如你是第一次听说grub,你可能说我不需要grub。那么,你是否

用过“一键ghost”,或者“矮人DOS工具箱”?如果你用过的话,那么

你实际上已经在用grub了。包括本人的“GGhost一键恢复”在内的大

多数windows下安装的一键恢复类工具及其它dos类维护工具合集,

都是基于grub的。

grub4dos相关的资料互联网上并不少,grub4dos软件包里也有说明

文件,可是绝大多数资料并不适合刚接触grub的人。初学者下载了

grub4dos软件包后,即使大概看了文件后,也很可能仍然

是一团雾水,不知从何处入手。出现这种状况的一个主要原因是,此

软件是作者利用业余时间开发的,开发者在有限的时间里集中精力于

排除软件bug,从而无过多剩余精力撰写文档。[注:bean的中文文

档的发布,已使文档方面欠缺的局面得以根本改观。]

其实,初步使用这个软件并不难,可以说非常简单。下面的内容参

考了有关资料,并结合自己的使用经验,供初学者参考,希望能对你

入门grub有所帮助。我自身也是接触grub不久,对grub的了解还很

肤浅,错误之处,在所难免,还望不吝指出。

致谢

本文的完成,参考、引用了众多的资料,不少已找不到原始出处。

初稿完成后,网友们提出了不少意见和建议,也得到了软件开发者的

支持和鼓励。在此一并表示感谢。

lianjiang 2007.03

初稿

2009.04 最后修改

【注: 我的网盘:

也提供部分grub相关文件及资料的下

载。】

总目录 正文

This page uses frames, but your browser doesn't support them.