WEBVTT

00:00.240 --> 00:01.073
教师：在本课中,

00:01.073 --> 00:06.600
我们将讨论BIOS或UEFI中设置的引导选项｡

00:06.600 --> 00:17.220
BIOS或基本输入/输出系统是个人电脑的微处理器用来启动电脑系统的程序｡

00:17.220 --> 00:23.820
此BIOS还将管理计算机操作系统和连接设备（如硬盘驱动器或固态驱动器,

00:23.820 --> 00:29.460
视频适配器, 键盘和打印机等存储设备）之间的数据流｡

00:29.460 --> 00:33.330
这是芯片上固件或软件最常见的例子,

00:33.330 --> 00:37.830
它是计算机在开机时运行的第一个软件｡

00:37.830 --> 00:39.720
现在BIOS有几个角色,

00:39.720 --> 00:42.180
包括执行开机自检, 这将测试和初始化处理器,

00:42.180 --> 00:54.360
视频卡, 磁盘驱动器和适配器, 以及配置系统的硬件, 并设置正确的启动顺序, 以便在系统首次通电时执行｡

00:54.360 --> 00:58.530
BIOS存储在ROM中, ROM是只读存储器｡ 

00:58.530 --> 01:01.740
这是一种实际上嵌入到主板中的芯片,

01:01.740 --> 01:05.610
但它可以通过称为闪存的过程进行升级｡

01:05.610 --> 01:09.060
BIOS也是这个芯片内部的一个程序,

01:09.060 --> 01:10.650
该程序允许用户更改设置,

01:10.650 --> 01:16.380
这些设置将保存在称为CMOS的东西中｡

01:16.380 --> 01:22.500
CMOS是互补金属氧化物半导体, 是一种电池供电的存储芯片｡

01:22.500 --> 01:24.390
这是一个非易失性类型的内存,

01:24.390 --> 01:25.860
存储BIOS设置,

01:25.860 --> 01:27.900
它内置于主板中｡

01:27.900 --> 01:29.940
只要电池电量保持不变,

01:29.940 --> 01:32.430
就会向CMOS提供直流电流,

01:32.430 --> 01:37.080
这样主板和BIOS就可以保留设置｡

01:37.080 --> 01:40.950
如果计算机经常丢失设置或忘记日期和时间,

01:40.950 --> 01:44.550
这通常表明需要更换电池｡

01:44.550 --> 01:47.100
这种电池通常持续约三年｡ 

01:47.100 --> 01:48.600
但在较新的CMOS上,

01:48.600 --> 01:51.300
这些实际上可以使用内部锂离子电池,

01:51.300 --> 01:53.460
可以持续长达10年｡

01:53.460 --> 01:59.430
将与这些CMOS一起使用的最典型的外部电池被称为CR2032,

01:59.430 --> 02:01.410
这看起来像手表电池｡

02:01.410 --> 02:03.930
现在请记住, 如果电池开始失效,

02:03.930 --> 02:09.120
用户首先会注意到的是系统时钟会经常忘记日期和时间｡

02:09.120 --> 02:11.790
因此, 如果您发现自己经常更改日期和时间,

02:11.790 --> 02:15.120
这表明您的电池很可能即将耗尽｡

02:15.120 --> 02:17.310
现在, 当您按下计算机上的电源按钮时,

02:17.310 --> 02:26.160
通电后发生的第一件事是我们开始启动过程, 第一步是开机自检, 即POST｡

02:26.160 --> 02:33.240
开机自检是一种诊断测试序列, 计算机的基本输入/输出系统或启动程序将运行,

02:33.240 --> 02:36.030
以确定计算机的键盘, RAM,

02:36.030 --> 02:41.670
磁盘驱动器, 存储设备和其他硬件是否都正常工作｡

02:41.670 --> 02:43.560
如果检测到必要的硬件,

02:43.560 --> 02:47.730
并且发现它运行正常, 则该计算机可以开始启动｡

02:47.730 --> 02:49.530
如果未检测到硬件或发现硬件运行不正常,

02:49.530 --> 02:56.370
BIOS将发出错误消息, 可能是屏幕上的文本消息｡

02:56.370 --> 02:58.410
或者, 如果您的屏幕有问题,

02:58.410 --> 03:00.450
它可能是一系列编码的哔哔声,

03:00.450 --> 03:03.240
这取决于您的特定问题的性质｡

03:03.240 --> 03:06.600
由于开机自检在计算机的视频卡激活之前运行,

03:06.600 --> 03:09.690
因此可能无法在屏幕上显示所有内容｡

03:09.690 --> 03:15.120
因此, 我们将使用这些可变的蜂鸣声作为一种方式来告诉你系统出了什么问题｡

03:15.120 --> 03:19.320
这些蜂鸣声可以是短和长或短和长的蜂鸣声的混合,

