bootmanager如何设置启动项

大多数应用程序开发者都对模块和接口的概念有深入了解,网络上也存在大量的相关讨论和课程。那么,在底层开发领域,是否存在类似的重要概念呢?答案是肯定的。以Intel在2001年推出的EFI为例,这个固件接口在Wintel中起到了关键作用,使PC得以称霸长达三十年。
UEFI能够更好地支持新的硬件设备(从其名称可见),同时具备开发速度快、启动时间短、安全性更高等特点。那么,为什么要学习UEFI编程呢?尽管Wintel依靠UEFI了PC市场三十年,但随着硬件技术的不断升级和人们需求的多样化,以x86架构的PC也出了一些问题,其中最为突出的是电池续航问题。移动设备的普及使得人们对电池续航性能的要求越来越高,而x86架构的先天不足难以满足这一需求。新兴的Arm架构由于高效能基因在移动设备领域独领。虽然目前Arm芯片的性能尚不及x86,但随着芯片技术的飞速发展,Arm推出的Cortex-A76性能已显著提升,再加上Big.Little技术,未来基于Arm的PC与基于x86的PC并驾齐驱的日子指日可待。
苹果成功将MacBook从x86转向Arm后,高通、英伟达等众多巨头也纷纷投入Arm PC的研发。很多人预测2024年将是Arm PC高速发展的起点。目前固件方面仍存在诸多问题,如ACPI支持不完善、无法自由安装通用操作系统等。随着Arm PC的兴起,对人才的需求也日益旺盛。例如,要在Arm硬件上支持Windows(WoA),就需要既懂底层技术又懂Windows的工程师,而这类人才目前十分紧缺。
从职业发展的角度看,学好UEFI可以为你投身新兴的Arm PC研发领域提供良好机会,可能获得固件工程师或应用软件工程师等职位。因为Arm PC流行后,大量的应用软件需要适配和优化,如果你对UEFI和WoA有一定了解,将成为紧缺人才。
学习UEFI编程不仅可以加深对计算机系统的理解,打通知识壁垒,提高工作效率,特别是缩短解决问题(debug)的时间。那么如何学习UEFI编程呢?途径有很多,可以看书、看文档、看代码,但最好的方法还是动手实践。正如C语言的发明者丹尼斯里齐所言:学习一门编程语言的唯一方法就是用它来写代码。对于UEFI编程也是如此,需要多写代码、多实践。
