无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 22217|回复: 44
打印 上一主题 下一主题

[原创] GRUB4EFI(32位)

    [复制链接]
跳转到指定楼层
1#
发表于 2020-8-27 14:51:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 liuzhaoyzz 于 2020-12-8 16:39 编辑

由不点开发的 GRUB4DOS ,是一款功能强大、实用的程序。但是随着 UEFI 逐渐兴起,BIOS 将逐渐淡出历史舞台。
为了适应这一形势变化,延续其使用寿命,特开发了 GRUB4EFI 。

这是一个庞大的工程,几乎所有的代码都捋了一遍。修改了控制台键盘输入输出,控制台屏幕输出,内存控制,
驱动器控制,获取日期时间,暂停控制,图形模式及Unicode字体实现,PXE 网启,等等。

开发过程中,参考了 GRUB2 源码。有关映射,参考了 wintoflash 的源码。

目前只实现了 32 位环境应用。虽然实用价值不大,但是为下一步开发 64 位环境应用打下了基础。
1. 可以启动 efi 文件。
chainloader /efi/boot/grub2_ia320.efi
2. 可以启动 iso 及 img 文件。
map --mem /f.img (fd)
map /z.iso (cd)
chainloader
注:不能任意指定驱动器号。
    启动的是最后一个映像,如本例是 cd.
3. 内置热键功能
setmenu --hotkey 参数
4. 可以通过 graphicsmode 命令查看系统支持的图形模式。
5. PXE 网启目前只支持 tftp,没有找到 ipxe 在 uefi 下的入口。

菜单例子:
timeout 5
default 0
color normal=0xff9933 highlight=0xffff00 helptext=0xff00ff heading=0x66ff00
graphicsmode -1 800
font /grub/unifont.hex.gz
splashimage /grub/lt.jpg

setmenu --box x=4 w=60 y=3 h=7 l=2
setmenu --keyhelp=1 --lang=zh
setmenu --auto-num-on
setmenu --keyhelp=1=0x66ff00
setmenu --string=s=1=0x0000000000ffff="G4D 维  护  菜  单"
setmenu --string=m=0=0xff00000000ffff="date&time=yyyy-MM-dd  HH:mm:ss"
setmenu --timeout=40=0=0xff00000000ffff
setmenu --hotkey -A [F4] commandline

iftitle [find /grub2_ia32.efi] grub2_ia32.efi
chainloader /efi/boot/grub2_ia32.efi
title hdd_boot.ima
map /hdd_boot.ima (hd)
chainloader
title z.iso
map /z.iso (cd)
chainloader
title ^Ctrl+d commandline
commandline
title [F3] reboot
reboot
title halt
halt



grub_ia32.rar

122.7 KB, 下载次数: 274, 下载积分: 无忧币 -2

评分

参与人数 18无忧币 +93 收起 理由
2011lanwenbin + 5 很给力!厉害了!
saiz + 5 很给力!
879792799 + 5 挺好的想法和方向!!!
ge + 5 很给力!
Hwlon + 5 很给力!
ikaze + 5 神马都是浮云
Climbing + 5 赞一个!
fuldho + 5 非常期待
蓝星明月 + 5 很给力!
wuxin9712 + 5
sunsea + 10 很给力!
2010techon + 5 很给力!
freesoft00 + 5
826773297 + 5 这个必须顶
2012andyle113 + 3 很给力!
jdcgzb + 5 很给力!
dsfgamesky + 5 很给力!
ksafei + 5 很给力!

查看全部评分

2#
发表于 2020-8-27 15:14:28 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-8-27 15:16 编辑

       现在的UEFI固件都是64位的啊,期待grub_x64.efi出来测试。
grub4dos上手很难,但是习惯了grub4dos的语法之后,反而觉得grub2的语法很不适应。


另外,期待类似grumfm这种遍历iso文件启动的功能。

点评

感觉没必要,不如直接去加载grubfm  详情 回复 发表于 2020-8-27 16:29
回复

使用道具 举报

3#
发表于 2020-8-27 15:34:30 | 只看该作者
这个必须支持!
谢谢2011yaya2007777兄!期待更上一层楼。
回复

使用道具 举报

4#
发表于 2020-8-27 15:41:54 | 只看该作者
好消息,期待X64
回复

使用道具 举报

5#
发表于 2020-8-27 15:45:29 | 只看该作者
最近学习linux,想多了解其引导方式,刚接触了grub、grub4dos、grub2等,还没有弄明白。

期待大神早日完成,最好做成可以图形界面配置的软件。
回复

使用道具 举报

6#
发表于 2020-8-27 16:29:03 | 只看该作者
liuzhaoyzz 发表于 2020-8-27 15:14
现在的UEFI固件都是64位的啊,期待grub_x64.efi出来测试。
grub4dos上手很难,但是习惯了grub4dos ...

感觉没必要,不如直接去加载grubfm
回复

使用道具 举报

7#
发表于 2020-8-27 16:31:23 | 只看该作者
好像没有说明配置文件的默认路径,现在Grub4EFI应该没有内置菜单的说法了吧?
回复