03:19.320 --> 03:22.620
这取决于主板安装的BIOS类型｡

03:22.620 --> 03:27.270
蜂鸣声的确切模式将包含有关它发现的问题的性质的消息｡

03:27.270 --> 03:34.620
例如, 如果未检测到键盘, 则特定模式的蜂鸣音可能会通过发送两个短蜂鸣音和一个长蜂鸣音来通知您,

03:34.620 --> 03:37.110
类似于蜂鸣声, 蜂鸣声, 蜂鸣声｡

03:37.110 --> 03:39.630
现在POST也可能出现致命错误｡ 

03:39.630 --> 03:40.680
如果是这种情况,

03:40.680 --> 03:42.810
它将导致当前程序停止运行,

03:42.810 --> 03:44.700
并停止引导过程｡

03:44.700 --> 03:45.960
理解这一点很重要,

03:45.960 --> 03:50.460
因为此POST测试所检查的硬件都是基本硬件,

03:50.460 --> 03:55.680
如内存､ 键盘､ 输入/输出设备和处理器｡

03:55.680 --> 03:58.230
因此, 如果这些东西中的任何一个出现错误,

03:58.230 --> 04:04.050
它将停止引导过程, 因为它无法使用有故障的硬件加载完整的操作系统｡

04:04.050 --> 04:09.660
现在, 一旦您的POST成功发生, 这将允许BIOS从CMOS读取设置,

04:09.660 --> 04:13.860
然后BIOS将从您配置的引导设备中查找操作系统｡

04:13.860 --> 04:17.070
BIOS也有自己的低级操作系统,

04:17.070 --> 04:20.010
允许它输入并输出到最基本的组件,

04:20.010 --> 04:25.860
包括键盘, 磁盘驱动器和视频显示器｡

04:25.860 --> 04:30.060
使用其从存储设备读取的低级别功能, BIOS将尝试找到您安装的操作系统,

04:30.060 --> 04:31.740
如Windows或Linux或Mac

04:31.740 --> 04:34.740
OS｡

04:34.740 --> 04:39.210
然后, 操作系统的引导程序将开始操作系统的引导过程,

04:39.210 --> 04:42.870
并将计算机的控制权移交给该操作系统｡

04:42.870 --> 04:45.900
现在BIOS也像我之前说的那样在CMOS中存储它的设置和配置,

04:45.900 --> 04:51.090
但是你可能想知道, 你如何改变这些设置？

04:51.090 --> 04:53.880
要在CMOS内部配置这些设置,

04:53.880 --> 04:56.730
您需要进入BIOS配置环境｡

04:56.730 --> 05:02.040
要做到这一点, 您将在启动过程中按下一个有效的键或组合键,

05:02.040 --> 05:05.370
这将由您的BIOS制造商设置｡

05:05.370 --> 05:08.670
最常用的键是F2或Delete,

05:08.670 --> 05:10.890
但这取决于BIOS和您使用的主板,

05:10.890 --> 05:18.270
我见过其他键, 如Escape键, F1, F10和F12｡

05:18.270 --> 05:20.400
通常, 当您第一次打开系统时,

05:20.400 --> 05:21.840
屏幕上会显示一条消息,

05:21.840 --> 05:26.250
告诉您需要哪个磁盘才能更改其配置设置｡

05:26.250 --> 05:27.810
如果您没有看到显示,

05:27.810 --> 05:31.320
您可以简单地在制造商的网站上进行快速在线搜索,

05:31.320 --> 05:35.100
这将告诉您特定系统正在使用哪个磁盘｡

05:35.100 --> 05:43.110
传统上, 只有一种类型的BIOS完全依赖于基于文本的菜单系统和键盘作为其输入系统｡

05:43.110 --> 05:45.600
这种传统的BIOS为用户提供了查看内存､

05:45.600 --> 05:50.610
CPU､ 光驱和存储设备信息的能力｡

05:50.610 --> 05:52.620
虽然这些在图形上并不吸引人,

05:52.620 --> 05:56.160
但这些基于文本的系统确实提供了所有必要的功能,

05:56.160 --> 05:58.800
以便配置您的设备, 启动顺序, 时钟速度,

05:58.800 --> 06:06.870
日期, 时间, 是否要启用虚拟化支持, 安全功能和许多其他类似的东西｡

06:06.870 --> 06:10.740
现在, 现代系统已经开始从这种传统的BIOS切换过来,

06:10.740 --> 06:14.280
而是使用称为UEFI的东西｡

06:14.280 --> 06:20.027
现在UEFI或UEFI, 我们喜欢称之为统一可扩展固件接口,

06:20.027 --> 06:22.649
它基本上是BIOS的更新形式,

