无忧启动论坛

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

[原创] GRUB4DOS for UEFI

    [复制链接]
901#
发表于 2020-12-25 10:33:28 | 只看该作者
本帖最后由 wintoflash 于 2020-12-25 10:50 编辑
2011yaya2007777 发表于 2020-12-25 10:26
再次测试G4E外部命令。

OK了

回复

使用道具 举报

902#
发表于 2020-12-25 11:45:50 | 只看该作者
本帖最后由 2011whp 于 2021-1-11 17:58 编辑



未来map


--handle- all|svubs|ventoy
    默认 svbus
    ventoy: 写入ventoy的兼容识别的 efi变量(方便 boot.wim diy)                参数后面 跟一个 指定文件名的字符窜
           将来 也像vdf 一样,弄个 大小 iso 引导win装系统   (注 :ventoydump.exe 是开源的)
    p驱的 虚拟设备 握手,是写入,vdf内的,无需引导器配合
举例:
        --handle-svbus-ventoy  /1.iso   --img  /2.iso
       说明:2.iso 写入svbus握手  ,  1.iso  写入 ventoy握手
        适当  用  all    或   none  占位
     
     这样 即可以 块 握手 ,也可以文件名 握手
  这样的话: 外挂PE  svbus能   ventoy也能






回复

使用道具 举报

903#
发表于 2020-12-25 12:19:07 | 只看该作者
2011yaya2007777 发表于 2020-12-25 10:26
再次测试G4E外部命令。

我这也是g4e_wb OK!
回复

使用道具 举报

904#
发表于 2020-12-25 12:45:34 来自手机 | 只看该作者
2011yaya2007777 发表于 2020-12-25 10:29
你使用905楼的bootx64.efi测试一下,这次是优先从MBR活动分区查找。

        我用905楼的g4e测试了下,还是抛出boot_image_handle not found.
回复

使用道具 举报

905#
 楼主| 发表于 2020-12-25 12:53:51 来自手机 | 只看该作者
执行debug 3,截图,看看是否从fat32分区加载的。

点评

是单个NTFS分区,没有FAT32分区,加载了ntfs.efi了。奇怪的很,绕路解决的方法,还要研究下,有点复杂。  详情 回复 发表于 2020-12-25 13:17
回复

使用道具 举报

906#
发表于 2020-12-25 13:17:47 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-12-25 14:08 编辑
2011yaya2007777 发表于 2020-12-25 12:53
执行debug 3,截图,看看是否从fat32分区加载的。

        vdf是单个NTFS分区,没有FAT32分区,加载了ntfs.efi了。奇怪的很,绕路解决的方法,还要研究下,有点复杂。这是双镜像模式发生的问题。等我截个图

我似乎发现问题了,仿真磁盘vdf应该仿真到(hd2,0)了,我ls了下,里面的内容居然不是vdf的内容,而是vdf所在的磁盘(hd1,1)中的内容,似乎有问题。我不知道还需要怎样的命令来反馈问题。



单个vdf镜像单个NTFS分区,加载ntfs.efi的话,没问题。
回复

使用道具 举报

907#
 楼主| 发表于 2020-12-25 13:45:00 来自手机 | 只看该作者
2011whp:不明白你这是要启动什么。
回复

使用道具 举报

908#
发表于 2020-12-25 14:17:36 | 只看该作者
本帖最后由 2011whp 于 2020-12-28 18:02 编辑

试一下     svbusventoyPE.iso         用  --mem  
链接:https://pan.baidu.com/s/1vOHmKJ2OxV2CZcg8scjV0g
提取码:eruh
挂载出 ventoy 的 iso 用的脚 本,在PE下执行,即可发现光驱 挂载iso.rar (106.06 KB, 下载次数: 152)

参考:https://www.ventoy.net/cn/doc_compatible_pass.html

https://www.ventoy.net/cn/compatible.html


解决PE外挂: 1.  svbus   2.  ventoy兼容    3.  已有的其它办法



后期再说




回复

使用道具 举报

909#
 楼主| 发表于 2020-12-25 15:18:00 | 只看该作者
