2011yaya2007777
发表于 2020-10-29 15:12:24
\bootx64.efi
如何加载引导PXE启动菜单
常规的 menu.lst。
现在版本不支持内置菜单。
2011yaya2007777
发表于 2020-10-29 15:29:45
据我所知,__attribute__((ms_abi)) 只支持 GCC4.7及以上版本,是用汇编解决的吗?
我使用的是 GCC4.8 版本。我就是把你贴的代码复制到头文件。
没有这段头文件,其他函数不影响,就是影响 block_io_protocol_t blockio_template。他传入的参数是 32 位的,且参数不对位。
另外 yaya 准备什么时候上传代码?
这个还请 chenall 定夺,是新开一个分支,还是怎样。这些我都不会。
目前一套代码怎样编译为 32 位或 64 位,我也不擅长,比较懵懂。
sunlenghua
发表于 2020-10-29 15:31:04
好像很了不起的样子,先下载,再学习研究
wintoflash
发表于 2020-10-29 15:40:58
本帖最后由 wintoflash 于 2020-10-29 15:42 编辑
我觉得--unmap功能还是要加上的。如果map了winpe的ISO,微软的bootmgfw.efi启动光盘上的文件时,直接找的是第一个光盘。如果机器本来就有光盘(比如usb量产的光盘),那就出问题了。
对于交换磁盘的功能,我目前还没有想好怎么弄,但是似乎是有这个需求的。
另外是否支持启动linux?如果支持,是通过传统方式启动,还是通过efi handover protocol?
xiaoy
发表于 2020-10-29 15:44:57
非常好!支持uefi了!
2011yaya2007777
发表于 2020-10-29 15:45:36
另外,我觉得--unmap功能还是要加上的。如果map了winpe的ISO,微软的bootmgfw.efi启动光盘上的文件时,直接找的是第一个光盘。如果机器本来就有光盘(比如usb量产的光盘),那就出问题了。
这个我再看一看怎么卸载。
map了winpe的ISO,干了什么,肯定是干了什么,要不就不映射了。也就是没有启动前,使用他做了某些事情,然后卸载,去启动量产的光盘?
wintoflash
发表于 2020-10-29 15:46:33
2011yaya2007777 发表于 2020-10-29 15:45
这个我再看一看怎么卸载。
map了winpe的ISO,干了什么,肯定是干了什么,要不就不映射了。也就是没有启 ...
要在map之前,卸载量产的光驱
红毛樱木
发表于 2020-10-29 17:36:55
6666666666666666666666666666
2011yaya2007777
发表于 2020-10-29 17:41:07
那这个量产的光驱不是由map映射的,原先的grub4dos也不能卸载呀。
进士小站
发表于 2020-10-29 18:00:09
希望能用好用
不点
发表于 2020-10-29 18:21:36
wintoflash,能否把这个消息贴到 reboot.pro 或者别的外网去?
我今天一整天都访问不了 reboot.pro 了。最近没去逛过,不知道是啥情况,是被 DDOS 了?还是死掉了?或者是 Wall 的原因?不清楚。
2011yaya2007777
发表于 2020-10-29 18:24:31
本帖最后由 2011yaya2007777 于 2020-10-29 18:32 编辑
ventoy的做法是交换磁盘,可能更合理一些。
我使用的比较少,理解交换磁盘是为了从 0x80 或者说是出 (hd0) 启动。但是在 UEFI 环境,没有这个限制,
所以我觉得好像没有必要。是否还有其他用途?
这个确实查不到相关资料,但是我这样写的,经实践确实可以。这些代码很有参考价值,谢谢。
9001
发表于 2020-10-29 18:27:29
这个帖子顿时让无忧老潜水员们高潮了
不才
发表于 2020-10-29 18:32:45
终于等到你!值得纪念的一天。谢谢yaya兄!
wintoflash
发表于 2020-10-29 18:35:04
不点 发表于 2020-10-29 18:21
wintoflash,能否把这个消息贴到 reboot.pro 或者别的外网去?
我今天一整天都访问不了 reboot.pro 了。 ...
我已经通知easy2boot的开发者了。
因为他没法下载无忧论坛上的东西,所以我传到了谷歌网盘。
希望chenall能快点上线,给yaya弄个新分支或者其他的什么方法,这样可以方便所有人。
2010sya
发表于 2020-10-29 18:36:40
围观、纪念。。。
my9823
发表于 2020-10-29 18:37:04
支持新作品,用的人越多,完善的越快!
wintoflash
发表于 2020-10-29 18:42:47
2011yaya2007777 发表于 2020-10-29 18:24
我使用的比较少,理解交换磁盘是为了从 0x80 或者说是出 (hd0) 启动。但是在 UEFI 环境,没有这个限制,
...
我只遇到两个 【可能】需要交换磁盘的地方:
(1) 机器本来就有光驱或者U盘带量产,需要启动 winpe。
这个目前有解决方法,所以可以不用交换。
(2) 用移动硬盘上的 windows 安装镜像 安装 windows,windows【有一定几率】会把引导文件错误地安装到移动硬盘。
这个我只是遇到了 Steve 的报告,但是他也不能稳定重现。
Ventoy 的做法是 hook BS->LocateHandle。
https://github.com/ventoy/Ventoy/blob/78ab7a0759571d88cfbd6096ca3ecf1c28886770/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyDebug.c#L168
不点
发表于 2020-10-29 18:50:24
wintoflash 发表于 2020-10-29 18:35
我已经通知easy2boot的开发者了。
因为他没法下载无忧论坛上的东西,所以我传到了谷歌网盘。
希望chena ...
你应该很熟悉 github 的使用方法。
我不懂,尤其是现在,连 svn 的用法都忘却了,更不用说,本来就不熟悉 git。
我不知道 yaya 对 git 的操作是否熟练。
以下是
@yaya
我个人认为,只要 chenall 给你有权限,你就可以使用他给你的那些权限来做事。
你只要小心行事,别一不小心毁掉啥东西就行。
如果你想等 chenall 来商讨,也可以。但你可以把源代码暂时放到论坛上。
wintoflash 是 VIP 会员,有权下载附件。
当然,放到网盘上也可。不过,需要源码的人,不多。因此,没必要放在网盘上。
ttt0001
发表于 2020-10-29 18:51:05
牛!支持您!!
2011yaya2007777
发表于 2020-10-29 18:53:34
我只遇到两个 【可能】需要交换磁盘的地方:
我的笔记本电脑有机械光驱,我从U盘以uefi模式启动,然后加载winpe10,可以正常启动。
不过增加 --unmap 也可以,只是麻烦一些,要从UEFI结构卸载,还要从map映射插槽卸载,还要从grub4dos磁盘结构(新增加的)卸载,还要从grub4dos分区结构(新增加的)卸载。
nttwqz
发表于 2020-10-29 19:01:26
NB!
是不是只能GRUB4DOS调用Bootmgr,不能bootmgr调用GRUB4DOS?
wintoflash
发表于 2020-10-29 19:03:01
2011yaya2007777 发表于 2020-10-29 18:53
我的笔记本电脑有机械光驱,我从U盘以uefi模式启动,然后加载winpe10,可以正常启动。
不过增加 --unmap ...
光驱插个光盘试试。
我比较偷懒,unmap的时候没有从grub2磁盘结构里面卸载,因为我发现在grub2里还能正常访问,只是chainloader之后就不能访问了。
blank007
发表于 2020-10-29 19:03:27
请问,菜单应该放在什么位置? 菜单默认文件名应该是什么?
liwei_show
发表于 2020-10-29 19:06:40
大神厉害了辛苦
2011yaya2007777
发表于 2020-10-29 19:09:55
请问,菜单应该放在什么位置? 菜单默认文件名应该是什么?
/menu.lst
/grub/menu.lst
/boot/grub/menu.lst
blank007
发表于 2020-10-29 19:12:01
2011yaya2007777 发表于 2020-10-29 19:09
/menu.lst
/grub/menu.lst
/boot/grub/menu.lst
多谢! 烦请您在休整一段时间后,再写一个教程。
rengrancunzai
发表于 2020-10-29 19:12:35
谢谢分享
2011yaya2007777
发表于 2020-10-29 19:13:33
我不知道 yaya 对 git 的操作是否熟练。
我不熟悉 git 。以前都是 chenall 告诉我一步一步怎么做,我不敢越雷池一步。哈哈
wintoflash
发表于 2020-10-29 19:23:29
2011yaya2007777 发表于 2020-10-29 19:13
我不熟悉 git 。以前都是 chenall 告诉我一步一步怎么做,我不敢越雷池一步。哈哈
先清理好工作区,记得先备份。然后创建分支。git branch efi
git checkout efi
然后把你的改动加上去,最后上传你的分支
git apply ../xxx.patch
...
...
git add .
git commit -m "add efi support ...."
git push -u origin efi
仅供参考,记得先备份。我也不确定你有没有上传分支的权限。
页:
1
[2]
3
4
5
6
7
8
9
10
11