|
本帖最后由 2011yaya2007777 于 2021-4-24 10:50 编辑
使用于 UEFI 环境的 GRUB4DOS。
这是一个庞大的工程,几乎所有的代码都捋了一遍。修改了控制台键盘输入输出,控制台屏幕输出,内存控制,
驱动器控制,获取日期时间,暂停控制,图形模式及Unicode字体实现,PXE 网启,等等。
开发过程中,参考了 GRUB2 源码。有关映射,参考了 wintoflash 的源码。
文件下载:http://grub4dos.chenall.net/
更新说明:
2021-04-24 (yaya)
支持尾续菜单, 改进批处理调试, 内置 unicode 16*16 英文点阵字符。
2020-11-18 (yaya)
1. 菜单目录更改为:/efi/grub/menu.lst
2. 支持实体光盘、硬盘启动。
3. 多个光盘时,启动光盘调整为第一光盘,以适应 windows。
4. 增加退出 GRUB4DOS 函数 exit_g4d。
5. 批处理变更:
函数下标不变,参数由 32 位变更为 64 位。(Fn.下标 参数1 参数2 ...)
变量地址由 0x8304 变更为 0x8308,由 32 位变更为 64 位。
call Fn 函数,如果使用变量 0x8200-0x8400 则要在前面加g4e,如 g4e0x8217。
批处理增加 else 函数。增加 {脚本集} 表示法。
如:
if 条件
{
脚本集
if 条件 {
脚本集 }
else {
脚本集 }
}
else if 条件
{
脚本集
}
else
{
脚本集
}
注意:
1. 大括弧必须是一行的结尾。
2. 脚本集可多行书写。
3. 大括弧内部可以嵌套。
2020-10-30
1. 可以启动 efi 文件。
2. 可以启动 iso 及 img 文件。
3. 内置热键功能。
与旧版本不同之处:
1. 可以通过 graphicsmode 命令查看系统支持的图形模式。
2. map 函数执行后即挂载。不需要执行 --hook 指令。
3. 取消 --hook,--unhook,--rehook,--unmap=,--floppies=,--harddrives= 指令。
4. 在 UEFI 环境,可以从 0x80 以外的磁盘启动,因此不需要交换磁盘操作,如 map (hd0) (hd1)。
5. 取消删除磁盘功能,如 map (hd1) (hd1)。
6. 目前 PXE 网启只支持 tftp。
|
评分
-
查看全部评分
|