CSM与UEFI
最近公司产品部购置一批新电脑,但是预装的win10不能保证兼容老平台软件,于是安装win7系统的任务就落到了我的手中。
观察参数,是8代的U,产品说运维说无能为力,装不了win7。我在网上搜了一下,是有90%的把握可以装win7的。现在的运维......
开始安装,根据高中就开始装windows和Linux系统的经验,开启U盘启动,关闭secureBoot,一次点亮。其中注意的是关闭secureBoot不知在secureBoot选项那里关闭的,因为许多主板bios那个选项是灰色的,需要开启对CSM的支持,然后secureBoot就会自动关闭。
CMS
CMS Support,全名为:Compatibility Support Module,翻译成中文的意思就是兼容支持模块,该选项专为兼容只能在 Legacy 模式下工作的设备以及不支持或者不能完全支持 UEFI的操作系统而设立的。
CSM开启使得可以支持UEFI启动和非UEFI启动。若是需要启动传统MBR设备,则需开启CSM。关闭CSM则变成纯UEFI启动,且完全支持安全启动。Secure Boot(安全启动),安全启动仅适用于使用UEFI启动的操作系统。
在笔记本的BIOS里,这里更多的是使用Enabled(打开)和Disabled(关闭)两个选项。在电脑自带Windows 8的情况下,Secure Boot(安全启动)默认是Enabled(打开)。
从而使得CSM(兼容性支持模块)又默认是Disabled(关闭),进而导致电脑不能启动不完全支持UEFI的设备。要使得电脑能启动不完全支持UEFI的设备,就必须关闭Secure Boot,然后打开CSM。
UEFI
新型UEFI,全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface), 是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。
UEFI有两大特性,是现在的主流
1.纠错特性
与BIOS显著不同的是,UEFI是用模块化、C语言风格的参数堆栈传递方式、动态链接的形式构建系统,它比BIOS更易于实现,容错和纠错特性也更强,从而缩短了系统研发的时间。
更加重要的是,它运行于32位或64位模式,突破了传统16位代码的寻址能力,达到处理器的最大寻址,此举克服了BIOS代码运行缓慢的弊端。
2.兼容性
与BIOS不同的是,UEFI体系的驱动并不是由直接运行在CPU上的代码组成的,而是用EFI Byte Code(EFI字节代码)编写而成的。Java是以“Byte Code”形式存在的,正是这种没有一步到位的中间性机制,使Java可以在多种平台上运行。
UEFI也借鉴了类似的做法。EFI Byte Code是一组用于UEFI驱动的虚拟机器指令,必须在UEFI驱动运行环境下被解释运行,由此保证了充分的向下兼容性。
一个带有UEFI驱动的扩展设备既可以安装在使用安卓的系统中,也可以安装在支持UEFI的新PC系统中,它的UEFI驱动不必重新编写,这样就无须考虑系统升级后的兼容性问题。基于解释引擎的执行机制,还大大降低了UEFI驱动编写的复杂门槛,所有的PC部件提供商都可以参与。