无忧启动论坛

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

[原创] GRUB4DOS for UEFI

    [复制链接]
481#
发表于 2020-11-23 16:24:05 来自手机 | 只看该作者
以前的slic命令和chainloader /bootmgr需要怎么适应新g4e
回复

使用道具 举报

482#
 楼主| 发表于 2020-11-23 18:27:25 | 只看该作者
3.  bootmgfw.efi 启不了

我这里测试可以启动。在实模式下秒启。qemu 虚拟机下则几十秒才能启动,但是启动 grub2.efi 很快。
回复

使用道具 举报

483#
发表于 2020-11-23 20:22:09 | 只看该作者
grub4dos的老用户了,更新了,太好了
回复

使用道具 举报

484#
发表于 2020-11-23 21:49:06 | 只看该作者
本帖最后由 求道者 于 2020-11-24 12:01 编辑
wintoflash 发表于 2020-11-23 12:55
你需要grub2的哪个功能?

grub2的mod肯定不能直接用,这个在设计上就没有这种考虑。

btrfs hfs xfs,蛮多文件系统我都用
然后就是支持带碎片的iso启动。
最后就是在BIOS上工作的grub4dos和wee,附属组件,他们能用最新的gcc编译了吗?
clang属实对x86没优化,还是免了吧。


点评

hfs你肯定用不到。 [attachimg]469016[/attachimg] efi下无所谓碎片不碎片了。都可以直接map。 这个不现实。  详情 回复 发表于 2020-11-23 22:21
回复

使用道具 举报

485#
发表于 2020-11-23 22:21:51 | 只看该作者
求道者 发表于 2020-11-23 21:49
btrfs hfs xfs,蛮多文件系统我都用
然后就是支持带碎片的iso启动。
然后就是在BIOS上工作的grub4dos和 ...

hfs你肯定用不到。

然后就是支持带碎片的iso启动。

efi下无所谓碎片不碎片了。都可以直接map。
然后就是在BIOS上工作的grub4dos和wee,附属组件,他们能用最新的gcc编译了吗?

这个不现实。

点评

不是说gcc5开始对汇编是有所改动的,但并没有把支持扬了啊,起码grub2是能编译。  详情 回复 发表于 2020-11-24 12:08
hfs用得到的,实际上hfs模组支持hfs和hfs+。 我有时候需要整hfs,虽然少。 但就算只有btrfs的移植几乎是天量的工作量了吧  详情 回复 发表于 2020-11-24 11:58
回复

使用道具 举报

486#
发表于 2020-11-23 22:23:30 | 只看该作者
@yaya:
i386版本好像没法编译,报错。
char_io.c:444:18: error: ‘dataptr’ undeclared (first use in this function)
           lo = *(dataptr++);
                  ^
回复

使用道具 举报

487#
发表于 2020-11-24 04:57:11 来自手机 | 只看该作者
令人振奋的好消息,强烈关注。
回复

使用道具 举报

488#
 楼主| 发表于 2020-11-24 08:34:05 | 只看该作者
然后就是支持带碎片的iso启动。

grub4dos本来就支持。

点评

manjaro的镜像无法启动…  详情 回复 发表于 2020-11-24 11:57
回复

使用道具 举报

489#
 楼主| 发表于 2020-11-24 08:35:23 | 只看该作者
i386版本好像没法编译,报错。

i386还没有顾上修改。这几天看看。
回复

使用道具 举报

490#
发表于 2020-11-24 11:57:10 来自手机 | 只看该作者
本帖最后由 求道者 于 2020-11-24 12:37 编辑
2011yaya2007777 发表于 2020-11-24 08:34
grub4dos本来就支持。

BIOS版启动manjaro镜像,报错碎片过多。然后今天我更新了镜像版本,就没报错了。
估计是生产镜像时整理了碎片吧。
在uefi下用grub2引导倒是没点事。

点评

bios下有碎片数限制,好像是最多32个  详情 回复 发表于 2020-11-24 13:14
回复

使用道具 举报

491#
发表于 2020-11-24 11:58:49 来自手机 | 只看该作者
本帖最后由 求道者 于 2020-11-24 12:01 编辑
wintoflash 发表于 2020-11-23 22:21
hfs你肯定用不到。