使用道具 举报

8#
 楼主| 发表于 2020-8-27 16:38:39 | 只看该作者
好像没有说明配置文件的默认路径,现在Grub4EFI应该没有内置菜单的说法了吧?

不支持内置菜单
回复

使用道具 举报

9#
发表于 2020-8-27 16:51:15 来自手机 | 只看该作者
yaya老师真是厉害!
回复

使用道具 举报

10#
发表于 2020-8-27 17:35:37 来自手机 | 只看该作者
多一种选择没什么不好,期待完善。
回复

使用道具 举报

11#
发表于 2020-8-27 18:33:13 | 只看该作者
本帖最后由 caocaofff 于 2020-8-27 18:37 编辑

我在VM虚拟机下测试,将文件名改成bootia32.efi丢到efi/boot目录,然后启动时,虚拟机报错了:
固件遇到意外的异常情况。虚拟机无法引导。用grub2的bootia32去加载grubia32也一样报错。
回复

使用道具 举报

12#
 楼主| 发表于 2020-8-27 18:45:23 | 只看该作者
我在VM虚拟机下测试,将文件名改成bootia32.efi丢到efi/boot目录,然后启动时,虚拟机报错了

具体错误是什么

点评

没看到具体报错,从设备启动后虚拟机直接弹框了  详情 回复 发表于 2020-8-27 18:54
回复

使用道具 举报

13#
发表于 2020-8-27 18:54:02 | 只看该作者

没看到具体报错,从设备启动后虚拟机直接弹框了
回复

使用道具 举报

14#
发表于 2020-8-27 19:04:48 | 只看该作者
来晚了,才看到。

帮不上忙,只说一句:

保重身体,不要熬夜;不要太过于频繁来论坛答复问题;被迫熬夜时,备足酸奶、水果、零食。
回复

使用道具 举报

15#
 楼主| 发表于 2020-8-27 19:39:56 | 只看该作者
来晚了,才看到。

谢谢
回复

使用道具 举报

16#
发表于 2020-8-27 20:08:12 | 只看该作者
网启支持proxydhcp不
回复

使用道具 举报

17#
发表于 2020-8-27 20:16:36 | 只看该作者
强烈建议楼主提供一个可测试的ISO镜像,而不是一个光秃秃的efi文件
回复

使用道具 举报

18#
 楼主| 发表于 2020-8-27 20:18:35 来自手机 | 只看该作者
通过ipxe加载grub4efi后,只能通过tftp通讯,不知怎样与ipxe联络,没有找到接口。

点评

ipxe自有一套启动流程,可以不走grub4efi  详情 回复 发表于 2020-8-27 20:29
回复

使用道具 举报

19#
发表于 2020-8-27 20:29:21 | 只看该作者
2011yaya2007777 发表于 2020-8-27 20:18
通过ipxe加载grub4efi后,只能通过tftp通讯,不知怎样与ipxe联络,没有找到接口。

ipxe自有一套启动流程,可以不走grub4efi
回复

使用道具 举报

20#
发表于 2020-8-27 20:37:46 | 只看该作者
感谢分享,真搞出这种东西来了,可惜反而是32位的先出来了
回复

使用道具 举报

21#
发表于 2020-8-27 21:33:10 | 只看该作者
666666666666666壮举
回复

使用道具 举报

22#
发表于 2020-8-27 21:56:41 | 只看该作者
强烈支持。可惜目前是32位的,没办法帮着测试
回复

使用道具 举报

23#
发表于 2020-8-30 18:04:52 来自手机 | 只看该作者
好消息,期待X64
回复

使用道具 举报

24#
发表于 2020-8-30 20:40:25 | 只看该作者
谢谢!!! 支持!!!    谢谢!!! 支持!!!  谢谢!!! 支持!!!  谢谢!!! 支持!!!  
回复

使用道具 举报

25#
发表于 2020-8-31 10:41:51 | 只看该作者
表示支持,还是习惯grub legacy和grub4dos的操作方式,虽然wintoflash兄弟改装的grub2已经很强大了,但总感觉习惯不了grub2那繁琐的命令。
回复

使用道具 举报

26#
发表于 2020-8-31 11:07:14 | 只看该作者
这个必须支持。 谢谢分享。
回复

使用道具 举报

27#
发表于 2020-8-31 11:15:54 | 只看该作者
支持一下,对GCC也不太了解,表示帮不上忙。

就如@Climbing 所说,我也是不太习惯grub2的语法的使用方式,所以一直都没有真正去使用GRUB2。
回复

使用道具 举报

28#
发表于 2020-9-2 21:20:13 | 只看该作者
我是看不太懂grub4dos才用的grub2
回复

使用道具 举报

29#
发表于 2020-9-2 23:08:15 | 只看该作者
我是习惯了用grub2,呵呵。
回复

使用道具 举报

30#
发表于 2020-9-3 08:06:13 来自手机 | 只看该作者
可喜可贺,终于弄出来了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 09:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表