无忧启动论坛

标题: GRUB4EFI(32位) [打印本页]

作者: 2011yaya2007777    时间: 2020-8-27 14:51
标题: GRUB4EFI(32位)
本帖最后由 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


作者: liuzhaoyzz    时间: 2020-8-27 15:14
本帖最后由 liuzhaoyzz 于 2020-8-27 15:16 编辑

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


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

作者: 不才    时间: 2020-8-27 15:34
这个必须支持!
谢谢2011yaya2007777兄!期待更上一层楼。
作者: 2011ohte    时间: 2020-8-27 15:41
好消息,期待X64
作者: 冰冰虫    时间: 2020-8-27 15:45
最近学习linux,想多了解其引导方式,刚接触了grub、grub4dos、grub2等,还没有弄明白。

期待大神早日完成,最好做成可以图形界面配置的软件。
作者: caocaofff    时间: 2020-8-27 16:29
liuzhaoyzz 发表于 2020-8-27 15:14
现在的UEFI固件都是64位的啊,期待grub_x64.efi出来测试。
grub4dos上手很难,但是习惯了grub4dos ...

感觉没必要,不如直接去加载grubfm
作者: caocaofff    时间: 2020-8-27 16:31
好像没有说明配置文件的默认路径,现在Grub4EFI应该没有内置菜单的说法了吧?
作者: 2011yaya2007777    时间: 2020-8-27 16:38
好像没有说明配置文件的默认路径,现在Grub4EFI应该没有内置菜单的说法了吧?

不支持内置菜单
作者: sairen139    时间: 2020-8-27 16:51
yaya老师真是厉害!
作者: 窄口牛    时间: 2020-8-27 17:35
多一种选择没什么不好,期待完善。
作者: caocaofff    时间: 2020-8-27 18:33
本帖最后由 caocaofff 于 2020-8-27 18:37 编辑

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

作者: 2011yaya2007777    时间: 2020-8-27 18:45
我在VM虚拟机下测试,将文件名改成bootia32.efi丢到efi/boot目录,然后启动时,虚拟机报错了

具体错误是什么
作者: caocaofff    时间: 2020-8-27 18:54
2011yaya2007777 发表于 2020-8-27 18:45
具体错误是什么

没看到具体报错,从设备启动后虚拟机直接弹框了
作者: 不点    时间: 2020-8-27 19:04
来晚了,才看到。

帮不上忙,只说一句:

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

作者: 2011yaya2007777    时间: 2020-8-27 19:39
来晚了,才看到。

谢谢
作者: 江南一根葱    时间: 2020-8-27 20:08
网启支持proxydhcp不
作者: caocaofff    时间: 2020-8-27 20:16
强烈建议楼主提供一个可测试的ISO镜像,而不是一个光秃秃的efi文件
作者: 2011yaya2007777    时间: 2020-8-27 20:18
通过ipxe加载grub4efi后,只能通过tftp通讯,不知怎样与ipxe联络,没有找到接口。
作者: caocaofff    时间: 2020-8-27 20:29
2011yaya2007777 发表于 2020-8-27 20:18
通过ipxe加载grub4efi后,只能通过tftp通讯,不知怎样与ipxe联络,没有找到接口。

ipxe自有一套启动流程,可以不走grub4efi
作者: 2012andyle113    时间: 2020-8-27 20:37
感谢分享,真搞出这种东西来了,可惜反而是32位的先出来了
作者: 红毛樱木    时间: 2020-8-27 21:33
666666666666666壮举
作者: qingdao33122    时间: 2020-8-27 21:56
强烈支持。可惜目前是32位的,没办法帮着测试
作者: symwww    时间: 2020-8-30 18:04
好消息,期待X64
作者: 蓝星明月    时间: 2020-8-30 20:40
谢谢!!! 支持!!!    谢谢!!! 支持!!!  谢谢!!! 支持!!!  谢谢!!! 支持!!!  
作者: Climbing    时间: 2020-8-31 10:41
表示支持,还是习惯grub legacy和grub4dos的操作方式,虽然wintoflash兄弟改装的grub2已经很强大了,但总感觉习惯不了grub2那繁琐的命令。
作者: james168    时间: 2020-8-31 11:07
这个必须支持。 谢谢分享。
作者: chenall    时间: 2020-8-31 11:15
支持一下,对GCC也不太了解,表示帮不上忙。

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

作者: 江南一根葱    时间: 2020-9-2 21:20
我是看不太懂grub4dos才用的grub2
作者: 青青草    时间: 2020-9-2 23:08
我是习惯了用grub2,呵呵。
作者: nttwqz    时间: 2020-9-3 08:06
可喜可贺,终于弄出来了
作者: keygen    时间: 2020-9-6 14:38
看来很快不用学grub2
作者: ddsony    时间: 2020-9-7 13:13
这个grub4efi准备支持secure boot 吗?
作者: 红毛樱木    时间: 2020-9-7 16:17
ddsony 发表于 2020-9-7 13:13
这个grub4efi准备支持secure boot 吗?

这个微软说了算,要去买微软的签名,可能性几乎为零,因为grldr太过于开放
作者: 879792799    时间: 2020-9-15 05:23
哇!!人才 人才  原来兄台这么厉害啊!!!
作者: 假大空    时间: 2020-9-15 10:15
支持,grub4efi延续良好兼容的特性
作者: pcfan120    时间: 2020-9-15 10:46
强烈支持。可惜是32位的,没环境测试,希望有32平板的网友多测试反馈
作者: moon147369    时间: 2020-10-30 18:21
权限不足,不让下载。
作者: astonlew    时间: 2020-11-5 14:07
可喜可贺,终于弄出来了

作者: 2011lanwenbin    时间: 2020-12-6 21:11
很给力!厉害了!
作者: lusir401    时间: 2020-12-16 21:36
好像赶上末班车的感觉
作者: leezee    时间: 2021-1-1 10:45
可以用这32位uefi启动64位windows efi么?
作者: hilsonma    时间: 2021-1-1 13:27
leezee 发表于 2021-1-1 10:45
可以用这32位uefi启动64位windows efi么?

一般来说,32位uefi启动仅适合用在32位cpu架构的设备上,引导32位的操作系统。
目前没有听说有例外,也没听说有人去研究搞例外。
作者: 547392649    时间: 2021-8-17 17:46
可以看看再说。
作者: leitian72853    时间: 2022-4-26 21:58
可喜可喜
作者: hilsonma    时间: 2022-4-27 02:08
此贴已成历史。
最新发布请参见http://bbs.wuyou.net/forum.php?mod=viewthread&tid=422652 (包含64位/32位)




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3