06:22.649 --> 06:25.680
允许键盘和鼠标作为输入, 并提供图形用户界面,

06:25.680 --> 06:30.570
而不是标准的基于文本的菜单｡

06:30.570 --> 06:33.270
这些系统往往更直观, 因为它们具有图形用户界面,

06:33.270 --> 06:35.190
而不是基于文本的菜单系统,

06:35.190 --> 06:39.810
并且它们仍然提供所有必要的功能来配置您的设备, 启动顺序,

06:39.810 --> 06:49.530
时钟速度, 日期和时间, 虚拟化支持选项, 安全功能以及包括费率在内的许多其他内容｡

06:49.530 --> 06:52.890
现在, 这些基于UEFI的系统中的一些还包括允许您上网,

06:52.890 --> 06:56.850
玩一些基本游戏甚至使用备份程序的软件, 而无需进入Windows,

06:56.850 --> 07:04.080
Linux或Mac OS等正常操作系统, 这使得它们非常强大｡

07:04.080 --> 07:07.500
现在UEFI比传统BIOS有几个优势｡ 

07:07.500 --> 07:11.460
首先, 传统的BIOS只能作为32位系统运行,

07:11.460 --> 07:14.520
而UEFI可以支持64位系统｡

07:14.520 --> 07:19.170
其次, UEFI可以支持更大的硬盘驱动器和固态设备｡

07:19.170 --> 07:24.180
传统的BIOS最多只能支持2个存储设备｡

07:24.180 --> 07:24.180
2

07:24.180 --> 07:28.830
TB的大小, 但UEFI可以支持多达9个驱动器｡

07:28.830 --> 07:28.830
4泽字节大小｡ 

07:28.830 --> 07:32.310
是9｡  4乘以10的21次方字节｡ 

07:32.310 --> 07:34.740
这将是一个非常大的驱动器｡ 

07:34.740 --> 07:37.230
而现在这些都不存在

07:37.230 --> 07:38.430
但出于这个原因,

07:38.430 --> 07:41.790
UEFI在未来为我们提供了很多功能｡

07:41.790 --> 07:46.350
第三件事是, 传统的BIOS只支持使用主引导记录,

07:46.350 --> 07:47.820
即MBR, 这是您的存储设备分区表,

07:47.820 --> 07:54.720
它告诉您如何将内容存储在给定的硬盘驱动器或固态设备上｡

07:54.720 --> 08:00.090
但是UEFI实际上可以支持更新的分区表格式,

08:00.090 --> 08:02.250
即GPT｡

08:02.250 --> 08:05.670
现在, 这种新的GPT格式支持更大的硬盘和存储设备,

08:05.670 --> 08:11.580
因为任何设备都需要大于2｡

08:11.580 --> 08:11.580
2 TB大小｡ 

08:11.580 --> 08:16.410
第四, UEFI在启动系统方面往往比传统BIOS更快｡

08:16.410 --> 08:18.720
这对我们来说是另一个更大的好处｡ 

08:18.720 --> 08:23.670
第五, UEFI通常使用比传统BIOS更大的ROM｡

08:23.670 --> 08:25.950
因此, 它实际上可以支持更复杂的程序,

08:25.950 --> 08:36.240
包括我们之前谈到的大多数基于UEFI的系统中包含的基于GUI的配置工具, 这为您提供了更好的诊断工具和命令, 您可以在故障排除过程中使用｡

08:36.240 --> 08:40.830
现在, 无论您是要使用传统的BIOS还是基于UEFI的较新系统,

08:40.830 --> 08:45.900
您都将使用此配置工具来设置系统的引导顺序和参数｡

08:45.900 --> 08:48.510
这将使您能够确定在尝试查找操作系统（如Windows､

08:48.510 --> 08:54.660
Linux或Mac OS）时将从哪些设备读取数据, 以便系统能够加载｡

08:54.660 --> 08:56.370
这可以是您的固定存储设备,

08:56.370 --> 08:59.340
例如硬盘驱动器或固态设备｡

08:59.340 --> 09:01.890
但是, 您也可以将其存储在光盘驱动器（如CD,

09:01.890 --> 09:09.630
DVD或蓝光）或USB驱动器（如拇指驱动器或闪存驱动器）上, 或者您甚至可以使用网络适配器来访问服务器,

09:09.630 --> 09:15.570
使用称为PXE的预执行环境作为您想要的引导选项｡

09:15.570 --> 09:17.190
所有这些都是有效的选择,

09:17.190 --> 09:18.810
它确实取决于您的用例｡

09:18.810 --> 09:22.500
因此, 当您选择要使用的优先级列表或引导顺序时,

09:22.500 --> 09:26.490
在BIOS或UEFI中进行配置是很重要的｡

09:26.490 --> 09:28.560
例如, 假设您首先设置为光驱,

