无忧启动论坛

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

[原创] GRUB4DOS for UEFI

    [复制链接]
631#
发表于 2020-12-2 15:09:07 | 只看该作者
longpanda 发表于 2020-12-2 14:57
绝大多数的Linux发行版里面, UEFI 的 eltorito的镜像里面只有一个 grub的可执行程序。kernel和initrd都 ...

怪不得我研究了半天,也没发现用在哪。
回复

使用道具 举报

632#
发表于 2020-12-3 00:04:31 | 只看该作者
各位大大,有学习文档帮助学习吗
回复

使用道具 举报

633#
发表于 2020-12-3 11:00:46 | 只看该作者
很久没来,竟然发现出uefi了。大赞。作者辛苦
回复

使用道具 举报

634#
发表于 2020-12-4 00:42:48 | 只看该作者
要学习下使用了
回复

使用道具 举报

635#
发表于 2020-12-4 18:16:36 | 只看该作者
本帖最后由 wuwuzz 于 2020-12-4 18:20 编辑
2011yaya2007777 发表于 2020-11-30 05:40
太好了。可否向以前那样,截一张图,看看。那是解决了 img 的问题,iso 还没有解决?

报告G4E光盘故障

在619#,为了对付Insyde UEFI(HP G4本)下,直接MAP PE ISO失败的问题,
发展出以ventoy为中介,以“map ventoy img--->启动ventoy-->启动PE”
为流程的间接解决方法。此方法要求G4E、img等都存放在磁盘(U盘DISK方式)
上。
==============================================
现在我们用mkisofs制作出G4E引导光盘ISO。此G4E光盘存放了ventoy IMG、
嵌套存放了PE ISO,结构如下图。期望能够以G4E光盘方式启动成功后,
按上面类似流程map ventoy img并启动PE。


==============================================
G4E光盘启动成功---map ventoy img成功,但是访问ventoy EFI区出错。
提示Disk read error,导致无法启动ventoy。该故障在AMI UEFI也出现。

=================================================================
由于g4e/grub2 map同源,运用同样的方法、同样的img文件,制作grub2引导光盘,
进行对比测试,没有出现该故障。grub2环境下能够访问map出的ventoy efi分区,
进而启动ventoy.




回复

使用道具 举报

636#
 楼主| 发表于 2020-12-5 10:31:25 | 只看该作者
报告G4E光盘故障

试一试这个。

BOOTX64.rar

134.73 KB, 下载次数: 10, 下载积分: 无忧币 -2

点评

