kellllby 发表于 2021-12-24 12:19:03

能不能从windows启动管理器启动G4E?

做了一个双启U,原生EFI加mbr,mbr引导的G4D没有问题了,现在突发奇想,能不能从原生EFI启动的管理器中加入G4E启动到G4E的菜单{:1_186:}

sunsea 发表于 2021-12-24 13:52:01

bootmgfw的话绝无可能。

szwp 发表于 2021-12-24 13:54:49

http://www.yiiyee.cn/Blog/wp-content/uploads/2017/02/BCD-Objects.png

原生是指主板里的固件吧,其它都是外带的。

liuzhaoyzz 发表于 2021-12-24 15:55:53

这是很多人的梦想,但是现实很残酷,微软不会同意,会强力打压排斥禁止。      

wintoflash 发表于 2021-12-24 16:00:55

sunsea 发表于 2021-12-24 13:52
bootmgfw的话绝无可能。

大佬有没有x86下BOOT_APPLICATION_PARAMETER_BLOCK里面FirmwareParametersOffset对应的BL_FIRMWARE_PARAMETERS的文档?

https://www.bv2ex.com/t/532802

sunsea 发表于 2021-12-24 20:07:36

wintoflash 发表于 2021-12-24 16:00
大佬有没有x86下BOOT_APPLICATION_PARAMETER_BLOCK里面FirmwareParametersOffset对应的BL_FIRMWARE_PARAM ...

我这是没有的,我这没研究过UEFI……Google出来的大部分都没啥用,但是这个似乎有点那个意思,不知道能不能参考:https://github.com/ajkhoury/UEFI-Bootkit

wintoflash 发表于 2021-12-24 20:24:40

sunsea 发表于 2021-12-24 20:07
我这是没有的,我这没研究过UEFI……Google出来的大部分都没啥用,但是这个似乎有点那个意思,不知道能不 ...

typedef struct _BL_FIRMWARE_DESCRIPTOR
{
        UINT32 Version;
        UINT32 Unknown;
        EFI_HANDLE ImageHandle;
        EFI_SYSTEM_TABLE* SystemTable;
} BL_FIRMWARE_DESCRIPTOR, *PBL_FIRMWARE_DESCRIPTOR;
这个不是完整的结构体。EFI_SYSTEM_TABLE* SystemTable 下面还有东西。不过我的汇编水平菜的抠脚,所以搞不定。
http://reboot.pro/index.php?s=3fd214a3892e34a9f00d8957fa16413e&showtopic=17655&page=3
So in order to run normal UEFI applications, you have to perform a section of platform-specific code (I implemented only in ARM32, which is reverse-engineered from developrmenu.efi from a private Windows Phone Adaption Kit). See my example here: https://github.com/imbushuo/boot-shim

After performing platform-specific initialization code, you takes control of certain things, have interrupt services & exception vector disabled. Then you can do whatever you want with EFI protocols. Simple text input/out works for me.

Things will be easier on x86 / amd64 platforms. I think there is a reference implementation in ReactOS's UEFI library. IDA Pro is helpful to this too. Load symbols, check functions with name started "ArchInitializeContext"... and "ArchSwitchContext".
ReactOS 的实现里面似乎也没有完整的这个结构体。

sunsea 发表于 2021-12-24 20:28:48

wintoflash 发表于 2021-12-24 20:24
这个不是完整的结构体。EFI_SYSTEM_TABLE* SystemTable 下面还有东西。不过我的汇编水平菜的抠脚,所以 ...

是啊,bootmgfw.efi就是一黑箱,而且M$现在不开放符号包下载只能调试器从网上下载了。想IDA都困难。

szmsys 发表于 2022-1-9 06:32:16

很简单,把g4e的 bootx.efi 改名 bootmgfw.efi 替换微软的就行了

liuzhaoyzz 发表于 2022-1-9 07:55:54

szmsys 发表于 2022-1-9 06:32
很简单,把g4e的 bootx.efi 改名 bootmgfw.efi 替换微软的就行了

你这是偷换命题,不是真正地解决问题了。即使替换了,他也还是g4e引导啊,并非是微软的启动管理器引导g4e啊,那和不改名有什么分别?      
页: [1]
查看完整版本: 能不能从windows启动管理器启动G4E?