本帖最后由 2011yaya2007777 于 2020-12-25 16:42 编辑

liuzhaoyzz :
抱歉,修改后的测试版本没有上传。上传的是打了官方补丁,又修改了外部命令的版本。
稍后我再上传一个吧。


回复

使用道具 举报

910#
发表于 2020-12-25 15:20:20 | 只看该作者
写了两个实验性的外部命令。date 和 ver。
date 显示直接从 UEFI 系统表运行时服务获取的日期,ver 命令显示 UEFI 的版本。
g4eext-2020-12-25.zip (1.46 KB, 下载次数: 33)

点评

3个命令都执行ok  详情 回复 发表于 2020-12-25 15:39
回复

使用道具 举报

911#
 楼主| 发表于 2020-12-25 15:26:31 | 只看该作者
写了两个实验性的外部命令。date 和 ve r。

虚拟机测试,三个外部命令都正确。
ver 2.4

点评

那好,如果你不再改动外部命令格式的话,等下我把g4e的外部命令推送到grubutils。 chenall有没有打算搞一下外部命令的自动编译?  详情 回复 发表于 2020-12-25 15:39
回复

使用道具 举报

912#
发表于 2020-12-25 15:39:17 | 只看该作者
2011yaya2007777 发表于 2020-12-25 15:26
虚拟机测试,三个外部命令都正确。
ver 2.4

那好,如果你不再改动外部命令格式的话,等下我把g4e的外部命令推送到grubutils。
chenall有没有打算搞一下外部命令的自动编译?

点评

我是有打算把自动编译从原来的travis-ci转移到github自带的Action。 不过最近时间比较少,还没有去研究。  详情 回复 发表于 2020-12-25 17:03
回复

使用道具 举报

913#
发表于 2020-12-25 15:39:50 | 只看该作者
本帖最后由 hilsonma 于 2020-12-25 15:41 编辑
wintoflash 发表于 2020-12-25 15:20
写了两个实验性的外部命令。date 和 ver。
date 显示直接从 UEFI 系统表运行时服务获取的日期,ver 命令显 ...

3个命令都执行ok

回复

使用道具 举报

914#
 楼主| 发表于 2020-12-25 16:38:14 | 只看该作者
那好,如果你不再改动外部命令格式的话,等下我把g4e的外部命令推送到grubutils。

可以。
回复

使用道具 举报

915#
发表于 2020-12-25 17:03:47 | 只看该作者
wintoflash 发表于 2020-12-25 15:39
那好,如果你不再改动外部命令格式的话,等下我把g4e的外部命令推送到grubutils。
chenall有没有打算搞 ...

我是有打算把自动编译从原来的travis-ci转移到github自带的Action。

不过最近时间比较少,还没有去研究。
回复

使用道具 举报

916#
 楼主| 发表于 2020-12-26 08:37:42 来自手机 | 只看该作者
Unfortunatelly booting directly to UEFI grub4dos is not possible on only UEFI new MBs    这句话百度翻译后是  :不幸的是,仅在UEFI新MBs上不可能直接引导到UEFI grub4dos。这句话如何理解?

点评

他的意思是说,g4e加载vhd.lz4要比grub2快,但是新买的Macbook上面,g4e不能直接加载,必须通过grub2中转,grub2→g4e这样子,但是这样子他有8GB内存条,最大只能加载1.3GBvhd到内存,他说这快把他逼疯了,哈哈!  详情 回复 发表于 2020-12-26 14:28
假如大神不是从百度翻译身上找乐子,是否可以这样理解: 不幸的是,在(配备)只支持UEFI的新型主板(的机器)上无法直接引导UEFI grub4dos。  详情 回复 发表于 2020-12-26 09:31
回复

使用道具 举报

917#
发表于 2020-12-26 08:39:33 | 只看该作者
本帖最后由 2011whp 于 2021-1-20 17:12 编辑

yaya  关于加入  ventoy 握手    考虑的怎么样了, 这个在需求层有必要

io式 握手 用 svbus   文件名式握手 用 ventoy       用户层面  那方法就多了(手动或自动)

