grub4dos
项目主页: http://grub4dos-chenall.googlecode.com/
下载最新编译版版本: http://code.google.com/p/grub4dos-chenall/downloads/list
下载最新版源码:
参考: http://code.google.com/p/grub4dos-chenall/source/checkout
svn checkout http://grub4dos-chenall.googlecode.com/svn/trunk/ grub4dos-chenall
[更新历史]
1.fixed a bug in disk_io.c,it may return error 25 when set root to a cd drive.
修正一个BUG,当设置root为cd设备时可能会提示Error 25的错误.
2.加快colinux下源码在cofs设备时编译的速度.
2010-08-04 finally find out the missing-extended-partition problem is caused by a gcc bug, and workarounds are created.
2010-07-25 re-enabled the extended partition with logical partitions in disorder.
2010-07-24 patch by chenall: cat —length=0 will return the size of the compressed file if it is gzipped; fix memory-not-enough problem when mapping a gzipped memory-file with a high compression ratio.
2010-07-23 improved next_pc_slice() to cope with the partition-loop problem.
2010-07-22 try to solve the problem of missing Linux extended partitions in Tab-completion.
2010-07-21 improved next_pc_slice() to cope with the partition-loop problem.
2010-07-20 changed code about pxe_basemem to solve the problem that pxe_unload fail to release memory.
2010-07-12 fixed a bug in guess_dos_versions(for DOS executable grub.exe).
2010-06-21 applied bean’s patch(supported new (ud) device created with fbinst1.6).
2010-06-09 applied karyonix’s patch(fixes on grub_read and blocklist).
2010-06-07 adjusted probe_int(dosstart.S) to deal with HP DV3-2309TX on its garbage int76 vector.
2010-06-03 adjusted restore_BDA_EBDA(dosstart.S) to deal with HP on its garbage EBDA size byte.
2010-05-31 unhook int13 before hooking it in load_initrd() to avoid duplicate hooking.
2010-05-29 resolved conflict between drives_addr and mmap_addr for multiboot kernels.
2010-05-27 adjusted probe_int(dosstart.S) to deal with DELL on its garbage int05 vector.
pxe启动默认加载的菜单修改。
PXE启动使用的菜单文件有修改,具体如下
注意:如果PXE启动有使用menu.lst目录的使用新版需要修改为MENU,否则可能会死机.
2010-05-21 changed initial config filename from /menu.lst to /main.lst for pxe booting.
2010-05-19 fixed problem of mapping small file(<512B) to (rd).
2010-05-15 added —keep-pxe option for grub.exe running under DOS.
2010-05-14 (chenall)fixed ntfs small file(<4KB) access problem.
2010-05-13 added —off option for hiddenmenu. added nokeep subcommand for pxe. let halt return on failure.
2010-05-04 (来自官网) hopefully non-linux kernels could get loaded now. version number changed to 0.4.5b.
1.2. 尝试解决 非Linux 内核加载代码 与 3M 处的系统代码的冲突问题(希望成功,但因没有测试环境,所以,不知道结果如何)。
3.4. 版本号升级为 0.4.5b。
2010-05-02
PXE启动时首先尝试加载/menu.lst。
2010-04-17
1.命令行自动完成调整.现在可以直接输入/+TAB显示当前目录下的文件或(hd0,0)/+TAB显示(hd0,0)/下面的文件列表
以前的版本必需要像以下命令才可以。
root /+TAB
2.get_cmdline函数调整,以方便外部命令直接调用。
2010-03-29
1.外部命令执行过程调整。
例子:默认path (bd)/grub/
echo abcd ## 优先使用(bd)/grub/echo 文件,如果没有再找 /echo 文件
/echo abcd ## 只查找/echo 文件。
(fd0)/echo abcd ## 只找 (fd0)/echo abcd 文件。
2.find 命令添加一个 —ignore-oem 参数。
http://code.google.com/p/grub4dos-ireneuszp/
2010-03-26
1.添加外部命令loadslic。
用途嘛,呵呵,自己想去吧。
原始的源码来源于:
其它的就不多做介绍了,使用很简单
loadslic SLIC文件。
注:已经删除下载。
2010-03-21
1.WENV命令更新.
Input自动加一个换行符.
2010-03-20
1.WENV命令更新具体
http://www.chenall.com/blog/2010/02/grub4dos_WENV.html
2010-03-14
1.同步到官方2010-03-14版.
2010-03-10
1.菜单边框位置自动调整。
2010-03-09
1.注释掉karyonix 4G GZIP MAP的部份代码。
2.添加UNIFONT外部命令,可以加载UNIFONT字库。当菜单文件是UTF8格式时可以显示多国语言。
Support multi-language menu with UNIFONT.
2010-03-03
1.新的FONTFILE 外部命令,支持小字库。 support small hz lib
http://bbs.znpc.net/viewthread.php?tid=5854&extra=page%3D1
http://www.cn-dos.net/forum/viewthread.php?tid=47921
2010-03-01
1.打上了karyonix的4G map 补丁
http://bbs.znpc.net/viewthread.php?tid=5844
http://www.boot-land.net/forums/index.php?s=&showtopic=10096&view=findpost&p=91378
2.添加fontfile外部命令.
3.添加menuset外部命令.
2010-02-09
1.重写cmp部份代码(注:比较时可能会比较慢,因为只使用了1MB的缓存,之前的版本是完全缓存).
顺便添加了新参数 —skip=
可以指定在比较时跳过几个字节,用于cmp —hex时方便查看差异.
2010-02-05
1.添加calc简单计算器功能.
calc [INTEGER=] []INTEGER OPERATOR [[]INTEGER]
具体使用方法参考这里的外部命令calc的用法,是一样的,只是内置了.
http://www.chenall.com/blog/2010/02/grub4dos_calc.html
2010-01-13
修改设置默认可执行文件搜索路径参数为
—set-path=PATH
例子
command —set-path=(bd)/grub/
2010-01-09
1.为command参数添加一个参数—set-root用于设置默认可执行文件的搜索路径。
add option —set-root for command
sets a search PATH for executable files,default is (bd)/grub
2009-12-03 g@chenall.cn
1.修改了cat —hex代码,现在cat —hex会显示ascii>127的字符。
2.修改了cmp —hex代码,现在cmp —hex后面显示的字符同样可以显示中文。
并且添加了颜色控制,不同的地方使用了菜单的高亮色显示。
2009-12-01 g@chenall.cn
1.同步源码到2009-12-01版(修正了NTFS上DD或WRITE的问题)
2.修改调整了cat —replace,当使用—replace=addr时允许使用—hex来指定读取长度。具体
http://bbs.znpc.net/viewthread.php?tid=5784&page=10&fromuid=29#pid42939
2009-11-29 g@chenall.cn
1.调整了chainloader功能,如果chainloader (rd)+1,并且没有指定edx设备,那将把当前设备设为EDX。
Changed chainloader_func,if use chainloader (rd)+1 then will set current_root to EDX
从光盘上的BOOTMGR启动硬盘上的VISTA/WIN7系统。
Boot VISTA/WIN7 from cdrom or any other device
chainloader (cd)/BOOTMGR
rootnoverify (hd0,0)
dd if=(hd0,0)+1 of=(md)0x3E+1
现在可以直接使用以下方法来启动; You can now use the following commands..
map —mem=0xF000 /BOOTMGR
find —set-root —ignore-cd —ignore-floppies /BOOT/BCD
chainloader (rd)+1
http://bbs.znpc.net/viewthread.php?tid=5784&page=7&fromuid=29#pid42684
Tips:about EDX,please read README_GRUB4DOS.txt
2.源码同步到官方2009-11-29版。
2009-11-28 g@chenall.cn
1.修正了当内存>2G时访问可能会出错的问题.
fixed a bug when access memory>2G problems.
eg.
cat —hex (md)0x40002F+1
map —mem (md)0x600000+0x19020
2009-11-26 g@chenall.cn
1.修改cmp_func代码,使用之使用十六进制显示差异偏移(为了方便对比使用)。
change cmp_func to show Differ at the offset with HEX
2.为cmp添加了一个参数—hex(直接显示十六进制)
add —hex option for cmp
2009-11-24 g@chenall.cn
1.添加(bd)设备,即启动设备,注:使用configfile命令会改变启动设备。
added (bd) support.(bd):the boot drive. note:use configfile to change boot drive
eg. boot from (hd0,0)
now boot drive is (hd0,0)
configfile (hd0,1)/menu.lst
now boot drive is (hd0,1)