[d89a58f] | 1 | 2011-12-11
|
---|
| 2 | 1.可以使用map --status=n来获取已经映射磁盘的状态。 use map --status=n to get status of hooked drive n.
|
---|
| 3 | 返回以下两个变量信息(return)
|
---|
| 4 | %?%=Start_Sector
|
---|
| 5 | %@retval%=Sector_Count
|
---|
| 6 | 如果该磁盘不存在返回0.
|
---|
| 7 |
|
---|
| 8 | 2011-12-08
|
---|
| 9 | 1.支持菜单自动编号(使用动态菜单时比较有用)。 Support menu AutoNumber.this is useful when used iftitle.
|
---|
| 10 | usage:
|
---|
| 11 | write 0x8274 0x2001
|
---|
| 12 | or
|
---|
| 13 | write 0x8274 0x2D01
|
---|
| 14 | 0x20(space) or 0x2d ('-') is the delimiter char in ascii code.
|
---|
| 15 | 更多的用法介绍:
|
---|
| 16 | http://bbs.wuyou.com/viewthread.php?tid=180142&page=193#pid2351695
|
---|
| 17 |
|
---|
| 18 | 2011-12-06
|
---|
| 19 | 1.bug修正。
|
---|
| 20 | 2.使用调试模式启动时可以显示条件菜单执行的命令。
|
---|
| 21 |
|
---|
| 22 | 2011-12-05
|
---|
| 23 | 1.添加条件菜单功能 added iftitle.
|
---|
| 24 | 语法: iftitle [<command>] Actual Title displayed\nOptional help line
|
---|
| 25 | 只要条件不成立该菜单项目无效。
|
---|
| 26 | eg.如果(hd0,0)上有bootmgr文件才会显示第一个菜单,如果有NTLDR文件才会显示第二个菜单
|
---|
| 27 |
|
---|
| 28 | iftitle [if exist (hd0,0)/bootmgr] Boot to NT6.X from (hd0,0)
|
---|
| 29 | chainloader (hd0,0)/bootmgr
|
---|
| 30 |
|
---|
| 31 | iftitle [if exist (hd0,0)/ntldr] Boot to NT5.X from (hd0,0)
|
---|
| 32 | chainloader (hd0,0)/ntldr
|
---|
| 33 |
|
---|
| 34 | 2011-12-01
|
---|
| 35 | 1.BUG修正。
|
---|
| 36 | BUG fixed.
|
---|
| 37 | 2.添加使用INT18启动功能。
|
---|
| 38 | Supported boot via INT 18.
|
---|
| 39 | 用法(usage):
|
---|
| 40 | boot -1
|
---|
| 41 | or
|
---|
| 42 | boot --int18
|
---|
| 43 | 3.一些代码精简
|
---|
| 44 |
|
---|
| 45 | 2011-11-29
|
---|
| 46 | 1.BUG修正。
|
---|
| 47 | 2.新的color命令语法。
|
---|
| 48 | color color_state=color [..]
|
---|
| 49 | 其中color_state字符串可以如下。
|
---|
| 50 | normal 未选中菜单
|
---|
| 51 | highlight 选中菜单
|
---|
| 52 | helptext 菜单帮助信息
|
---|
| 53 | heading 菜单头(GRUB4DOS信息)
|
---|
| 54 | standard 默认色(控制台)
|
---|
| 55 | border 菜单边框VBE模式下有效果
|
---|
| 56 | 3.新的setcolor/setcolorstate函数
|
---|
| 57 |
|
---|
| 58 | 2011-11-27
|
---|
| 59 | 1.修正fontfile命令在splashimage后面时导至背景图颜色错误的问题.
|
---|
| 60 | 2.VGA模式(0x12/0x6a)没有使用splashimage命令时可以指定字体颜色和console模式一样.
|
---|
| 61 |
|
---|
| 62 | 2011-11-22
|
---|
| 63 | 1.新的COLOR命令允许设置控制台默认字体颜色和背景色(只限于文本模式或VBE模式)
|
---|
| 64 | 方法: 直接使用只带一个参数的color命令即可.
|
---|
| 65 | 注: 在命令行或批处理脚本中执行有效.
|
---|
| 66 |
|
---|
| 67 | 2011-11-19
|
---|
| 68 | 1.cursor_state bit 0=1 show cursor,bit 1=1 show splashimage.
|
---|
| 69 | use setcursor(n) to change if need,can change from commandline e.g.
|
---|
| 70 | call Fn.70 0 disable cursor and splashimage.
|
---|
| 71 | 2.清理部份无用代码.
|
---|
| 72 |
|
---|
| 73 | 2011-11-18
|
---|
| 74 | 1.支持BMP背景图片,只限于VBE模式 supported splashimage with BMP format(VBE mode only).
|
---|
| 75 | 2.使用BMP图片时,如果非处于VBE模式,则尝试自动匹配图片分辨率.
|
---|
| 76 |
|
---|
| 77 | 2011-11-03
|
---|
| 78 | 1.修正一个map的bug. bug fixed in map_func.
|
---|
| 79 | 相关贴子:
|
---|
| 80 | http://bbs.wuyou.com/viewthread.php?tid=201887
|
---|
| 81 | http://bbs.wuyou.com/viewthread.php?tid=201647
|
---|
| 82 | 2.忽略ISO9660文件系统上文件名的大小写. Make name comparisoncase-insensitive on iso9660.
|
---|
| 83 | 可以使用以下命令禁用该功能. You can use below command to disable this feature.
|
---|
| 84 | write 0x4CA24 0
|
---|
| 85 | 3.cat命令添加--locatei参数, added --locatei option for cat.
|
---|
| 86 | 查找时忽略大小写 ignore case locate.
|
---|
| 87 | eg.
|
---|
| 88 | cat --locatei=Test (md)0x300+1
|
---|
| 89 |
|
---|
| 90 | 2011-10-07
|
---|
| 91 | 1.新增?_BOOT变量,访问启动GRUB4DOS的Boot_drive
|
---|
| 92 | add new Variable ?_BOOT to access grub4dos Boot_drive.
|
---|
| 93 | 2.为了节省代码GRUB4DOS内部不再处理外部命令WENV的兼容性(WENV tuxw版)
|
---|
| 94 | 解决办法如下:
|
---|
| 95 | 如果需要使用该版本WENV则自己在菜单或批处理中添加以下命令
|
---|
| 96 | write --offset=0x1f8 (md)0x228+1 ?_WENV\0
|
---|
| 97 | 3.uuid 命令对于uuid字符的判断不区分大小写。
|
---|
| 98 |
|
---|
| 99 | 2011-10-02
|
---|
| 100 | 1.取消对fb启动盘的修正,恢复原样.
|
---|
| 101 | 2.其它批处理相关代码微调.
|
---|
| 102 |
|
---|
| 103 | 2011-09-28
|
---|
| 104 | 1.修正访问磁盘分区的BUG(disk_io.c),感谢Yonsm的报告和测试.
|
---|
| 105 | fixed a bug in disk_io.c
|
---|
| 106 | http://bbs.wuyou.com/viewthread.php?tid=200520&extra=page%3D1
|
---|
| 107 |
|
---|
| 108 | 2011-09-13
|
---|
| 109 | 1.修正insmod的一个bug(不能直接insmod默认路径下的文件)
|
---|
| 110 | fixed a bug in insmod_func.
|
---|
| 111 |
|
---|
| 112 | 2011-09-05
|
---|
| 113 | 1.insmod支持指定名字,比如insmod fat.gz fat.
|
---|
| 114 | Support specified name when insmod a module.
|
---|
| 115 |
|
---|
| 116 | 2011-09-02
|
---|
| 117 | 1.fixed a bug in setloca/endlocal.
|
---|
| 118 | 2011-08-25
|
---|
| 119 | 1.修正cat命令的一个BUG,使用cat --locate-align参数时会出错.
|
---|
| 120 | fixed a bug in cat_func.
|
---|
| 121 | 2011-08-23
|
---|
| 122 | 1.添加echo/cat命令的帮助信息.(issue: 38,40)
|
---|
| 123 | add help text for command echo/cat.
|
---|
| 124 | 2.修复help --all显示的问题(issue: 39)
|
---|
| 125 | fixed "help --all" issue.
|
---|
| 126 | 2011-08-09
|
---|
| 127 | 1.批处理call/gotoBUG修复.
|
---|
| 128 | 2.新的call可以直接call一个命令.
|
---|
| 129 |
|
---|
| 130 | 2011-08-08
|
---|
| 131 | 1.一些代码微调.
|
---|
| 132 | 2.修正Ctrl+C强制中止批处理脚本,有时会失败的问题(call和&&,||连用时可能会失败)
|
---|
| 133 | 3.使用管道符"|"时超过0xC00长度的之符将被丢弃.
|
---|
| 134 |
|
---|
| 135 | 2011-08-01
|
---|
| 136 | 1.外部命令调用修改,优先使用当前目录下的命令(如果存在的话).
|
---|
| 137 | 2.修复在批处理中使用exit命令退出批处理,导致批处理返回值为0的问题.
|
---|
| 138 |
|
---|
| 139 | 2011-07-30
|
---|
| 140 | 1.批处理执行时允许使用Ctrl+C强制中断运行.
|
---|
| 141 |
|
---|
| 142 | 2011-07-19
|
---|
| 143 | 1.内置变量?_WENV=?_UUID=?
|
---|
| 144 | 注:1.将来会取消?_UUID,为了保持兼容性,暂时先放一段时间.
|
---|
| 145 | 请使用%?%或%?_WENV%代替%?_UUID%来获取UUID.
|
---|
| 146 | 2.%?%变量可以获取命令返回的字符串信息.
|
---|
| 147 | 目前可用的信息有两个.uuid dev(返回指定设备的UUID字符串),cat --locate= (返回最后一个找到的位置)
|
---|
| 148 | 2.@random算法修改.
|
---|
| 149 |
|
---|
| 150 |
|
---|
| 151 | 2011-07-13
|
---|
| 152 | 1.在执行cmain之前初始化变量内存空间。
|
---|
| 153 |
|
---|
| 154 | 2011-07-12
|
---|
| 155 | 1.执行clear命令时同时设置count_lines为0。
|
---|
| 156 | 2.内置变量增加@retval,其实就是之前的0x4cb00
|
---|
| 157 | 3.增加setlocal @和endlocal @用法。
|
---|
| 158 | setlocal @可以在批处理中使用,把当前的环境保存起来
|
---|
| 159 | 除非使用endlocal @否则setlocal @之后的设置会一直保留(批处理退出也不影响).
|
---|
| 160 | 注:1.在批处理中出现setlocal @则在批处理中setlocal @之前的setlocal命令会全部失效。
|
---|
| 161 | 所以setlocal @有必要的使用的话一般要放在批处理最前面。
|
---|
| 162 | 2.setlocal @后面如果还有出现setlocal,则setlocal之后的设置不会保留.
|
---|
| 163 |
|
---|
| 164 | 2011-07-11
|
---|
| 165 | 1.添加SETLOCAL和ENDLOCAL命令,和WINDOWS下的批处理用法一样。
|
---|
| 166 |
|
---|
| 167 | 2011-07-05
|
---|
| 168 | 1.尝试解决%~d0,%~f0路径提取的问题,现在%~f0应该可以提取到正确的路径。
|
---|
| 169 | 2.解决if命令输出转向失败的问题。
|
---|
| 170 | 3.其它代码调整。
|
---|
| 171 |
|
---|
| 172 | 2011-05-27
|
---|
| 173 | 1.优化PXE_DIR代码。
|
---|
| 174 | 2.其它微调。
|
---|
| 175 |
|
---|
| 176 | 2011-05-25@176
|
---|
| 177 | 1.调整cat命令的查找字符串代码。
|
---|
| 178 | 2.修改批处理的调试模式开启方法(改为debug 3才会进入调试模式)
|
---|
| 179 | 3.消除一些编译时的警告信息。
|
---|
| 180 |
|
---|
| 181 | 2011-05-23@174
|
---|
| 182 | 1.修正一个TFTP相对路径的问题,感谢2011exuejiao@wuyou.
|
---|
| 183 | 2.在批处理中可以使用debug 3临时开启debug模式。
|
---|
| 184 |
|
---|
| 185 | 2011-04-30@159
|
---|
| 186 | 1.取消前面版本对批处理参数的调整.恢复到04-16版.
|
---|
| 187 | 2.修正一个BUG.(函数print_root_device).
|
---|
| 188 | 3.批处理参数新增%~f 文件全路径,%~z文件大小.
|
---|
| 189 | 4.现在批处理脚本可以使用使用errorcheck命令控制是否检测错误(默认错误就退出).
|
---|
| 190 |
|
---|
| 191 | 2011-04-29@157
|
---|
| 192 | 1.find 命令不再查找(hdx)设备.
|
---|
| 193 | 2.删除@root变量的前导空格.
|
---|
| 194 | 3.ls命令新增dev参数,用于显示设备列表.
|
---|
| 195 | 4.批处理代码调整,对于(bd)设备%~d0会使用实际的设备.
|
---|
| 196 |
|
---|
| 197 | 2011-04-25@156
|
---|
| 198 | 1.新增两个内置变量@root,@path.
|
---|
| 199 | @root 当前的root.
|
---|
| 200 | @path 当前默认外部命令查找路径.
|
---|
| 201 | 2.修正一个可能导致程序出错的问题.(使用到了临时变量的内存).
|
---|
| 202 | 3.批处理代码功能增强.
|
---|
| 203 |
|
---|
| 204 | 2011-04-16@153
|
---|
| 205 | 1.md5crypt 支持参数。后面直接跟一个字符串会直接计算这个字符串的md5。
|
---|
| 206 | 2.菜单支持以变量开头的命令。
|
---|
| 207 |
|
---|
| 208 | 2011-03-30@151
|
---|
| 209 | 1.LZMA格式解压时暂时禁止显示进度(因为显示进度时解压大文件会失败)。
|
---|
| 210 | 2.添加内置变量?_UUID(使用uuid命令可以把获取到的磁盘uuid保存到变量中).
|
---|
| 211 |
|
---|
| 212 | 2011-03-29@150
|
---|
| 213 | 1.insmod *.mod添加了检测模块文件头是否为GRUBEXEC签名.
|
---|
| 214 | 注:目前还是兼容旧版本的MOD模块,一段时间后会取消,请使用新的MAKEMOD重新制作模块。
|
---|
| 215 |
|
---|
| 216 | 2.对批处理路径和文件名的空格进行自动处理。空格前面自动加转义符"\"
|
---|
| 217 | 注:使用p,n,x参数时有效。即%~1时不会处理,但%~p1时会处理。
|
---|
| 218 |
|
---|
| 219 | 2011-03-26@150
|
---|
| 220 | 1.使用kernel (rd)+1启动时,默认的启动设备改为当前root.
|
---|
| 221 |
|
---|
| 222 | 2011-03-25@149
|
---|
| 223 | 1.修改cat命令替换时显示的信息
|
---|
| 224 | cat --locate=S -replace=R 除非debug on否则不显示信息.
|
---|
| 225 | 2.批处理参数新增%*代表所有参数%1 %2 %3 ....
|
---|
| 226 |
|
---|
| 227 | 2011-03-24
|
---|
| 228 | 1.set /p功能增强(可能会和之前的版本不兼容),新增参数set /p:N
|
---|
| 229 | 主要变动:
|
---|
| 230 | 1).如果未输入不会清除原来的变量.(之前的版本会清除).
|
---|
| 231 | 2).新增支持默认时间没有输入自动退出.
|
---|
| 232 | set /p:N variable=prompt
|
---|
| 233 | 如果在N秒之内没有任何输入,则返回,并且不改变variable的值.
|
---|
| 234 |
|
---|
| 235 | 2011-03-23
|
---|
| 236 | 1.为了方便使用,修改shift命令为内部命令.并且shift支持参数
|
---|
| 237 | shift n 或 shift /n
|
---|
| 238 | 具体用法,可以参考CMD/linux下的shift命令帮助.
|
---|
| 239 |
|
---|
| 240 | 2011-02-19
|
---|
| 241 | 1.修复kernel加载grub2 loader的问题.
|
---|
| 242 | fixed a bug when load multiboot-image(boot.c).
|
---|
| 243 | 2.现在可以运行16位程序,和wee的机制一样(直接移植了wee里面的代码)
|
---|
| 244 |
|
---|
| 245 | 2011-02-15
|
---|
| 246 | 1.添加realmode_run函数
|
---|
| 247 | 2.修改GPT分区检测代码,更加严格的检测。
|
---|
| 248 |
|
---|
| 249 | 2011-02-12
|
---|
| 250 | 1.增加GPT分区检测,检测不通过就使用MBR分区。
|
---|
| 251 | 2.一些代码微调。
|
---|
| 252 |
|
---|
| 253 | 2011-02-10
|
---|
| 254 | 1.清理UTF8转换UNICODE的代码,不再需要(请同时更新UNIFONT).
|
---|
| 255 | 2.修复变量字符串截取BUG.Fixed Bug in envi_cmd func.(thanks sratlf@wuyou report).
|
---|
| 256 | http://bbs.wuyou.com/viewthread.php?tid=180142&page=52#pid2154655
|
---|
| 257 |
|
---|
| 258 | 注意:从2011-02-10开始,必须使用最新版的UNIFONT才可以正常显示UNICODE字符.
|
---|
| 259 |
|
---|
| 260 | Note: You must also update unifont to the latest version.new unifont can show unicode char anywhere.
|
---|
| 261 | Download the latest version of unifont:
|
---|
| 262 | http://code.google.com/p/grubutils/downloads/list
|
---|
| 263 |
|
---|
| 264 | 2011-01-28
|
---|
| 265 | 1.支持读取GPT分区表。
|
---|
| 266 | 为了区别MBR分区表和方便编程,所有的GPT分区类型全部使用0xEE表示。
|
---|
| 267 |
|
---|
| 268 | 2.修正一个bug,现在可以访问大于1T的硬盘.但还不能访问超过2T的内容。
|
---|
| 269 |
|
---|
| 270 | 2011-01-26
|
---|
| 271 | 1.修复run_line的一个BUG,会导致返回值为假。
|
---|
| 272 | 2.添加IF/SET命令的帮助信息。
|
---|
| 273 | 3.IF命令增加以下语法,判读一个变量或文件是否存在。
|
---|
| 274 | if exist variable|filename command.
|
---|
| 275 | 4.控制pause的输出,debug小于0时不显示倒计时。debug小于1时不显示按键码.
|
---|
| 276 |
|
---|
| 277 | 2011-01-22
|
---|
| 278 | 1.set /A 参数使用16进制数保存变量,set /a 十进制数保存变量。
|
---|
| 279 | 2.修复goto的一个bug.
|
---|
| 280 | 3.修复重定向操作符的bug.
|
---|
| 281 |
|
---|
| 282 | 2011-01-19
|
---|
| 283 | 1.set命令不再接受回车换行符。
|
---|
| 284 | 2.修复获取批处理参数bug.
|
---|
| 285 | 3.修复fb文件系统bug(可能会导致访问文件出错)。
|
---|
| 286 |
|
---|
| 287 | 2011-01-14
|
---|
| 288 | 1.set命令增强.添加了/l,/u参数
|
---|
| 289 | set /l a=Abcd
|
---|
| 290 | 把Abcd转为小写./u是转换大写。
|
---|
| 291 |
|
---|
| 292 | 2011-01-13
|
---|
| 293 | 1.修复utf8菜单编码自动检测的BUG。
|
---|
| 294 |
|
---|
| 295 | 2011-01-10
|
---|
| 296 | 1.修复SET命令的bug,添加/p参数
|
---|
| 297 | 2.修复启动linux时内存冲突的bug.
|
---|
| 298 |
|
---|
| 299 | 2011-01-09
|
---|
| 300 | 1.菜单支持变量。
|
---|
| 301 | 2.支持变量截取(和CMD的方法一样),不支持替换。
|
---|
| 302 |
|
---|
| 303 | 2011-01-08
|
---|
| 304 | 1.重写grub_sprintf函数,支持简易的宽度和精度控制符(m.n或*.*)。
|
---|
| 305 |
|
---|
| 306 | 2011-01-07
|
---|
| 307 | 1.SET命令添加一个参数/a可以把=后面的计算结果赋值给变量.
|
---|
| 308 | 2.新的safe_parse_maxint函数支持一元运算符。"~!-"
|
---|
| 309 |
|
---|
| 310 | 2011-01-06
|
---|
| 311 | 1.修改CAT命令的显示。现在的cat /filen.ext碰到字符结束符'\0'就停止。
|
---|
| 312 | 2.批处理内部添加一个命令shift(只能在批处理中使用).
|
---|
| 313 | 3.skip_to函数现在会可以跳过(‘\r’和‘\n’)。
|
---|
| 314 | 4.set *将清除所有变量。
|
---|
| 315 |
|
---|
| 316 | 2011-01-05
|
---|
| 317 | 1.修正run_line的一个逻辑错误。
|
---|
| 318 | 2.外部命令command默认的目录改为(bd)/BOOT/GRUB/
|
---|
| 319 | 2011-01-03
|
---|
| 320 | 1.pager命令即实生效。
|
---|
| 321 | 2.添加简易的if判断命令类似的MSDOS.目前支持的判断如下:
|
---|
| 322 | added a new command if.
|
---|
| 323 | if [/I] [NOT] STRING1==STRING2 [COMMAND]
|
---|
| 324 | 注:判断符号==前后不允许有空格或制表符否则比较会失败。
|
---|
| 325 | 2.添加SET命令可以设置、修改、删除变量。
|
---|
| 326 | added a new command set to modify the variable.
|
---|
| 327 | 3.从现在开始支持变量。用法和MS-DOS一样。
|
---|
| 328 | From now supports variable.
|
---|
| 329 | 注:使用了和WENV同样的方案。所以这个功能可以看成是简化版的WENV
|
---|
| 330 |
|
---|
| 331 | 2011-01-02
|
---|
| 332 | 1.pause命令添加一个参数--test-key,可以显示按键扫描码。
|
---|
| 333 | added --test-key option for pause to display the key scan code.
|
---|
| 334 | 2.grub_sprintf函数支持字符串精度控制符。
|
---|
| 335 |
|
---|
| 336 |
|
---|
| 337 | 2011-01-01
|
---|
| 338 | 1.修复find命令的bug。当然使用条件查询时可能会出错。
|
---|
| 339 | 2.批处理参数修改,为了方便使用,%9改成剩余的所有参数。
|
---|
| 340 | 比如参数: 1 2 3 4 5 6 7 8 9 0 a b c
|
---|
| 341 | 那%9就是9 0 a b c.
|
---|
| 342 |
|
---|
| 343 | 2010-12-31
|
---|
| 344 | 1.pause命令增强,增加了显示按键码的功能。
|
---|
| 345 | 2.hiddenmenu命令增强。增加一个--chkpass参数
|
---|
| 346 | 具体用法请参考: README_GRUB4DOS.TXT对应的更新
|
---|
| 347 |
|
---|
| 348 | 2010-12-28
|
---|
| 349 | 1.一些BUG修复.
|
---|
| 350 | 2.PAUSE命令增加倒计时显示.
|
---|
| 351 | 3.fsys_fb.sys代码微调.
|
---|
| 352 |
|
---|
| 353 | 2010-12-25
|
---|
| 354 | 1.现在delmod也是一个内部命令.
|
---|
| 355 | 2.重写insmod/delmod相关的代码.把加载的模块固定在内存18MB开始的位置.
|
---|
| 356 |
|
---|
| 357 | 2010-12-21
|
---|
| 358 | 1.从command_func中分离出insmod作为一个内部命令存在.
|
---|
| 359 | 现在允许insmod加载一个命令合集.(扩展名.mod)
|
---|
| 360 | 例子:
|
---|
| 361 | insmod grub4dos.mod
|
---|
| 362 | 这个命令合集使用MAKEMOD程序生成.
|
---|
| 363 |
|
---|
| 364 | 2010-12-18
|
---|
| 365 | 1.代码调整.
|
---|
| 366 | cat添加一个参数--number=N 在查找替换的时候指定查找次数.
|
---|
| 367 | 2010-12-17
|
---|
| 368 | 1.fixed a bug in checkrange_func.
|
---|
| 369 |
|
---|
| 370 | 2010-12-16
|
---|
| 371 | 1.修正使用批处理运行时可能会出现ERROR 25的错误.
|
---|
| 372 | 2.重写批处理运行函数.
|
---|
| 373 |
|
---|
| 374 | 2010-12-15
|
---|
| 375 | 1.还原2010-12-10对0000:82A4的改变.
|
---|
| 376 | 2.为了方便使用当使用fbinst启动时有如下调整
|
---|
| 377 | boot_drive (bd) 为FB_DRIVE(ud)
|
---|
| 378 | 默认root(saved_drive) 为可见分区.
|
---|
| 379 | 3.为了减小压缩包的大小,改成用7z压缩发布.
|
---|
| 380 |
|
---|
| 381 | 2010-12-14
|
---|
| 382 | 1.完善对ud(fbinst创建的分区)支持.现在不需要从fbinst启动也可以随意访问fbinst创建的分区.
|
---|
| 383 | 2.允许在批处理中执行的外部命令调用goto/call标签.
|
---|
| 384 |
|
---|
| 385 | 2010-12-12
|
---|
| 386 | 1.批处理添加exit命令.直接退出批处理.如果后面有数值则设置为errnum.
|
---|
| 387 | 如exit 1,退出,并返回一个错误的值.
|
---|
| 388 | 2.一些代码优化调整.
|
---|
| 389 | 3.修改pause命令,现在的pause直接返回按键的ascii码值.
|
---|
| 390 |
|
---|
| 391 | 2010-12-11
|
---|
| 392 | 1.完善批处理脚本参数的支持(同CMD下的批处理用法一样).
|
---|
| 393 | 2.可以在菜单中使用goto命令(即跳到某个菜单项目).
|
---|
| 394 | 3.delmod 添加参数-l用于显示已经加载的模块.如果-l后面还有参数则是判断该模块是否加载.
|
---|
| 395 |
|
---|
| 396 | 2010-12-10
|
---|
| 397 | 1.改变了以下内存地址的定义(和之前的版本相反)
|
---|
| 398 | 0000:82A4 4 (DWORD) no_decompression (no auto gunzip)
|
---|
| 399 | 改成了
|
---|
| 400 | 0000:82A4 4 (DWORD) do_decompression (do auto gunzip)
|
---|
| 401 | 2.0x8284的值的bit2如果为1则显示解压进度,否则不显示,默认不显示.
|
---|
| 402 | 3.完善了goto/call的功能
|
---|
| 403 |
|
---|
| 404 | 2010-12-09
|
---|
| 405 | 1.批处理脚本支持标签(类拟BAT批处理).
|
---|
| 406 | support goto/call and :label in batch script.
|
---|
| 407 | CALL :label arguments
|
---|
| 408 | goto label
|
---|
| 409 |
|
---|
| 410 | 2010-12-07
|
---|
| 411 | 1.添加两个命令用于加载外部命令到内存中,加快运行速度.
|
---|
| 412 | insmod path-to-program
|
---|
| 413 | delmod program
|
---|
| 414 |
|
---|
| 415 | 2010-12-06
|
---|
| 416 | 1.批处理脚本支持参数%0 - %9同cmd批处理用法一样。%~n 可以去掉前后的引号
|
---|
| 417 |
|
---|
| 418 | 2010-11-24
|
---|
| 419 | 1.修正一个skip_to函数的bug。
|
---|
| 420 | fixed a bug in skip_to func,thanks tuxw.
|
---|
| 421 |
|
---|
| 422 | 2010-11-21
|
---|
| 423 | 1.解决在(ud)上使用自动补全功能问题.
|
---|
| 424 | http://bbs.znpc.net/viewthread.php?tid=5976
|
---|
| 425 |
|
---|
| 426 | 2010-11-19 supported pxe_dir list.
|
---|
| 427 | 1.添加PXE(pd)文件列表的支持.TFTP ROOT 上的每个目录下都需要有dir.txt才支持.
|
---|
| 428 | 可以使用以下命令生成dir.txt文件
|
---|
| 429 | for /r %i in (.) do (dir /a/b %i >%i\dir.txt)
|
---|
| 430 |
|
---|
| 431 | 2010-11-18
|
---|
| 432 | 1.Fixed a bug in batch file,thanks Mr.zhaohj.
|
---|
| 433 | http://bbs.wuyou.com/viewthread.php?tid=180142&page=9#pid2087407
|
---|
| 434 | 2.Add a new variable at 0000:8278 for grub4dos version by date.
|
---|
| 435 | e.g. read 0x8278 return 0x132B7FE (20101118)
|
---|
| 436 | 3.Fixed a bug in find_func,thanks Mr.pseudo.
|
---|
| 437 | 2010-11-17
|
---|
| 438 | 1.重写command_func函数大部份代码。
|
---|
| 439 | 为了方便外命命令的编写,修改主函数调用为以下格式。
|
---|
| 440 | int main (char *arg, int flags)
|
---|
| 441 | 新的版本可以直接使用arg和flags参数,不需要再进行计算了。
|
---|
| 442 |
|
---|
| 443 | 2010-11-16
|
---|
| 444 | 1.改进malloc/free函数。
|
---|
| 445 | 2.允许执行多个外部命令(之前只允许一个),现在可以在外部命令里面调用其它外部命令。
|
---|
| 446 | 外部命令调用方法使用builtin_cmd函数:builtin_cmd(char *cmd,char *arg,chat *flags);
|
---|
| 447 | builtin_cmd(NULL,Command and parameters,flags);
|
---|
| 448 |
|
---|
| 449 | 2010-11-15
|
---|
| 450 | 1.内置echo命令自动回车符改为"\r\n"
|
---|
| 451 | 2.添加malloc/free函数.
|
---|
| 452 |
|
---|
| 453 | 2010-11-04
|
---|
| 454 | 1.重写run_line(执行一行命令函数)。
|
---|
| 455 | 支持操作符连用。例:
|
---|
| 456 | echo a | echo b | echo c | echo
|
---|
| 457 | echo abcd > (md)0x300+1 && echo def
|
---|
| 458 | 2.支持新的操作符">>"和">"一样,但这个会附加(附加在输出文件中的第一个字符串结束符'\0'后面)
|
---|
| 459 | 注:目前这个操作符不会改变文件大小。
|
---|
| 460 |
|
---|
| 461 | 2.内置ECHO函数添加两个参数(默认回车不转义)
|
---|
| 462 | -n 不自动添加回车符
|
---|
| 463 | -e 允许转义符
|
---|
| 464 | 2010-10-28
|
---|
| 465 | 1.some bug fixed.
|
---|
| 466 | 2.find支持查找使用cdrom --init生成的光驱(只找第一个)
|
---|
| 467 |
|
---|
| 468 | 2010-10-27
|
---|
| 469 | 1.修改printf函数,支持显示"%",和C语言的语法一样,使用"%%"来显示一个"%"
|
---|
| 470 | 2.重写find的查询代码.
|
---|
| 471 | 3.find新增参数--devices=[DEVICES],指定要查找的设备.
|
---|
| 472 |
|
---|
| 473 | 说明:DEVICES可以是以下字符的组合:
|
---|
| 474 | u,p,n,h,c,f -->分别对应 ud,pd,nd,hd,cd,fd,
|
---|
| 475 |
|
---|
| 476 | 例子:--devices=hcf //只查找hd,cd,fd,从hd开始.
|
---|
| 477 | 注:优先current root.然后再按上面的顺序.(current root必须在列表中,否则跳过)
|
---|
| 478 |
|
---|
| 479 | 可以使用这个参数来重新设定查找顺序,默认(find order):ud->pd->nd->hd->cd->fd
|
---|
| 480 |
|
---|
| 481 | 4.保留--ignore-cd和--ignore-floppies参数(会自动转换).
|
---|
| 482 |
|
---|
| 483 | 2010-10-26
|
---|
| 484 | 1.find支持(fdx,y)的格式.
|
---|
| 485 | 2.优先查找当前root.
|
---|
| 486 | 2010-10-03
|
---|
| 487 | 1.使用操作符"|"时默认自动添加空格,并解决使用"|"时可能导致死机或重启的问题。
|
---|
| 488 |
|
---|
| 489 | 2010-09-30
|
---|
| 490 | 1.修正操作符号!失效的问题。
|
---|
| 491 | 2.恢复内置菜单的大写MENU.LST为小写(保持兼容性)。
|
---|
| 492 | 3.内置echo命令。
|
---|
| 493 | 用法:
|
---|
| 494 | echo [-P:[-]XX[-]YY] MESSAGE
|
---|
| 495 | XX: Line number.
|
---|
| 496 | YY: Column number.
|
---|
| 497 |
|
---|
| 498 | XXYY指定后面MESSAGE要显示的位置。
|
---|
| 499 | XX指定行号,YY指定列号。前导“-”,即倒数.
|
---|
| 500 |
|
---|
| 501 | 2010-09-25
|
---|
| 502 | 1.修正calc计算的一个逻辑错误。
|
---|
| 503 | 2.使用fbinst启动默认root设为ud
|
---|
| 504 | set boot_drive to fb_drive(ud) if boot from fbinst.
|
---|
| 505 | 3.添加一个新的命令initscript,只能用于菜单中。
|
---|
| 506 | initscript用于初始化菜单,每次返回菜单时在显示完菜单后执行。
|
---|
| 507 | 有时候会需要这样的功能,比如执行某个菜单失败后返回菜单时重新执行一次初始化。
|
---|
| 508 | initscript /initscript.g4d
|
---|
| 509 |
|
---|
| 510 | 2010-09-25
|
---|
| 511 | 1.简易计算器调整.如果没有"="则不保存计算结果,但++和--除外.
|
---|
| 512 | 例子:
|
---|
| 513 | calc *0x60000 + 4 不保存计算结果,所以内存指向*0x60000的值不会被改变.
|
---|
| 514 | calc *0x60000++ 会保存计算结果到*0x60000中.
|
---|
| 515 | calc *0x60000 = 1+2 同上.
|
---|
| 516 | 2.如果当前已经是图形模式允许graphicsmode直接切换,而不用经过terminal console中转.
|
---|
| 517 |
|
---|
| 518 | 2010-09-16
|
---|
| 519 | 1.修正一个产生Error 27的错误。
|
---|
| 520 |
|
---|
| 521 | 2010-09-06
|
---|
| 522 | 1.添加操作符号"|" ">",输出重定向(有点类似DOS)
|
---|
| 523 | Implemented two syntactic operators "|" and ">".Like Dos Output redirection.
|
---|
| 524 | note: 1.use with "&&" and "||" ,the "|" and ">" must be at last.
|
---|
| 525 | 2."|" and ">" can not use at same time.
|
---|
| 526 | 例子:
|
---|
| 527 | 1. pause abcd | pause efg
|
---|
| 528 | output: efgabcd
|
---|
| 529 | 2. pause 0x60000 | read #There is a space after the read.
|
---|
| 530 | run read 0x60000
|
---|
| 531 | 3.help > (hd0,0)/help.txt or help > (md)0x3000+2
|
---|
| 532 | help.txt must already exist,grub4dos cann't create file or change file size.
|
---|
| 533 | 2010-09-05
|
---|
| 534 | 1.修改TAB的显示方式,现在使用8个字节对齐显示。
|
---|
| 535 |
|
---|
| 536 | 2010-08-10
|
---|
| 537 | 1.fixed a bug in disk_io.c,it may return error 25 when set root to a cd drive.
|
---|
| 538 | 修正一个BUG,当设置root为cd设备时可能会提示Error 25的错误.
|
---|
| 539 | 2.加快colinux下源码在cofs设备时编译的速度.
|
---|
| 540 |
|
---|
| 541 | 2010-06-21
|
---|
| 542 | 1.打上支持新版FB的补丁
|
---|
| 543 | 来源:http://www.burgloader.com/bbs/index.php?topic=37.30
|
---|
| 544 | 2010-05-02
|
---|
| 545 | 1.PXE启动时首先尝试加载root目录下的menu.lst。
|
---|
| 546 |
|
---|
| 547 | 2010-04-17
|
---|
| 548 | 1.命令行自动完成调整.现在可以直接输入/+TAB显示当前目录下的文件或(hd0,0)/+TAB显示(hd0,0)/下面的文件列表
|
---|
| 549 | 以前的版本必需要像以下命令才可以。
|
---|
| 550 | root /+TAB
|
---|
| 551 | 2.get_cmdline函数调整,以方便外部命令直接调用。
|
---|
| 552 |
|
---|
| 553 | 2010-03-29
|
---|
| 554 | 1.外部命令执行过程调整。
|
---|
| 555 |
|
---|
| 556 | 例子:默认path (bd)/grub/
|
---|
| 557 | echo abcd ## 优先使用(bd)/grub/echo 文件,如果没有再找 /echo 文件
|
---|
| 558 | /echo abcd ## 只查找/echo 文件。
|
---|
| 559 | (fd0)/echo abcd ## 只找 (fd0)/echo abcd 文件。
|
---|
| 560 | 2.find 命令添加一个 --ignore-oem 参数。
|
---|
| 561 | http://code.google.com/p/grub4dos-ireneuszp/
|
---|
| 562 |
|
---|
| 563 | 2010-03-10
|
---|
| 564 | 1.边框位置自动调整。
|
---|
| 565 |
|
---|
| 566 | 2010-03-09
|
---|
| 567 | 1.注释掉karyonix 4G GZIP MAP的部份代码。
|
---|
| 568 | 2.添加UNIFONT外部命令,可以加载UNIFONT字库。当菜单文件是UTF8格式时可以显示多国语言。
|
---|
| 569 | Support multi-language menu with UNIFONT.
|
---|
| 570 |
|
---|
| 571 | 2010-03-01
|
---|
| 572 | 1.打上了karyonix的4G map 补丁
|
---|
| 573 | http://bbs.znpc.net/viewthread.php?tid=5844
|
---|
| 574 | http://www.boot-land.net/forums/index.php?s=&showtopic=10096&view=findpost&p=91378
|
---|
| 575 |
|
---|
| 576 | 2.添加fontfile外部命令.
|
---|
| 577 | 3.添加menuset外部命令.
|
---|
| 578 |
|
---|
| 579 | 2010-02-09
|
---|
| 580 | 1.重写cmp部份代码(注:比较时可能会比较慢,因为只使用了1MB的缓存,之前的版本是完全缓存).
|
---|
| 581 | 顺便添加了新参数 --skip=
|
---|
| 582 | 可以指定在比较时跳过几个字节,用于cmp --hex时方便查看差异.
|
---|
| 583 |
|
---|
| 584 | 2010-02-05
|
---|
| 585 | 1.添加calc简单计算器功能.
|
---|
| 586 | calc [*INTEGER=] [*]INTEGER OPERATOR [[*]INTEGER]
|
---|
| 587 |
|
---|
| 588 | 具体使用方法参考这里的外部命令calc的用法,是一样的,只是内置了.
|
---|
| 589 | http://www.chenall.com/blog/2010/02/grub4dos_calc.html
|
---|
| 590 |
|
---|
| 591 |
|
---|
| 592 | 2010-01-13
|
---|
| 593 | 修改设置默认可执行文件搜索路径参数为
|
---|
| 594 | --set-path=PATH
|
---|
| 595 | 例子
|
---|
| 596 | command --set-path=(bd)/grub/
|
---|
| 597 |
|
---|
| 598 | 2010-01-09
|
---|
| 599 | 1.为command参数添加一个参数--set-root用于设置默认可执行文件的搜索路径。
|
---|
| 600 | add option --set-root for command
|
---|
| 601 | sets a search PATH for executable files,default is (bd)/grub
|
---|
| 602 |
|
---|
| 603 | 2009-12-03 g@chenall.cn
|
---|
| 604 | 1.修改了cat --hex代码,现在cat --hex会显示ascii>127的字符。
|
---|
| 605 | 2.修改了cmp --hex代码,现在cmp --hex后面显示的字符同样可以显示中文。
|
---|
| 606 | 并且添加了颜色控制,不同的地方使用了菜单的高亮色显示。
|
---|
| 607 |
|
---|
| 608 | 2009-12-01 g@chenall.cn
|
---|
| 609 | 1.同步源码到2009-12-01版(修正了NTFS上DD或WRITE的问题)
|
---|
| 610 | 2.修改调整了cat --replace,当使用--replace=*addr时允许使用--hex来指定读取长度。具体
|
---|
| 611 | http://bbs.znpc.net/viewthread.php?tid=5784&page=10&fromuid=29#pid42939
|
---|
| 612 |
|
---|
| 613 | 2009-11-29 g@chenall.cn
|
---|
| 614 | 1.调整了chainloader功能,如果chainloader (rd)+1,并且没有指定edx设备,那将把当前设备设为EDX。
|
---|
| 615 | Changed chainloader_func,if use chainloader (rd)+1 then will set current_root to EDX
|
---|
| 616 | 从光盘上的BOOTMGR启动硬盘上的VISTA/WIN7系统。
|
---|
| 617 | Boot VISTA/WIN7 from cdrom or any other device
|
---|
| 618 | chainloader (cd)/BOOTMGR
|
---|
| 619 | rootnoverify (hd0,0)
|
---|
| 620 | dd if=(hd0,0)+1 of=(md)0x3E+1
|
---|
| 621 | 现在可以直接使用以下方法来启动; You can now use the following commands..
|
---|
| 622 | map --mem=0xF000 /BOOTMGR
|
---|
| 623 | find --set-root --ignore-cd --ignore-floppies /BOOT/BCD
|
---|
| 624 | chainloader (rd)+1
|
---|
| 625 | http://bbs.znpc.net/viewthread.php?tid=5784&page=7&fromuid=29#pid42684
|
---|
| 626 | Tips:about EDX,please read README_GRUB4DOS.txt
|
---|
| 627 | 2.源码同步到官方2009-11-29版。
|
---|
| 628 | 2009-11-28 g@chenall.cn
|
---|
| 629 | 1.修正了当内存>2G时访问可能会出错的问题.
|
---|
| 630 | fixed a bug when access memory>2G problems.
|
---|
| 631 | eg.
|
---|
| 632 | cat --hex (md)0x40002F+1
|
---|
| 633 | map --mem (md)0x600000+0x19020
|
---|
| 634 | 2009-11-26 g@chenall.cn
|
---|
| 635 | 1.修改cmp_func代码,使用之使用十六进制显示差异偏移(为了方便对比使用)。
|
---|
| 636 | change cmp_func to show Differ at the offset with HEX
|
---|
| 637 | 2.为cmp添加了一个参数--hex(直接显示十六进制)
|
---|
| 638 | add --hex option for cmp
|
---|
| 639 | 2009-11-24 g@chenall.cn
|
---|
| 640 | 1.添加(bd)设备,即启动设备,注:使用configfile命令会改变启动设备。
|
---|
| 641 | added (bd) support.(bd):the boot drive. note:use configfile to change boot drive
|
---|
| 642 | eg. boot from (hd0,0)
|
---|
| 643 | now boot drive is (hd0,0)
|
---|
| 644 | configfile (hd0,1)/menu.lst
|
---|
| 645 | now boot drive is (hd0,1) |
---|