教师：在本课中,
我们将讨论BIOS或UEFI中设置的引导选项｡
BIOS或基本输入/输出系统是个人电脑的微处理器用来启动电脑系统的程序｡
此BIOS还将管理计算机操作系统和连接设备（如硬盘驱动器或固态驱动器,
视频适配器, 键盘和打印机等存储设备）之间的数据流｡
这是芯片上固件或软件最常见的例子,
它是计算机在开机时运行的第一个软件｡
现在BIOS有几个角色,
包括执行开机自检, 这将测试和初始化处理器,
视频卡, 磁盘驱动器和适配器, 以及配置系统的硬件, 并设置正确的启动顺序, 以便在系统首次通电时执行｡
BIOS存储在ROM中, ROM是只读存储器｡
这是一种实际上嵌入到主板中的芯片,
但它可以通过称为闪存的过程进行升级｡
BIOS也是这个芯片内部的一个程序,
该程序允许用户更改设置,
这些设置将保存在称为CMOS的东西中｡
CMOS是互补金属氧化物半导体, 是一种电池供电的存储芯片｡
这是一个非易失性类型的内存,
存储BIOS设置,
它内置于主板中｡
只要电池电量保持不变,
就会向CMOS提供直流电流,
这样主板和BIOS就可以保留设置｡
如果计算机经常丢失设置或忘记日期和时间,
这通常表明需要更换电池｡
这种电池通常持续约三年｡
但在较新的CMOS上,
这些实际上可以使用内部锂离子电池,
可以持续长达10年｡
将与这些CMOS一起使用的最典型的外部电池被称为CR2032,
这看起来像手表电池｡
现在请记住, 如果电池开始失效,
用户首先会注意到的是系统时钟会经常忘记日期和时间｡
因此, 如果您发现自己经常更改日期和时间,
这表明您的电池很可能即将耗尽｡
现在, 当您按下计算机上的电源按钮时,
通电后发生的第一件事是我们开始启动过程, 第一步是开机自检, 即POST｡
开机自检是一种诊断测试序列, 计算机的基本输入/输出系统或启动程序将运行,
以确定计算机的键盘, RAM,
磁盘驱动器, 存储设备和其他硬件是否都正常工作｡
如果检测到必要的硬件,
并且发现它运行正常, 则该计算机可以开始启动｡
如果未检测到硬件或发现硬件运行不正常,
BIOS将发出错误消息, 可能是屏幕上的文本消息｡
或者, 如果您的屏幕有问题,
它可能是一系列编码的哔哔声,
这取决于您的特定问题的性质｡
由于开机自检在计算机的视频卡激活之前运行,
因此可能无法在屏幕上显示所有内容｡
因此, 我们将使用这些可变的蜂鸣声作为一种方式来告诉你系统出了什么问题｡
这些蜂鸣声可以是短和长或短和长的蜂鸣声的混合,
这取决于主板安装的BIOS类型｡
蜂鸣声的确切模式将包含有关它发现的问题的性质的消息｡
例如, 如果未检测到键盘, 则特定模式的蜂鸣音可能会通过发送两个短蜂鸣音和一个长蜂鸣音来通知您,
类似于蜂鸣声, 蜂鸣声, 蜂鸣声｡
现在POST也可能出现致命错误｡
如果是这种情况,
它将导致当前程序停止运行,
并停止引导过程｡
理解这一点很重要,
因为此POST测试所检查的硬件都是基本硬件,
如内存､ 键盘､ 输入/输出设备和处理器｡
因此, 如果这些东西中的任何一个出现错误,
它将停止引导过程, 因为它无法使用有故障的硬件加载完整的操作系统｡
现在, 一旦您的POST成功发生, 这将允许BIOS从CMOS读取设置,
然后BIOS将从您配置的引导设备中查找操作系统｡
BIOS也有自己的低级操作系统,
允许它输入并输出到最基本的组件,
包括键盘, 磁盘驱动器和视频显示器｡
使用其从存储设备读取的低级别功能, BIOS将尝试找到您安装的操作系统,
如Windows或Linux或Mac
OS｡
然后, 操作系统的引导程序将开始操作系统的引导过程,
并将计算机的控制权移交给该操作系统｡
现在BIOS也像我之前说的那样在CMOS中存储它的设置和配置,
但是你可能想知道, 你如何改变这些设置？
要在CMOS内部配置这些设置,
您需要进入BIOS配置环境｡
要做到这一点, 您将在启动过程中按下一个有效的键或组合键,
这将由您的BIOS制造商设置｡
最常用的键是F2或Delete,
但这取决于BIOS和您使用的主板,
我见过其他键, 如Escape键, F1, F10和F12｡
通常, 当您第一次打开系统时,
屏幕上会显示一条消息,
告诉您需要哪个磁盘才能更改其配置设置｡
如果您没有看到显示,
您可以简单地在制造商的网站上进行快速在线搜索,
这将告诉您特定系统正在使用哪个磁盘｡
传统上, 只有一种类型的BIOS完全依赖于基于文本的菜单系统和键盘作为其输入系统｡
这种传统的BIOS为用户提供了查看内存､
CPU､ 光驱和存储设备信息的能力｡
虽然这些在图形上并不吸引人,
但这些基于文本的系统确实提供了所有必要的功能,
以便配置您的设备, 启动顺序, 时钟速度,
日期, 时间, 是否要启用虚拟化支持, 安全功能和许多其他类似的东西｡
现在, 现代系统已经开始从这种传统的BIOS切换过来,
而是使用称为UEFI的东西｡
现在UEFI或UEFI, 我们喜欢称之为统一可扩展固件接口,
它基本上是BIOS的更新形式,
允许键盘和鼠标作为输入, 并提供图形用户界面,
而不是标准的基于文本的菜单｡
这些系统往往更直观, 因为它们具有图形用户界面,
而不是基于文本的菜单系统,
并且它们仍然提供所有必要的功能来配置您的设备, 启动顺序,
时钟速度, 日期和时间, 虚拟化支持选项, 安全功能以及包括费率在内的许多其他内容｡
现在, 这些基于UEFI的系统中的一些还包括允许您上网,
玩一些基本游戏甚至使用备份程序的软件, 而无需进入Windows,
Linux或Mac OS等正常操作系统, 这使得它们非常强大｡
现在UEFI比传统BIOS有几个优势｡
首先, 传统的BIOS只能作为32位系统运行,
而UEFI可以支持64位系统｡
其次, UEFI可以支持更大的硬盘驱动器和固态设备｡
传统的BIOS最多只能支持2个存储设备｡
2
TB的大小, 但UEFI可以支持多达9个驱动器｡
4泽字节大小｡
是9｡ 4乘以10的21次方字节｡
这将是一个非常大的驱动器｡
而现在这些都不存在
但出于这个原因,
UEFI在未来为我们提供了很多功能｡
第三件事是, 传统的BIOS只支持使用主引导记录,
即MBR, 这是您的存储设备分区表,
它告诉您如何将内容存储在给定的硬盘驱动器或固态设备上｡
但是UEFI实际上可以支持更新的分区表格式,
即GPT｡
现在, 这种新的GPT格式支持更大的硬盘和存储设备,
因为任何设备都需要大于2｡
2 TB大小｡
第四, UEFI在启动系统方面往往比传统BIOS更快｡
这对我们来说是另一个更大的好处｡
第五, UEFI通常使用比传统BIOS更大的ROM｡
因此, 它实际上可以支持更复杂的程序,
包括我们之前谈到的大多数基于UEFI的系统中包含的基于GUI的配置工具, 这为您提供了更好的诊断工具和命令, 您可以在故障排除过程中使用｡
现在, 无论您是要使用传统的BIOS还是基于UEFI的较新系统,
您都将使用此配置工具来设置系统的引导顺序和参数｡
这将使您能够确定在尝试查找操作系统（如Windows､
Linux或Mac OS）时将从哪些设备读取数据, 以便系统能够加载｡
这可以是您的固定存储设备,
例如硬盘驱动器或固态设备｡
但是, 您也可以将其存储在光盘驱动器（如CD,
DVD或蓝光）或USB驱动器（如拇指驱动器或闪存驱动器）上, 或者您甚至可以使用网络适配器来访问服务器,
使用称为PXE的预执行环境作为您想要的引导选项｡
所有这些都是有效的选择,
它确实取决于您的用例｡
因此, 当您选择要使用的优先级列表或引导顺序时,
在BIOS或UEFI中进行配置是很重要的｡
例如, 假设您首先设置为光驱,
然后是硬盘, 然后是USB, 最后是网络｡
这意味着当您打开计算机时,
系统首先会查看您的光驱, 看看它是否可以在那里找到可引导的操作系统｡
如果是的话, 它会把它装起来｡
但如果没有, 它将转移到您的第二优先级,
我们列为硬盘驱动器｡
现在, 当它查看您的硬盘驱动器时,
它可能会发现Windows已安装｡
因此, 它将加载Windows,
并将系统控制权移交给Windows操作系统,
它不会进一步向下移动其引导列表｡
但是这种特殊的顺序实际上对你来说是危险的,
因为有很多操作系统可以从光驱或USB拇指驱动器运行,
比如某些版本的Linux｡
因此, 作为攻击者, 如果我可以将我的Kali
Linux DVD插入您的光驱并打开您的计算机, 我现在可以使用您的硬件并能够绕过您的所有密码, 因为我现在正在加载Kali Linux而不是Windows,
所以我不再需要入侵您的Windows帐户来使用您的系统｡
在这一点上, 从Kali Linux内部,
我可以挂载你的硬盘驱动器来读取你的文件和类似的东西｡
但同样, 我必须有物理访问您的系统,
把DVD到您的驱动器｡
因此, 在大多数企业环境中, 我们喜欢使用禁用从光驱或USB驱动器启动的最佳实践,
以防止攻击者以这种方式接管您的系统｡
相反, 您应该将系统配置为使用您安装的操作系统从已安装的硬盘驱动器启动｡
或者, 如果您使用的是瘦客户端,
您可以选择使用PXE作为主要选项通过网络引导操作系统, 然后在优先级列表中根本不选择光驱或USB驱动器｡
现在, 我们需要与BIOS和UEFI讨论的最后一件事是如何更新它,
因为这毕竟是软件, 即使它是芯片上的软件或固件｡
现在要更新BIOS或UEFI,
您需要使用一个称为闪存的过程｡
每当需要对BIOS或UEFI代码库进行升级､
安全修复或功能改进时, 都会执行闪烁｡
请务必查看制造商的网站,
了解最新的固件版本以及刷新BIOS或UEFI的具体过程｡
在过去, 我们的系统实际上没有刷新BIOS的能力｡
相反, 我们不得不更换主板上的整个BIOS芯片｡
但值得庆幸的是, 所有现代主板现在都支持闪存,
所以我们可以简单地使用这个专门的过程覆盖BIOS或UEFI｡
现在, 在刷新BIOS或UEFI之前,
您应该始终首先备份您的配置和信息, 以防万一出现问题｡
在大多数系统中,
你需要一个USB闪存驱动器来刷新你的固件｡
然后将文件加载到该USB闪存驱动器的根目录中,
将闪存驱动器连接到主板上指定的USB端口, 然后按一系列指定的键或按主板背面的特定按钮重新启动系统｡
然后, BIOS或UEFI将接管,
将固件复制到系统,
并用新更新的固件代码覆盖其旧代码｡