|
本帖最后由 2011hiboy 于 2013-4-21 22:48 编辑
****我同意UEFI固件类型对PE启动的影响,也一直没有否认这点,但是我不同意这和CPU没有任何关系*****
首先我坚持认为 win8 x86的PE想要UEFI启动,必需要CPU的支持。
我同意UEFI如果是32bit的能够支持win8 x86 pe的运行;但我认为这是只是看到了问题的表面,
不管UEFI是32bit或者64bit这都需要CPU的指令来支持,否则,UEFI加载了一个efi文件,那么efi文件的运行呢?UEFI给它解释指令吗?还是efi自己给自己解释指令?
不,他们都没有指令集,那么肯定是CPU给efi文件解释它运行时发出的指令,那么CPU的指令集将是一切的核心,具有最终决定权。
理论及证据:
市面CPU=市面上普遍的CPU,包含有X86和X86-64指令集
------------------------------------------------------------------
首先计算机的运行最核心的就是CPU,程序最终解释并运行也是靠CPU里面的指令来完成的。UEFI固件主要是由c写的,
然而任何程序不管采用什么高级程序设计语言编写的,都需要通过高级语言编译程序或者解释程序先翻译成 x86指令才可以被CPU执行。
UEFI固件也不会例外,不信的网友,请拔掉CPU看看能否通过UEFI启动efi文件.....
>::纯X86的CPU能否运行Windows/UEFI 64bit ??【不可以】
假设你在使用纯X86的CPU的计算机上使用Windows/UEFI 64bit或者运行含有x86不能识别的指令的程序,那么我想是不可能运行成功的,
正由于这点,才有了X86-64指令集的问世,这个指令集包含了一些可以识别64bit需要的指令。
>::市面CPU能否运行Windows/UEFI 32bit ??【可以】
再说到目前的CPU,它包含X86和X86-64指令集,却不能在UEFI运行Win8 x86 PE的原因,原因就出在UEFI固件的问题上,是它不支持,
这也是我首先同意说UEFI版本能够影响到PE的运行。但是我想现如今的机器,如果将UEFI 64bit 换成 UEFI 32bit固件的话,那么肯定能够UEFI下运行Win8 x86 PE。
因为CPU指令集是包含该系统运行所需要的所有指令的。
例1:
VM虚拟机新建一个Windows 8,UEFI固件32bit,我们运行Win8 x86,
成立条件:市面CPU能支持+系统32bit+UEFI 32bit
结果:可以支持win8 x86pe的运行,进入系统里面可以看到虚拟机的CPU包含的指令集和我们实机的指令集一模一样。
符合我们说的只要CPU支持,当UEFI时32bit 时候,可以支持win8 x86pe的运行。而我们目前的机器都不集成UEFI 32bit,不支持Win8 x86PE的启动,
恐怕是从X64未来的发展的角度考虑的,而非CPU不支持..
例2:IA64系统下的nvrboot.efi(仅适合于:纯X64CPU,UEFI 64bit)运行于:市面CPU 行+UEFI 64bit
已成立条件:UEFI 64bit支持,CPU不支持(本楼尾可以下载nvrboot.efi做一下测试)
结果:无法运行,理论:CPU指令集不支持,其他都是浮云,该efi需要的一些指令只有纯X64的CPU才具备的指令集....
有这么一种情况:
如果我找到一台纯X86的CPU的机器,内存加到1GB,运行VM9 x86绿色版(我目前用的),那么我运行虚拟机新建Windows 8 X64,UEFI是64bit,那么能否UEFI启动win8PE x64 呢?
答:我没有条件实验,但不妨碍我猜测:我想即使UEFI固件类型和系统类型一样,假如没有CPU指令集的支持,那么一切都是浮云...
我最终认为:CPU不支持的你无论如何都不可能支持启动(除非换CPU),CPU支持的你肯定能通过其他手段启动。
如果耐心看完这么长的论述的话,还坚持说:
win8 x86的PE想要UEFI启动只需要UEFI固件支持,和CPU没有任何关系的话,那我无话可说了,因为我都说完了.....
nvrboot.zip
(46.35 KB, 下载次数: 40)
|
|