测试方法也简单 ,用   913层 http://wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=422652&pid=4202839&fromuid=413782

的脚本 能挂上光驱 ,就 是握手成功了


回复

使用道具 举报

918#
 楼主| 发表于 2020-12-26 09:01:59 来自手机 | 只看该作者
我的知识有限,还是不能理解,既然ventoy是个启动软件,他可以启动镜像,干嘛需要g4e?
回复

使用道具 举报

919#
发表于 2020-12-26 09:17:21 | 只看该作者
本帖最后由 2011whp 于 2020-12-26 09:58 编辑

哦,只是更灵活的 map  会有更多用(也许现在还没有发现),就专注svbus吧

有 svbus的 win安装盘  也是能 走到  选分区界面的 (99%可以安装,不想重装系统了)



map 照上面的 复杂点的话 : 可以试 只启动带boot.wim  的iso,然后 挂载 win10.iso
(属于折腾,现在  理  还不严密,svbus目前有碎片问题,ventoy估计没有吧)
(单从   握手  文件名的,方法,没必要再造一个标准)

不这样的话,PE制作者,在svbus 和 ventoy兼容  上必须全支持,或 二择一
从用户角度,似乎超范围了,因为要改造iso,着实也没人这样用。







回复

使用道具 举报

920#
发表于 2020-12-26 09:31:25 | 只看该作者
2011yaya2007777 发表于 2020-12-26 08:37
Unfortunatelly booting directly to UEFI grub4dos is not possible on only UEFI new MBs    这句话百度 ...

假如大神不是从百度翻译身上找乐子,是否可以这样理解:

不幸的是,在(配备)只支持UEFI的新型主板(的机器)上无法直接引导UEFI grub4dos。
回复

使用道具 举报

921#
 楼主| 发表于 2020-12-26 09:38:22 来自手机 | 只看该作者
明白了。哈哈哈
回复

使用道具 举报

922#
 楼主| 发表于 2020-12-26 11:54:09 | 只看该作者
liuzhaoyzz :
可以使用这个测试。

BOOTX64.rar

136.8 KB, 下载次数: 37, 下载积分: 无忧币 -2

点评

这个版本,这个版本没有推送到github吗?chenall的网站没见到啊。我想让国外的网友试下FAT32+NTFS双分区模式下,激活的FAT32分区是否能够被优先引导。如果可以的话,NTFS分区的EFI目录就不需要改名字了。  详情 回复 发表于 2020-12-28 08:25
我在外面手机回复,早点回去试试看,谢谢!  详情 回复 发表于 2020-12-26 14:29
回复

使用道具 举报

923#
发表于 2020-12-26 14:28:48 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-12-26 14:45 编辑
2011yaya2007777 发表于 2020-12-26 08:37
Unfortunatelly booting directly to UEFI grub4dos is not possible on only UEFI new MBs    这句话百度 ...


Conclusions:

The best times required to load to Ram a VHD are got using UEFI grub4dos and lz4 compression.
The second best times to load to Ram a VHD are got booting with UEFI grub2 and chainloding to grub4dos and lz4 compression.
Having 8 GB of Ram and booting with UEFI grub2 and chainloading to grub4dos, do not work for files bigger than 1.3 GB.
Unfortunatelly booting directly to UEFI grub4dos is not possible on only UEFI new MBs, so the users are forced to boot to UEFI grub2 first.
I think our very appreciated friends a1ive and yaya should try to find the cause of this issue, as this is inconceivable those VHDs boot very fine when loaded without chainloading from UEFI grub2 to UEFI grub4dos, something on the code of one of them (or maybe both) loaders is creating this issue when chainloading to the second loader.

I'm aware of the hard work (for free) of both of you, and I appreciate it a lot, but this issue is making me crazy. Sorry if my words could sound as a demand, please don't take it that way, take it as a very respectful and kindly request.

alacran

他的意思是说,g4e加载vhd.lz4要比grub2快,但是新的UEFI主板上面,g4e不能直接加载,必须通过grub2中转,grub2→g4e这样子,但是这样子中转会受到不明原因影响,导致他有8GB内存条,最大只能加载1.3GBvhd到内存,他说这快把他逼疯了,哈哈!
wintoflash大神有空还是让grub2支持下lz4吧,他的需求很强烈呀。

