全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

BIOS、UEFI、MBR、GPT、GRUB是什么?

发布时间:2023-10-13 20:39:03
发布人:xqq

1、BIOS是什么

BIOS(Basic Input/Output System),在IBM PC兼容系统上使用,是一种业界标准的固件接口。这种主板类型大家应该比较熟悉,老一点的机器都是使用BIOS主板。对于支持BIOS的主板来讲,BIOS只能完成非常基本的硬件检测和初始化,之后的事情就都由bootloader来接手。

其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。

2、UEFI是什么

UEFI,全称Unified Extensible Firmware Interface,即“统一的可扩展固件接口”,是一种详细描述全新类型接口的标准,是适用于电脑的标准固件接口,旨在代替BIOS。此标准由intel公司带头组织UEFI联盟中的140多个技术公司共同创建,其中包括微软公司。UEFI旨在提高软件互操作性和解决BIOS的局限性。作为传统BIOS的继任者,UEFI拥有前辈所不具备的诸多功能,比如图形化界面、多种多样的操作方式、允许植入硬件驱动等等。这些特性让UEFI相比于传统BIOS更加易用、更加多功能、更加方便。而Windows 8在发布之初就对外宣布全面支持UEFI,这也促使了众多主板厂商纷纷转投UEFI,并将此作为主板的标准配置之一。Intel更是宣布在2020之前实现在芯片上将BIOS全部替换为UEFI。

UEFI还包含了其他功能,它支持安全引导,这意味着可以检查操作系统的有效性,以确保没有恶意软件篡改引导过程。它可以在UEFI固件本身中支持联网特性,这有助于远程故障排除和配置。对于传统BIOS,必须坐在物理计算机前才能配置它。虽然目前有厂商利用这一特性尝试垄断市场,但这不意味着这不是一个很好的功能。

3、MBR是什么

主引导记录(MBR),也被称为主引导扇区,是计算机开机以后访问硬盘时所必须要读取的名列前茅个扇区。在深入讨论主引导扇区内部结构的时候,有时也将其开头的446字节内容特指为“主引导记录”(MBR),其后是4个16字节的“磁盘分区表”(DPT),以及2字节的结束标志(55AA)。因此,在使用“主引导记录”(MBR)这个术语的时候,需要根据具体情况判断其到底是指整个主引导扇区,还是主引导扇区的前446字节。

主引导扇区记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息。如果它受到破坏,硬盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性地重建数据结构信息后,才可能重新访问原先的数据。主引导扇区内的信息可以通过任何一种基于某种操作系统的分区软件写入,但和某种操作系统没有特定的关系,即只要创建了有效的主引导记录就可以引导任意一种操作系统。

4、GPT是什么

全局少数标识分区表(GUID Partition Table,缩写:GPT)是指全局少数标示磁盘分区表格式。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的以32bits来存储逻辑块地址和大小信息的主引导记录(MBR)分区表。

GPT表头,主要定义了分区表中分区数及每个分区大小,还包含硬盘的容量信息。分区表头还记录了这块硬盘的GUID,分区表头位置(总是LBA1)和大小,也包含了备份分区表头和分区表的位置和大小信息(LBA-1~LBA-34)。同时还储存着它本身和分区表的CRC32校验。固件、引导程序和操作系统在启动时可以根据这个校验值来判断分区表是否出错,如果出错,可以使用软件从硬盘最后的备份GPT中恢复整个分区表,如果备份GPT也校验错误,硬盘将不可使用。

5、GRUB是什么

GRUB(Grand Unified Boot loader)是硬盘中的软件,引导器(loader)的一种。目前主流版本是 GRUB2,可以看GRUB2中文介绍。GNU GRUB(简称GRUB)是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

对于只支持BIOS的主板,可以使用grub进入grub命令行,然后为grub添加第三方的EFI shell模块,然后就可以启动那些使用EFI启动的OS了。对于只有EFI的主板,当然可以写个.efi文件,然后转去读取MBR传统引导。GRUB用于从多操作系统的计算机中选择一个系统来启动,或从系统分区中选择特殊的内核配置。

延伸阅读1:UEFI的组成部分

Pre-EFI初始化模块EFI驱动程序执行环境EFI驱动程序兼容性支持模块(CSM)EFI高层应用GUID磁盘分区表
#it技术干货

相关文章

为什么Go允许百万级别的 goroutines,而Java只允许数千级别的threads?

为什么Go允许百万级别的 goroutines,而Java只允许数千级别的threads?

2023-10-13
什么是四层(L4 proxy)和七层负载均衡(L7 proxy)?

什么是四层(L4 proxy)和七层负载均衡(L7 proxy)?

2023-10-13
Virtual Memory(虚拟内存)是什么?

Virtual Memory(虚拟内存)是什么?

2023-10-13
单片机程序烧录的3种方式(ISP、ICP、IAP)是什么?

单片机程序烧录的3种方式(ISP、ICP、IAP)是什么?

2023-10-13

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取