wintoflash 发表于 2020-11-20 10:49:54

hilsonma 发表于 2020-11-20 10:30
是这个porteus版本的问题,换了grub2引导也是一样的。

我试了另一个porteus版本,这个版本可以用grub2 ...

因为g4e上用的是 EFI handover protocol,相当于 grub2下的 linuxefi 和 initrdefi 命令。
对于没开启 EFI stub 或者非 64 位 linux 是不支持的。
主流的 linux (比如 Ubuntu, Fedora) 都支持,你可以试一下。你用的 "另一个porteus版本" 应该是我几年前做的。当时 UEFI 还没那么普遍。



hilsonma 发表于 2020-11-20 10:59:43

wintoflash 发表于 2020-11-20 10:49
因为g4e上用的是 EFI handover protocol,相当于 grub2下的 linuxefi 和 initrdefi 命令。
对于没开启 E ...

刚才又重新检查了一次,发现是我没有按要求先提取porteus文件夹,只提取了 vmlinuz 和initrd.xz 两个文件,所以启动失败。

再次按照你441楼的操作,启动成功了。

不过还是你之前做那个版本方便,进去就能用,现在提取这个版本进去想用浏览器都用不了,还要输密码之类的,可能是我不懂使用吧。(题外话,与引导无关,不用回复了。)

2011yaya2007777 发表于 2020-11-20 11:02:29

内存不足了。
那就不用管他了。内存300Mb,肯定启不来,不过原始镜像好像多运行了一点,屏幕改变了分辨率,该转圈圈了。

wtping 发表于 2020-11-20 18:36:53

严重支持

wuwuzz 发表于 2020-11-20 22:58:15


g4e似乎不支持USB-FDD(1.44M软盘)、USB-ZIP(250M大软盘,FAT32/可移动)。

这2种设备,如果装的是MS的bootx64.efi,则可以正常进入shell命令行状态。
如果装的是g4e的bootx64.efi,则:

1、USB-FDD启动,黑屏无反应;
2、USB-ZIP启动,则直接进入g4e命令行状态(似乎是不能正常挂载分区所致?)





2011yaya2007777 发表于 2020-11-21 07:35:04

这两种设备,在UEFI环境里,还有什么实际的意义?我不知道。

wuwuzz 发表于 2020-11-21 08:48:40

2011yaya2007777 发表于 2020-11-21 07:35
这两种设备,在UEFI环境里,还有什么实际的意义?我不知道。

跳转测试需要。

除了要测试各种USB设备类型这个兼容性考虑之外,有这种实际情形:

在一个U盘上实现了CD+HDD+ZIP+FDD各种设备类型共存之后,那么,如果menu.lst存放在fdd/zip上,而要启动存放在HDD上体积庞大的PE、LINUX时,需要fdd/zip本身的g4e能正常运行……

2011whp 发表于 2020-11-21 09:42:55



bios内已选择性地有了文件系统,(uefi主导多分区)
mbr 有接班格式 gpt

win10 1703 认可U盘 多分区,U盘128G主流

ZIP+FDD对efi 是技术死区。

wuwuzz 发表于 2020-11-21 10:53:44

本帖最后由 wuwuzz 于 2020-11-21 10:56 编辑

AMI系UEFI内部保留了USB-FDD、USB-KEY(ZIP的后裔,见下面解释)支持;
Phonenix系、Insyde系UEFI怎样不清楚,因为没有源代码流出。

我能掌握的最后确切信息是:
Phoenix BIOS流出的源代码保留了USB-FDD、USB-ZIP支持。
尤其是其代码注释中对ZIP的释义有很大参考价值。

原始的Iomage ZIP早就死了,但其理念却保留了下来,严重影响
着 BIOS(UEFI)的设计思路。说白了,就是类似于G4D中map fd的方法,
ZIP可以切换,成为固定盘设备(HD)或者移动盘设备(fd)。

在UEFI引导菜单中频繁出现的USB-KEY设备(从字面理解就是U盘),
实质(支持代码)在AMI环境中,应该就是ZIP切成fd设备的延续。
而对于Phoenix环境,则另有其特定算法。




wfkuku 发表于 2020-11-21 15:41:51


感谢分享

wuwuzz 发表于 2020-11-21 17:23:27

本帖最后由 wuwuzz 于 2020-11-21 17:27 编辑

“2011whp内部 子方案有吧,比如 光盘还挂个img ,也变味了,借鉴 架构理念。 biso整体方案,应该是不提倡了。”

----与想象中的BIOS-UEFI巨大差异不同,
实际上UEFI内部USB启动算法没有大变,例如AMI UEFI,归根结底,其实
就是 BIOS中的汇编代码用C又重新实现了一遍,重合度很高。

wuwuzz 发表于 2020-11-21 22:34:39

同一U盘,同一Win10 PE ISO,

在AMI UEFI   (海尔S4笔记本),MAP、chainloader后启动成功;
在Insyde UEFI (HPG4笔记本),   MAP、chainloader后出错boot image handle not found。