他的需求是,希望g4e能够直接在新的UEFI主板上面做第一引导。

点评

lz4 这种格式又不是主流,快个几秒又能怎样。限制加载速度的瓶颈是磁盘 I/O,而不是解压速度。用xz就行。 grub4dos 的 lz4 支持是有局限性的,在 linux 下用默认参数压缩的都不能解压。  详情 回复 发表于 2020-12-26 19:34
回复

使用道具 举报

924#
发表于 2020-12-26 14:29:20 来自手机 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-12-28 08:38 编辑
2011yaya2007777 发表于 2020-12-26 11:54
liuzhaoyzz :
可以使用这个测试。

我在外面手机回复,早点回去试试看,谢谢!        

哦,刚才下载927楼的版本试了下,g4e启动双镜像vdf没问题了!感谢!


回复

使用道具 举报

925#
发表于 2020-12-26 19:25:43 | 只看该作者
本帖最后由 2011whp 于 2020-12-27 09:40 编辑

find --set-root  /分区标识文件
chainloader

这个启动root分区,是正规用法吧,不见有人用。
多fat分区 ,可以这样解决

最好是依靠 fat分区启动   ,抛错后,再分别 分区激活
(依靠 ,分区 的激活,总觉得,不那么正规)(GPT的精神:就是多生态重叠,互不相见,esp只是微软的   苹果 linux生态不了解)

这样的话  没有 boot_img_handle  not  find 多少问题了吧,菜单 写准

map以后加上find   难道 停不下来

回复

使用道具 举报

926#
发表于 2020-12-26 19:34:27 | 只看该作者
liuzhaoyzz 发表于 2020-12-26 14:28
他的意思是说,g4e加载vhd.lz4要比grub2快,但是新的UEFI主板上面,g4e不能直接加载,必须通过grub2 ...

lz4 这种格式又不是主流,快个几秒又能怎样。限制加载速度的瓶颈是磁盘 I/O,而不是解压速度。用xz就行。
grub4dos 的 lz4 支持是有局限性的,在 linux 下用默认参数压缩的都不能解压。

点评

哦,原来这样啊。有空的话你给alacran回复下吧,看样子他对于grub2也是刚接触不久,很多东西不知道。 我完全忘了xz这档子事儿了,我感觉xz压缩比很高。  详情 回复 发表于 2020-12-26 20:57
回复

使用道具 举报

927#
发表于 2020-12-26 19:48:52 来自手机 | 只看该作者
一旦map 了hd之后,无法chainload其它盘上的efi
回复

使用道具 举报

928#
发表于 2020-12-26 20:09:12 | 只看该作者
本帖最后由 2011whp 于 2020-12-26 20:57 编辑

find --set-root /src/z.iso
map --mem /src/z.iso (0xff)

find
root (hd0,0)
chainloader


可以启动本机系统,意思是 find 不到虚拟盘?
定位分区,即可
我不搞 ramos  大家 试下
chainloader (hd-1,0)  有效没



回复

使用道具 举报

929#
发表于 2020-12-26 20:29:43 | 只看该作者
map /imgboot/w10boot.vhd (hd)
find --set-root /microsoft/bootx64.efi
chainloader /microsoft/bootx64.efi

我机子没有找到合适的ntfs模块,因此map之后只能启动(esp)上的bootx64.efi
但是没有成功,只提示any key continue
回复

使用道具 举报

930#
发表于 2020-12-26 20:57:35 | 只看该作者
wintoflash 发表于 2020-12-26 19:34
lz4 这种格式又不是主流,快个几秒又能怎样。限制加载速度的瓶颈是磁盘 I/O,而不是解压速度。用xz就行。 ...

哦,原来这样啊。有空的话你给alacran回复下吧,看样子他对于grub2也是刚接触不久,很多东西不知道。
我完全忘了xz这档子事儿了,我感觉xz压缩比很高。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 22:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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