|
本帖最后由 zhhww57 于 2022-9-28 16:29 编辑
并不是不可行,目前来说,只要是支持传统引导的bios,都可以任意模拟uefi32和uefi64,那么解决这个问题就有几个方向了:
1、让bios支持传统引导,首先主板bios选项里面如果没有传统引导的话别急,看一下同类的bios有没有传统引导,有的话可以魔改下bios,不一定要刷,可以做成外挂式,然后还有一种就是bios把传统引导菜单隐藏了,如果隐藏了别急,试试看解锁,或者直接篡改nvram setup_var(记不清是不是这个),如果bios不支持传统引导,同类型的bios里面试试看添加传统引导模块,比如同样的芯片组,隔壁支持传统,你不支持,那就是肯定能支持,只是没做
2、从uefi层面,不从传统bios模拟uefi层面,我觉得这个难度非常大,uefi很多文件涉及到驱动层,你可能要做个类似wine的这种二进制翻译,在uefi上面做兼容,特别是这种涉及到硬件的,很麻烦,我记得之前有人逆向过bootmgrfw.efi里面有切换系统模式的代码,如果能找出这一块,也许有用,这很麻烦,uefi的应用层和驱动层我不太了解,感觉可能有点不分家,如果做翻译,或者调用cpu的x86执行x86,我感觉驱动层是个大问题,因为加载的都是uefi64的驱动,可能你不得不做个uefi32子系统,就和现在的windows on linux子系统一样
3、从系统层面,linux这个就支持,你用其他版本的uefi,可以直接引导另一个版本的linux内核,所以这一点无疑说明,其实时可以引导的,只是内核没做,遥想当年,有人给win2003添加uefi32的引导,给win2003 64添加uefi64的引导,告诉我们,你其实可以自己魔改下winload.efi试试看做个能引导系统的,当然这个很坑就是了
|
|