hfs用得到的,实际上hfs模组支持hfs和hfs+。
我有时候需要整hfs,虽然少。
主要反而是查看文件。
但就算只有btrfs的移植几乎是天量的工作量了吧

点评

grub2 下 hfs 和 hfsplus 是分开的。 现在新版 macOS 都默认用 APFS 了吧,移植 hfsplus 的意义不大。 btrfs 太复杂,grub2 下的 btrfs 性能好像也不太行。  详情 回复 发表于 2020-11-24 18:23
回复

使用道具 举报

492#
发表于 2020-11-24 12:08:39 | 只看该作者
wintoflash 发表于 2020-11-23 22:21
hfs你肯定用不到。
这个不现实。

不是说gcc5开始对汇编是有所改动的,但并没有把支持扬了啊,起码grub2是能编译。
回复

使用道具 举报

493#
发表于 2020-11-24 13:14:12 | 只看该作者
求道者 发表于 2020-11-24 11:57
BIOS版启动manjaro镜像,报错碎片过多。然后今天我更新了镜像版本,就没报错了。
估计是生产镜像时整理 ...

bios下有碎片数限制,好像是最多32个
回复

使用道具 举报

494#
发表于 2020-11-24 15:42:26 | 只看该作者
2011yaya2007777 发表于 2020-11-22 10:01
wuwuzz 提供的 Insyde UEFI (HP  G4笔记本) 测试结果(472#第一张图),其中光盘路径是:

VenHw(160B07E4 ...

考虑到G4E map和grub2 map同源,又回溯追查了grub2 map的情况,以获取更多的提示信息。

1.在AMI UEFI下grub2 map启动成功,在Insyde UEFI下失败。grub2 map的设备路径里也有[0:]。






2.grub2早期版本设备路径里没有[0:],在后期版本出现。在2019年测试过程中,已经暴露了
Insyde UEFI下失败情形,但由于当时注意力集中在多光驱排序,还没关注到有没有其他因素
影响。(当时的内容在http://bbs.wuyou.net/forum.php?m ... page%3D1&page=6)







现在看来Insyde UEFI本身可能存在问题。

点评

跟"[0:]"没什么关系。我觉得主要还是Eltorito软盘镜像的问题。 CD(1,12b,5a0) 是grub2通过解析ISO文件数据得到的软盘镜像位置和大小。 这个在 AMI UEFI 上和 UEFI 自己算出来的一样,被认定为有效。 但是在 Insyd  详情 回复 发表于 2020-11-24 18:12
回复

使用道具 举报

495#
 楼主| 发表于 2020-11-24 17:32:10 来自手机 | 只看该作者
分析得挺好。
回复

使用道具 举报

496#
发表于 2020-11-24 18:12:16 | 只看该作者
wuwuzz 发表于 2020-11-24 15:42
考虑到G4E map和grub2 map同源,又回溯追查了grub2 map的情况,以获取更多的提示信息。

1.在AMI UEFI下 ...

跟"[0:]"没什么关系。我觉得主要还是Eltorito软盘镜像的问题。
CD(1,12b,5a0) 是grub2通过解析ISO文件数据得到的软盘镜像位置和大小。
这个在 AMI UEFI 上和 UEFI 自己算出来的一样,被认定为有效。
但是在 Insyde UEFI 上,UEFI 算出来的是 CD(1,12b,75245) ,不认可 CD(1,12b,5a0)。
你用7-ZIP或者其他软件,把软盘镜像从ISO里面提取出来,看看软盘镜像的大小是多少?

点评

ISO就是本坛这个帖子中的win10PE V17763 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=414556 (WinPE10 x64、x86 17763 [分享] 【经典 P10】Win10PEx64、x86,含常规工具+制作个性(PE)工具,网络、BIOS  详情 回复 发表于 2020-11-24 18:56
回复

使用道具 举报

497#
发表于 2020-11-24 18:23:46 | 只看该作者
求道者 发表于 2020-11-24 11:58
hfs用得到的,实际上hfs模组支持hfs和hfs+。
我有时候需要整hfs,虽然少。
主要反而是查看文件。

grub2 下 hfs 和 hfsplus 是分开的。
现在新版 macOS 都默认用 APFS 了吧,移植 hfsplus 的意义不大。
btrfs 太复杂,grub2 下的 btrfs 性能好像也不太行。

点评

有时候你就是要引导起来硬盘里的系统然后再修复引导…… 不支持就挺麻烦的…… 所以就很烦 我不太想自己去修正ISO  详情 回复 发表于 2020-11-24 20:29
回复

使用道具 举报

498#
发表于 2020-11-24 18:56:19 | 只看该作者
wintoflash 发表于 2020-11-24 18:12
跟"[0:]"没什么关系。我觉得主要还是Eltorito软盘镜像的问题。
CD(1,12b,5a0) 是grub2通过解析ISO文件数 ...


ISO就是本坛这个帖子中的win10PE V17763
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=414556
(WinPE10 x64、x86 17763 [分享] 【经典 P10】Win10PEx64、x86,含常规工具+制作个性(PE)工具,网络、BIOS+EFI 双启)  


里面有个efisys.bin镜像,大小为2880KB。镜像里的bootx64.efi大小为1323KB。


Efisysbin.7z (999.08 KB, 下载次数: 8)

点评

2880*1024/2048 = 1440 = 0x5a0 所以 CD(1,12b,5a0) 是正确的,Insyde UEFI 确实有毛病。 但是,一个img,后面加上一堆无用数据,也是应该能正常启动的。 我怀疑是 GCC 把代码优化错了。  详情 回复 发表于 2020-11-24 19:00
回复

使用道具 举报

499#
发表于 2020-11-24 19:00:45 | 只看该作者
wuwuzz 发表于 2020-11-24 18:56
ISO就是本坛这个帖子中的win10PE V17763
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=414556
...

2880*1024/2048 = 1440 = 0x5a0
所以 CD(1,12b,5a0) 是正确的,Insyde UEFI 确实有毛病。
但是,一个img,后面加上一堆无用数据,也是应该能正常启动的。
我怀疑是 GCC 把代码优化错了。

点评

可能还是Insyde UEFI的问题居多。 GCC编译我用的不多,不太了解。  详情 回复 发表于 2020-11-24 19:10
回复

使用道具 举报

500#
发表于 2020-11-24 19:10:55 | 只看该作者
wintoflash 发表于 2020-11-24 19:00
2880*1024/2048 = 1440 = 0x5a0
所以 CD(1,12b,5a0) 是正确的,Insyde UEFI 确实有毛病。
但是,一个im ...

可能还是Insyde UEFI的问题居多。
GCC编译我用的不多,不太了解。

点评

在这个帖子下讨论grub2好像不太合适。我到grub2的帖子里面给你发个测试版本。  详情 回复 发表于 2020-11-24 19:31
回复

使用道具 举报

501#
发表于 2020-11-24 19:31:28 | 只看该作者
wuwuzz 发表于 2020-11-24 19:10
可能还是Insyde UEFI的问题居多。
GCC编译我用的不多,不太了解。

在这个帖子下讨论grub2好像不太合适。我到grub2的帖子里面给你发个测试版本。

点评

好的,谢谢您的关注。 我现在在办公室,Insyde UEFI机在宿舍,我这就赶回去。 请等一会。  详情 回复 发表于 2020-11-24 19:35
回复

使用道具 举报

502#
发表于 2020-11-24 19:35:04 | 只看该作者
wintoflash 发表于 2020-11-24 19:31
在这个帖子下讨论grub2好像不太合适。我到grub2的帖子里面给你发个测试版本。

好的,谢谢您的关注。

我现在在办公室,Insyde UEFI机在宿舍,我这就赶回去。

请等一会。
回复

使用道具 举报

503#
发表于 2020-11-24 20:29:48 | 只看该作者
wintoflash 发表于 2020-11-24 18:23
grub2 下 hfs 和 hfsplus 是分开的。
现在新版 macOS 都默认用 APFS 了吧,移植 hfsplus 的意义不大。
...

有时候你就是要引导起来硬盘里的系统然后再修复引导……
不支持就挺麻烦的……
bios下有碎片数限制,好像是最多32个

所以就很烦
我不太想自己去修正ISO
回复

使用道具 举报

504#
发表于 2020-11-25 14:56:50 | 只看该作者
谢谢分享   学习一下!
回复

使用道具 举报

505#
发表于 2020-11-25 17:35:05 | 只看该作者
G4E 引导同一 EFI 分区里的 BOOTMGFW.EFI 仍然失败,放到识别为软驱格式的 4GB 的 U 盘中用它启动,黑屏(似乎是 G4E 不再支持软盘和光盘上启动了?)

有时候要维护老机,只能用软盘格式的 U 盘才能启动,其他除了 USB 光驱模式就不行。

点评

Ud 啊,经典的,为嘛不用  发表于 2020-11-25 20:02
回复

使用道具 举报

506#
发表于 2020-11-25 18:43:52 | 只看该作者
前排支持!
回复

使用道具 举报

507#
 楼主| 发表于 2020-11-25 21:21:30 来自手机 | 只看该作者
不是默认菜单,只是示例。热键只是为了说明这个功能如何使用。菜单设置有很多功能,非常丰富。当然对界面无所求的话,可以不设置。分辨率可以自行设置,修改。1024不是任何屏幕都支持的尺寸。可以不设置图形模式,直接在控制台模式模式工作。
回复

使用道具 举报

508#
 楼主| 发表于 2020-11-26 09:21:55 | 只看该作者
i386版本好像没法编译,报错。

我已经把 i386 及 x86_64 源代码合并了,上传官网。
根目录下有一个 build 及 build-i386,stage2 目录下有一个 Makefile.in 及 Makefile.in-i386,shared.h 文件里有一个编译开关 #define i386 0            //系统类型  0: x86_64;  1: i386。

编译 i386 需要手工处理,转换开关,重命名文件,不太方便。如何修改,你比我有经验。

另外,坛友反馈不能启动 bootmgfw.efi。
我这里实机测试,1129kb 那个可以启动,1522kb 那个不能启动。执行
    status = efi_call_3 (b->start_image, image_handle, 0, NULL);
后返回状态码 0x8000000000000011,没有映像?

点评

我没有看到 build-i386 文件啊。 https://github.com/chenall/grub4dos/tree/efi 1522kb的在哪下载的?是不是从非 FAT 分区启动了?  详情 回复 发表于 2020-11-27 10:02
回复

使用道具 举报

509#
发表于 2020-11-26 11:51:07 | 只看该作者
本帖最后由 2011whp 于 2020-11-26 12:11 编辑

g4e 控制台模式时,依赖的是bios  内的中文字体吧,

命令行  启动本机系统:
   一、   chainloader  (hd0)  可以启动

   二、 但 不能浏览esp分区,也就没法 精确分区启动
         ls  (hd0,0)/       时 不显示内容 (注:(hd0,0)是本机的gpt磁盘esp分区           )

状态码 0x8000000000000011,没有映像,看着像是gpt磁盘分区属性
倒数位标识:(那个倒数 第4位 置 1  ,不明白什么意思)
     0 系统分区(磁盘分区工具必须将此分区保持原样,不得做任何修改)
     1  EFI隐藏分区(EFI不可见分区)
     2  传统的BIOS的可引导分区标志
    60    只读
    62    隐藏
    63    不自动挂载,也就是不自动分配盘
        

Windows下通常采用以下分区类型和分区属性组合:

普通数据分区——EBD0A0A2-B9E5-4433-87C0-68B6B72699C7——0x0000000000000000
OEM分区——无特定GUID值,OEM决定——0x8000000000000001
WinRE分区——DE94BBA4-06D1-4D40-A16A-BFD50179D6AC——0x8000000000000001
EFI系统分区——C12A7328-F81F-11D2-BA4B-00A0C93EC93B——0x8000000000000001
MSR保留分区——E3C9E316-0B5C-4DB8-817D-F92DF00215AE——0x8000000000000000
恢复/备份分区——DE94BBA4-06D1-4D40-A16A-BFD50179D6AC——0x8000000000000001


感觉:g4e,像是一切从 uefibios起 开发(也算是shell风格吧,grub2.05 平台风格)
回复

使用道具 举报

510#
发表于 2020-11-26 11:59:23 | 只看该作者
强烈支持,新手无法测试,ε=(′ο`*)))唉
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 16:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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