无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011yaya2007777
打印 上一主题 下一主题

[原创] GRUB4DOS for UEFI

    [复制链接]
481#
发表于 2020-11-22 09:08:13 | 只看该作者
2011yaya2007777 发表于 2020-11-22 09:05
在命令行先输入
debug 3
之后再测试一下

472#就是debug后信息。两种UEFI对G4E出错提示,似乎处理不同
回复

使用道具 举报

482#
发表于 2020-11-22 09:19:42 | 只看该作者
补充:
AMI UEFI机,无内置光驱。Insyde UEFI机有内置sata光驱,未放光盘。
潜意识以为新版g4e已调整光盘顺序,就没考虑这个因素。


回复

使用道具 举报

483#
 楼主| 发表于 2020-11-22 10:01:27 | 只看该作者
本帖最后由 2011yaya2007777 于 2020-11-22 10:21 编辑

wuwuzz 提供的 Insyde UEFI (HP  G4笔记本) 测试结果(472#第一张图),其中光盘路径是:

VenHw(160B07E4-2D08-3104-E407-0B16082D0431,00000000)/CDROM(0x91,0x128,0x1680)/\EFI\??????

怎么会多出一个 00000000 ?比对 GUID 时,判断不一致,滤除了?
后面的????没有显示,不知是什么,匹配不?
回复

使用道具 举报

484#
发表于 2020-11-22 10:18:09 | 只看该作者
2011yaya2007777 发表于 2020-11-22 09:03
wintoflash:
chenall 合并你的补丁后,编译出现以下问题
/mnt/.31/home/dev/grub4dos/grub-mkimage64: li ...

好,我研究一下。
我觉得用 grub-mkimage 生成最终文件只是权宜之计,还是要想办法自己写个 elf2pe 这样的程序转格式。


回复

使用道具 举报

485#
发表于 2020-11-22 10:28:18 | 只看该作者
本帖最后由 wuwuzz 于 2020-11-22 10:30 编辑
2011yaya2007777 发表于 2020-11-22 10:01
wuwuzz 提供的 Insyde UEFI (HP  G4笔记本) 测试结果(472#第一张图),其中光盘路径是:

VenHw(160B07E4 ...

后面是\EFI\BOOT\BOOTX64.EFI 。CDROM后面一长串字符与AMI UEFI环境下相同。
回复

使用道具 举报

486#
发表于 2020-11-22 12:53:37 | 只看该作者
作为最终端的使用者,我对于 Grub 4 Dos for UEFI 的要求只有一个: 能象 G4D 一样,可以方便地映射 ISO、IMG、VHD 等镜像并成功启动,最好可以直接 chainloader /bootmgr 之类引导 Windows 系统——如果能s修改一下 SVBUS 之类使它能用于 RAMOS 就更妙了。
回复

使用道具 举报

487#
发表于 2020-11-22 15:11:57 | 只看该作者
本帖最后由 wintoflash 于 2020-11-22 15:13 编辑
2011yaya2007777 发表于 2020-11-22 09:03
wintoflash:
chenall 合并你的补丁后,编译出现以下问题
/mnt/.31/home/dev/grub4dos/grub-mkimage64: li ...

少了俩空格。我又提交了一个pr。现在我这边测试release ok了
https://github.com/grub4dos/grub ... /2020-11-22-086638b
回复

使用道具 举报

488#
 楼主| 发表于 2020-11-22 16:03:29 | 只看该作者
少了俩空格。我又提交了一个pr

我这边测试 ok 了
回复

使用道具 举报

489#
发表于 2020-11-22 16:25:29 | 只看该作者
xianglang 发表于 2020-11-22 12:53
作为最终端的使用者,我对于 Grub 4 Dos for UEFI 的要求只有一个: 能象 G4D 一样,可以方便地映射 ISO、I ...

哈哈。我与兄台想法几乎相同。
回复

使用道具 举报

490#
发表于 2020-11-22 19:24:40 | 只看该作者
本帖最后由 求道者 于 2020-11-22 19:26 编辑

yaya,我滴超人!
但是能不能用grub2的mod?
文件系统支持的相当多。
重写怕不是比移植g4d的特性到grub2还难……


回复

使用道具 举报

491#
发表于 2020-11-23 12:55:40 | 只看该作者
求道者 发表于 2020-11-22 19:24
yaya,我滴超人!
但是能不能用grub2的mod?
文件系统支持的相当多。

你需要grub2的哪个功能?

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

使用道具 举报

492#
发表于 2020-11-23 13:49:50 | 只看该作者
本帖最后由 2011whp 于 2020-11-23 14:04 编辑

2020-11-19版   深度livecd实机成功     简易测试器,读initrd.img后不动了。
deepin-live-system-2.0-amd64.iso 改名 l.iso  (大小385MB)下载地址:https://www.deepin.org/zh/download/      最下面

kernel /src/vmlinuz boot=live findiso=/src/l.iso components quiet splash
initrd /src/initrd.img
小问题:
无效菜单选不中,没法编辑 (第一次 忘了 把linux 改为 kernel )

有判断 无效菜单的逻辑?


回复

使用道具 举报

493#
发表于 2020-11-23 14:05:29 | 只看该作者
2011whp 发表于 2020-11-23 13:49
2020-11-19版   深度livecd实机成功     简易测试器,读initrd.img后不动了。
deepin-live-system-2.0-amd ...

qemu测试就别说了。内存不够,就算内存够了也慢得要死。
回复

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

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

使用道具 举报

497#
发表于 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
回复

使用道具 举报

498#
发表于 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
回复

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

grub4dos本来就支持。

点评

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

使用道具 举报

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

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

使用道具 举报

503#
发表于 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
回复

使用道具 举报

504#
发表于 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
回复

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

507#
发表于 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
回复

使用道具 举报

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

使用道具 举报

509#
发表于 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
回复

使用道具 举报

510#
发表于 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
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-18 05:37

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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