此版本可以读取ventoy EFI分区了,但是chainloader ventoy的bootx64.efi后, 不能像以前那样正常进入ventoy主画面,而是进入其grub2命令行状态了... [attachimg]469797[/attachimg] [attachimg]469798[/attac  详情 回复 发表于 2020-12-5 12:37
回复

使用道具 举报

637#
发表于 2020-12-5 12:30:04 | 只看该作者
本帖最后由 wintoflash 于 2020-12-5 12:31 编辑

@liuzhaoyzz @sunsea
修改内存盘类型为 RUNTIME SERVICES DATA 之后,reboot.pro 那边已经有人确认,SVBus 可用了。
我已经把代码推送上去了,你们可以试试。

点评

svbus在WIN10X64-UEFI上面死活安装不上去,提示“试图将驱动程序添加到存储区时遇到问题"。 好郁闷啊,BCD里面的驱动签名验证关了也不行,用yamingw制作的签名后的svbus1.1也不行。按照以前的做法,gpedit.msc 确定  详情 回复 发表于 2020-12-6 17:08
谢谢提醒,晚点试试看。  详情 回复 发表于 2020-12-5 19:54
回复

使用道具 举报

638#
发表于 2020-12-5 12:37:51 | 只看该作者

此版本可以读取ventoy EFI分区了,但是chainloader ventoy的bootx64.efi后,
不能像以前那样正常进入ventoy主画面,而是进入其grub2命令行状态了...





回复

使用道具 举报

639#
 楼主| 发表于 2020-12-5 12:46:19 来自手机 | 只看该作者
试一试   chainloader (hd2,1)

点评

结果相同,进入ventoy grub2命令行状态  详情 回复 发表于 2020-12-5 13:13
回复

使用道具 举报

640#
发表于 2020-12-5 13:13:26 | 只看该作者
2011yaya2007777 发表于 2020-12-5 12:46
试一试   chainloader (hd2,1)

结果相同,进入ventoy grub2命令行状态
回复

使用道具 举报

641#
发表于 2020-12-5 19:54:21 来自手机 | 只看该作者
wintoflash 发表于 2020-12-5 12:30
@liuzhaoyzz @sunsea
修改内存盘类型为 RUNTIME SERVICES DATA 之后,reboot.pro 那边已经有人确认,SVBu ...

        谢谢提醒,晚点试试看。
回复

使用道具 举报

642#
发表于 2020-12-6 14:13:42 | 只看该作者
弱弱地问一下,efi版应该不支持message吧
回复

使用道具 举报

643#
发表于 2020-12-6 14:39:08 | 只看该作者
本帖最后由 江南一根葱 于 2020-12-6 14:41 编辑


uefi下map --mem iso启pe,pe里使用svbus驱动后,成功认到所有的内存盘
不过软盘是什么鬼。。
哦和和,我要注入到boot.wim去。
不过目前3G以上的文件无法map --mem,所以在efi下不用iscsi的话还不能实现网启usm (是不是看上去两者没关系)
回复

使用道具 举报

644#
发表于 2020-12-6 15:31:46 | 只看该作者
uefi环境下通过ipxe好像不能成功启动bootx64.efi
不管是用
chain http://${booturl}/app/${platform}/grub4uefi.efi
或者是
imgexec http://${booturl}/app/${platform}/grub4uefi.efi
虚拟机都报固件错误,grub2(grubfmx64.efi)是可以的,
但我通过wimboot可以启动,虽说没有意义
kernel http://${booturl}/app/wimboot/wimboot gui ||
initrd -n bootmgfw.efi http://${booturl}/app/${platform}/grub4uefi.efi ||
可以成功进入命令行
回复

使用道具 举报

645#
发表于 2020-12-6 17:08:03 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-12-7 07:30 编辑
wintoflash 发表于 2020-12-5 12:30
@liuzhaoyzz @sunsea
修改内存盘类型为 RUNTIME SERVICES DATA 之后,reboot.pro 那边已经有人确认,SVBu ...

svbus在WIN10LTSB X64-UEFI上面死活安装不上去,提示“试图将驱动程序添加到存储区时遇到问题"。



好郁闷啊,BCD里面的驱动签名验证关了也不行,用yamingw制作的签名后的svbus1.1也不行。
按照以前的做法,gpedit.msc 确定——计算机配置——管理模板——系统——设备安装——设备安装限制——禁止安装未有其他策略组描述的设备(在右边),双击后设置为“未配置”或“禁用”——确定。重启了下,再安装,也还是不行,邪了门了!



哦,联系了朱玛,他制作了个带签名的,svbus顺利安装,没有上面的错误了。svbus好像必须用添加过时硬件的方法添加,否则设备管理器里面看不到。另外svbus安装成功之后,最好重启下电脑,确保驱动生效。



grub4dos-0.4.6a_for_UEFI-2020-12-05,在github下载的,参考了reboot.pro的菜单(顺便吐槽下,reboot.pro很难以连接上去!):
title WIN10X64-SVBUS (/VHD/ltsb-svbus.vhd)
find --ignore-floppies --ignore-cd --set-root /VHD/SX10090329.vhd
map --mem  /VHD/SX10090329.vhd (hd)
chainloader (hd-1)
#chainloader (hd0,0)/EFI/Microsoft/Boot/bootmgfw.efi
启动卡住了。


内存32GB,VHD13.1GB,我的vhd里面就是MBR分区,只有一个NTFS分区,我的华硕主板原生支持全部是NTFS的分区上面启动bootmgfw.efi,所以不应该是FAT32分区的问题,我电脑里面很多个VHD,都是MBR-NTFS单分区,用bootmgfw.efi启动没问题。


如果改成map --mem --top /VHD/SX10090329.vhd (hd),选择这个启动项之后没有反应,又跳回到原来的菜单,g4e是不是没有--top命令?












SVBus-朱玛.zip

41.33 KB, 下载次数: 61, 下载积分: 无忧币 -2

朱玛签名版

SVBus_V1.2_20200428.rar

66.76 KB, 下载次数: 19, 下载积分: 无忧币 -2

原版未签名!

点评

你这vhd多大,我3G大的ramos是map不了的  详情 回复 发表于 2020-12-6 20:27
回复

使用道具 举报

646#
发表于 2020-12-6 20:27:34 | 只看该作者
liuzhaoyzz 发表于 2020-12-6 17:08
svbus在WIN10LTSB X64-UEFI上面死活安装不上去,提示“试图将驱动程序添加到存储区时遇到问题"。

你这vhd多大,我3G大的ramos是map不了的
回复

使用道具 举报

647#
 楼主| 发表于 2020-12-6 20:59:29 来自手机 | 只看该作者
不支持  --top 参数。看截图,已经位于 4Gb 以上了。

点评

哦,明白了。  发表于 2020-12-7 07:32
回复

使用道具 举报

648#
发表于 2020-12-6 21:06:28 | 只看该作者
我在vmware下map --mem /xx.vhd (hd),会提示out of memory 分配 8G内存都没用
xx.vhd只有1.5G大
回复

使用道具 举报

649#
发表于 2020-12-6 21:11:14 | 只看该作者
江南一根葱 发表于 2020-12-6 21:06
我在vmware下map --mem /xx.vhd (hd),会提示out of memory 分配 8G内存都没用
xx.vhd只有1.5G大

我没看上面的讨论,瞎分析一下:

解开体积大?
G4E环境不支持大内存?
回复

使用道具 举报

650#
 楼主| 发表于 2020-12-6 21:19:42 来自手机 | 只看该作者
动态vhd,差分vhd都会增大体积。
回复

使用道具 举报

651#
 楼主| 发表于 2020-12-6 21:22:46 来自手机 | 只看该作者
再一个要看内存分布。尽管内存很大,但是碎片很多,当前最大碎片尺寸是否允许安装vhd。

点评

不应该是内存碎片化的问题,这个13GB的vhd,我在BIOS-grub4dos下面成功加载过的,证明内存至少有13GB以上的连续空间。  详情 回复 发表于 2020-12-7 07:28
回复

使用道具 举报

652#
发表于 2020-12-6 21:27:23 | 只看该作者
无碎片,固定大小vhd,只不过是vmware的uefi环境,
回复

使用道具 举报

653#
发表于 2020-12-6 21:38:19 来自手机 | 只看该作者
有没有成品的示例性的下载的??
回复

使用道具 举报

654#
发表于 2020-12-7 07:21:26 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-12-7 07:33 编辑
江南一根葱 发表于 2020-12-6 21:06
我在vmware下map --mem /xx.vhd (hd),会提示out of memory 分配 8G内存都没用
xx.vhd只有1.5G大

1、哦,上面656楼的那个截图“out of range poionter”,问题似乎无法重现了,可能是之前svbus驱动没有安装好,也可能是svbus安装之后没有重启吧。

现在的提示:13GB固定大小的VHD,提示out of memory,内存是31GB的。





2、请问下,现在的g4e是否支持动态vhd加载?我试了动态vhd之后,结果卡死。




3、
map --mem  /VHD/SX10090329.vhd (hd)
chainloader (hd-1)请问下,(hd) (hd-1)分别代表什么意思?以前都是(hd0)这样子的呀。





回复

使用道具 举报

655#
发表于 2020-12-7 07:28:18 | 只看该作者
2011yaya2007777 发表于 2020-12-6 21:22
再一个要看内存分布。尽管内存很大,但是碎片很多,当前最大碎片尺寸是否允许安装vhd。

不应该是内存碎片化的问题,这个13GB的vhd,我在BIOS-grub4dos下面成功加载过的,证明内存至少有13GB以上的连续空间。
回复

使用道具 举报

656#
发表于 2020-12-7 09:35:10 | 只看该作者
这个版本是单独支持uefi还是     BIOS uefi 都支持?
回复

使用道具 举报

657#
 楼主| 发表于 2020-12-7 09:51:06 | 只看该作者
“out of range poionter”,

这个提示不是 G4E 的,提示 out of memory 是 G4E 的。
以前 G4D 支持动态 vhd 加载,现在的 G4E 也应当支持动态vhd加载。不过发现一些问题,已经修正,你试一试。
hd 你可以简单理解为 '0x80 | 硬盘数',比如一个硬盘,当前驱动器是 0x80,则 hd 等于 0x81,也就是要新分配的驱动器号。
hd-1 当你新分配了驱动器号 0x81,这时有两个硬盘,则 hd 等于 0x82,hd-1 等于 0x82-1=0x81,也就是你刚才分配的新驱动器号。
有没有碎片,你最好确认一下  blocklist /VHD/SX10090329.vhd .


BOOTX64.rar

135.56 KB, 下载次数: 19, 下载积分: 无忧币 -2

点评

试了这个1207版本的bootx64.efi,一样提示“out of memory”.跟上面的帖子一样。 blocklist /VHD/UEFIltsb-svbus.vhd 好像是没有碎片。[attachimg]470121[/attachimg]  详情 回复 发表于 2020-12-7 12:42
是不是可以这样理解: 原分配:hd0 hd1 ……(数字形式:0x80 0x81 ……) 启用虚拟化后:hd0功能位,hd-1 … hd-7 hd0 hd1 ……(数字形式:0x80 0x81 ……) - 的内含:插入(虚拟)的意思 ( hd0 = hd-0  详情 回复 发表于 2020-12-7 11:28
白天要上班,晚上回家试试看。  详情 回复 发表于 2020-12-7 10:27
回复

使用道具 举报

658#
 楼主| 发表于 2020-12-7 09:51:48 | 只看该作者
这个版本是单独支持uefi还是     BIOS uefi 都支持?

单独支持uefi
回复

使用道具 举报

659#
发表于 2020-12-7 10:27:00 | 只看该作者
2011yaya2007777 发表于 2020-12-7 09:51
这个提示不是 G4E 的,提示 out of memory 是 G4E 的。
以前 G4D 支持动态 vhd 加载,现在的 G4E 也应当 ...

白天要上班,晚上回家试试看。
回复

使用道具 举报

660#
发表于 2020-12-7 11:28:11 | 只看该作者
本帖最后由 2011whp 于 2020-12-13 15:09 编辑
2011yaya2007777 发表于 2020-12-7 09:51
这个提示不是 G4E 的,提示 out of memory 是 G4E 的。
以前 G4D 支持动态 vhd 加载,现在的 G4E 也应当 ...

以下是讨论内容,不正确,请跳过 本层


是不是可以这样理解:

原分配:hd0  hd1 ……(数字形式:0x80 0x81 ……)

启用虚拟化后:hd0功能位,hd-1 … hd-7 hd0 hd1 ……(数字形式:0x80 0x81 ……)
- 的内含:插入(虚拟)的意思  ( hd = hd-0 )

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-30 07:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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