09:28.560 --> 09:34.410
然后是硬盘, 然后是USB, 最后是网络｡

09:34.410 --> 09:36.090
这意味着当您打开计算机时,

09:36.090 --> 09:41.100
系统首先会查看您的光驱, 看看它是否可以在那里找到可引导的操作系统｡

09:41.100 --> 09:42.840
如果是的话, 它会把它装起来｡ 

09:42.840 --> 09:45.600
但如果没有, 它将转移到您的第二优先级,

09:45.600 --> 09:48.060
我们列为硬盘驱动器｡

09:48.060 --> 09:49.650
现在, 当它查看您的硬盘驱动器时,

09:49.650 --> 09:51.510
它可能会发现Windows已安装｡

09:51.510 --> 09:53.670
因此, 它将加载Windows,

09:53.670 --> 09:56.610
并将系统控制权移交给Windows操作系统,

09:56.610 --> 09:59.190
它不会进一步向下移动其引导列表｡

09:59.190 --> 10:02.310
但是这种特殊的顺序实际上对你来说是危险的,

10:02.310 --> 10:04.530
因为有很多操作系统可以从光驱或USB拇指驱动器运行,

10:04.530 --> 10:09.450
比如某些版本的Linux｡

10:09.450 --> 10:11.010
因此, 作为攻击者, 如果我可以将我的Kali

10:11.010 --> 10:19.350
Linux DVD插入您的光驱并打开您的计算机, 我现在可以使用您的硬件并能够绕过您的所有密码, 因为我现在正在加载Kali Linux而不是Windows,

10:19.350 --> 10:25.830
所以我不再需要入侵您的Windows帐户来使用您的系统｡

10:25.830 --> 10:27.780
在这一点上, 从Kali Linux内部,

10:27.780 --> 10:30.840
我可以挂载你的硬盘驱动器来读取你的文件和类似的东西｡

10:30.840 --> 10:32.940
但同样, 我必须有物理访问您的系统,

10:32.940 --> 10:35.848
把DVD到您的驱动器｡

10:35.848 --> 10:41.520
因此, 在大多数企业环境中, 我们喜欢使用禁用从光驱或USB驱动器启动的最佳实践,

10:41.520 --> 10:46.950
以防止攻击者以这种方式接管您的系统｡

10:46.950 --> 10:52.410
相反, 您应该将系统配置为使用您安装的操作系统从已安装的硬盘驱动器启动｡

10:52.410 --> 10:54.090
或者, 如果您使用的是瘦客户端,

10:54.090 --> 11:04.710
您可以选择使用PXE作为主要选项通过网络引导操作系统, 然后在优先级列表中根本不选择光驱或USB驱动器｡

11:04.710 --> 11:08.130
现在, 我们需要与BIOS和UEFI讨论的最后一件事是如何更新它,

11:08.130 --> 11:14.130
因为这毕竟是软件, 即使它是芯片上的软件或固件｡

11:14.130 --> 11:16.170
现在要更新BIOS或UEFI,

11:16.170 --> 11:18.480
您需要使用一个称为闪存的过程｡

11:18.480 --> 11:20.580
每当需要对BIOS或UEFI代码库进行升级､

11:20.580 --> 11:25.740
安全修复或功能改进时, 都会执行闪烁｡

11:25.740 --> 11:27.480
请务必查看制造商的网站,

11:27.480 --> 11:32.790
了解最新的固件版本以及刷新BIOS或UEFI的具体过程｡

11:32.790 --> 11:36.690
在过去, 我们的系统实际上没有刷新BIOS的能力｡

11:36.690 --> 11:40.680
相反, 我们不得不更换主板上的整个BIOS芯片｡

11:40.680 --> 11:42.810
但值得庆幸的是, 所有现代主板现在都支持闪存,

11:42.810 --> 11:48.750
所以我们可以简单地使用这个专门的过程覆盖BIOS或UEFI｡

11:48.750 --> 11:51.210
现在, 在刷新BIOS或UEFI之前,

11:51.210 --> 11:56.120
您应该始终首先备份您的配置和信息, 以防万一出现问题｡

11:56.120 --> 11:57.100
在大多数系统中,

11:57.100 --> 12:00.630
你需要一个USB闪存驱动器来刷新你的固件｡

12:00.630 --> 12:03.720
然后将文件加载到该USB闪存驱动器的根目录中,

12:03.720 --> 12:13.350
将闪存驱动器连接到主板上指定的USB端口, 然后按一系列指定的键或按主板背面的特定按钮重新启动系统｡

12:13.350 --> 12:15.840
然后, BIOS或UEFI将接管,

12:15.840 --> 12:17.430
将固件复制到系统,

12:17.430 --> 12:20.883
并用新更新的固件代码覆盖其旧代码｡
