一、概念
BIOS:Basic Input/Output System,基本输入/输出系统,是一组固化到计算机内主板上一个ROM芯片上的程序,专门负责系统硬件各种参数设定。
UEFI:Unified Extensible Firmware Interface,统一可扩展固件接口,用来定义操作系统与系统固件之间的软件界面,作为BIOS的替代方案。
二、BIOS & UEFI的区别
传统BIOS(Legacy) | UEFI | |
启动速度 | 启动速度慢,需要一系列的初始化和检测 | 启动速度快,可以从硬盘直接启动OS |
界面 | 通常是文本模式,操作不友好,仅支持键盘 | 通常是图形化界面,操作友好,支持鼠标、触摸板操作 |
安全性 | 不支持Secure Boot功能 | 支持Secure Boot功能,提高系统安全性,防止恶意软件的启动 |
硬件支持 | 可能不支持一些新型硬件设备和接口 | 支持更多的硬件设备和接口,如USB 3.0、NvMe固态硬盘 |
分区方案 | MBR分区方案,仅支持最多2TB存储设备 | GPT分区方案,可支持多达9zB的存储设备 |
运行环境 | 16位实模式,汇编语言程序 | 32位或64位,突破实模式限制,模块化,高级语言程序(C语言) |
三、功能
BIOS是连接软件与硬件的一座“桥梁”,是计算机启动时运行的第一个程序,其主要功能是主要功能是为计算机提供最底层、最直接的硬件设置和控制。BIOS 的设置直接关系到电脑是否可以正常启动,并影响到之后的使用效率,同时也影响着部分硬件的使用。Windows 操作系统,也是在 BIOS 的引导下进行工作的。
BIOS主要程序及实现功能
程序 | 具体实现 |
POST自检程序 | 通过读取CMOS存储中的硬件信息,识别硬件配置,并对硬件自检和初始化 |
OS启动程序 | 硬件自检成功后,跳转到操作系统引导设备的引导分区,将引导程序读入内存,若成功读入,则进入相应设备的OS启动过程 |
CMOS设置程序 | 在开机自检中,按下进入CMOS设置的快捷键,则进入CMOS设置。结束后,若进行保存操作,则更新后的硬件信息会存入CMOS中,并重新进行自检,否则继续完成本次自检后续的过程 |
I/O和中断服务 | 软件在一些对硬件底层的操作中,需要中断服务或硬件I/O操作,这时就需要BIOS充当软件和硬件之间“临时搭桥”的作用 |
四、进入BIOS设置
联想电脑:开机后按F1或F2,部分机型按F1、F2时需要FN键配合。
部分机型:开机后按F12,在启动项菜单中选择Enter Setup可进入BIOS。
五、设置启动U盘
1. 创建启动盘:准备U盘,将U盘格式化成UEFI可识别的FAT32格式,在U盘根目录下创建EFI/boot目录,在该目录下放Shell.efi(改名为BOOTX64.efi);
2. BIOS设置:进入BIOS设置,找到“Secure Boot”的设置选项,将其设置为“Disabled;
3. 选择U盘启动:在Boot菜单中会显示USB字样或U盘的名称,选择U盘启动,然后会进入EFI Shell;
4. 使用EFI Shell运行UEFI应用程序:有的电脑固件中带有EFI Shell,只需要将可执行文件放在U盘中,启动到EFI Shell中,就可以手动运行它。
在EFI Shell下,运行UEFI应用程序的方法:
- 要找到装有可执行文件U盘,使用map -r命令列出所有的被UEFI识别的文件系统,使用fs#:命令进入某个文件系统(例如fs0:),此时命令提示符将会变化;
- 进入文件系统后,使用ls命令可以列出根目录下的文件,输入文件名就可以执行相应的UEFI应用程序;
- 在EFI Shell中,除了切换文件系统需要用到fs#:命令,其他的cd, ls等命令,与一般的Shell是类似的。