原因不明。





xban 发表于 2020-11-21 23:04:54

谢谢分享

2011whp 发表于 2020-11-22 02:58:29

测试2020-11-18版:
   1. 技加B75主板有 setmenu --hotkey -A commandline这句不能启动。虚拟机,365主板可以。
   2. 可以启动shellx64.efi   ,
   3.bootmgfw.efi 启不了,绕到shellx64下可以启动。

回复 wuwuzz深入bios内部分析了,g4e是外部引导器,我是 用户 不懂这方面开发

从软件工程角度分析
一、需求分析
      g4e 目的是引导,功能界面 依托g4d,参考efi的导向(不清楚UEFI 是否支持软盘外设。只知efi接口是 在外设找fat分区下的一个文件)
      从这个层面:不想考虑 usb软盘了(现实中 没有不支持分区的U盘了吧!除非专门量产)
二、功能设计
      g4e 这个基本在 设计者心中(怎么结合环境图灵 那些功能模块)
三、代码实现
      这个层 不懂。应该是 汇编、c 、efi字节码都可用吧,与legacy有重合度。
      用楼主的话说:重新捊了一遍。
      这个层面bios内部有软盘的相关代码的,比如iso引导是一个软盘镜像,在efishell能浏览的,这是bios内部实现的。
      你的想法是 想让g4e 开放出来支持软盘img或设备。觉得没必要,就让它在内部起个光盘引导作用吧。
       起跳转的功能性img,用HDD(估计开放 fdd也不难,又要涉及chs混乱)

it界 问题:功能要标准定义,通讯要协议定义,

2011yaya2007777 发表于 2020-11-22 09:03:33

wintoflash:
chenall 合并你的补丁后,编译出现以下问题
/mnt/.31/home/dev/grub4dos/grub-mkimage64: line 1: syntax error: unexpected word (expecting ")")

if [ $platform='x86_64' ]
then
    $SOURCE_DIR/grub-mkimage64 -d $GRUB4DOS_TEMP -p /GRUB2 -o BOOTX64.EFI -O x86_64-efi
else
    $SOURCE_DIR/grub-mkimage -d $GRUB4DOS_TEMP -p /GRUB2 -o BOOTX64.EFI -O x86_64-efi
fi

wuwuzz 发表于 2020-11-22 09:03:35

wuwuzz 发表于 2020-11-21 22:34
同一U盘,同一Win10 PE ISO,

在AMI UEFI   (海尔S4笔记本),MAP、chainloader后启动成功;


补充Debug信息,两种UEFI似乎对G4E处理不同。





2011yaya2007777 发表于 2020-11-22 09:05:11

在Insyde UEFI (HPG4笔记本),   MAP、chainloader后出错boot image handle not found。
在命令行先输入
debug 3
之后再测试一下

wuwuzz 发表于 2020-11-22 09:08:13

2011yaya2007777 发表于 2020-11-22 09:05
在命令行先输入
debug 3
之后再测试一下

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

wuwuzz 发表于 2020-11-22 09:19:42

补充:
AMI UEFI机,无内置光驱。Insyde UEFI机有内置sata光驱,未放光盘。
潜意识以为新版g4e已调整光盘顺序,就没考虑这个因素。


2011yaya2007777 发表于 2020-11-22 10:01:27

本帖最后由 2011yaya2007777 于 2020-11-22 10:21 编辑

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

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

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

wintoflash 发表于 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 这样的程序转格式。


wuwuzz 发表于 2020-11-22 10:28:18

本帖最后由 wuwuzz 于 2020-11-22 10:30 编辑

2011yaya2007777 发表于 2020-11-22 10:01
wuwuzz 提供的 Insyde UEFI (HPG4笔记本) 测试结果(472#第一张图),其中光盘路径是:

VenHw(160B07E4 ...
后面是\EFI\BOOT\BOOTX64.EFI 。CDROM后面一长串字符与AMI UEFI环境下相同。

xianglang 发表于 2020-11-22 12:53:37

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

wintoflash 发表于 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/grub4dos/releases/tag/2020-11-22-086638b

2011yaya2007777 发表于 2020-11-22 16:03:29

少了俩空格。我又提交了一个pr
我这边测试 ok 了

blank007 发表于 2020-11-22 16:25:29

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

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

求道者 发表于 2020-11-22 19:24:40

本帖最后由 求道者 于 2020-11-22 19:26 编辑

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


wintoflash 发表于 2020-11-23 12:55:40

求道者 发表于 2020-11-22 19:24
yaya,我滴超人!
但是能不能用grub2的mod?
文件系统支持的相当多。


你需要grub2的哪个功能?

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

2011whp 发表于 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 )

有判断 无效菜单的逻辑?


wintoflash 发表于 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测试就别说了。内存不够,就算内存够了也慢得要死。
页: 6 7 8 9 10 11 12 13 14 15 [16] 17 18 19 20 21 22 23 24 25
查看完整版本: GRUB4DOS for UEFI