我试图了解启动过程的工作原理以及传统 BIOS 和 UEFI 之间的差异,但谈到视频 BIOS,除了维基百科上的一篇小文章外,我找不到太多信息。
据我所知,视频 BIOS 的主要工作是在启动过程中提供显示字符和 2D 图像的基本界面。
但是,我找不到以下问题的答案:
维基百科说 BIOS/UEFI 在启动序列的早期加载视频 BIOS,但它也说:
系统 BIOS 将视频 BIOS 从卡的 ROM 加载到系统 RAM 中,并在启动序列的早期将控制权转移给它。
这是否意味着其余的启动过程实际上是由视频 BIOS 而不是主板的 BIOS/UEFI 执行的?或者这是否意味着视频 BIOS 在加载后,一旦完成某项操作(究竟是什么?),就会将控制权转回系统 BIOS/UEFI,然后完成启动序列?
与视频 BIOS 相对,是否存在视频 UEFI?
我经常看到声称支持 UEFI 的 GPU,但我不明白这到底意味着什么(除了非 UEFI 就绪的 GPU 与 UEFI 系统不兼容这一事实。但为什么呢?)
视频 UEFI 和视频 BIOS 之间的区别是否与主板的传统 BIOS 和 UEFI 之间的区别相同?(如果视频 BIOS/UEFI 不负责完成启动序列,这就没有多大意义)或者还有其他我(可能)忽略的东西?
答案1
不久前,我在阅读完全相同的维基百科页面时也遇到过完全相同的误解,所以即使两年后,我仍然想回答这个问题。
- 这是否意味着其余的启动过程实际上是由视频 BIOS 而不是主板的 BIOS/UEFI 执行的?或者这是否意味着视频 BIOS 在加载后,一旦完成某项操作(究竟是什么?),就会将控制权转回系统 BIOS/UEFI,然后完成启动序列?
第二,视频 BIOS 只是一种 BIOS 扩展主 BIOS 足够信任它,因此它可以将控制流转移到它。当然,扩展可能如果它愿意的话就不会返回控制权(并且这种行为在某些情况下适用),但是对于视频 BIOS 来说这毫无意义。
- 与视频 BIOS 相对,是否存在视频 UEFI?
是的,视频 BIOS取代(参见#3)由“GOP 司机” (共和党代表图形输出协议,UEFI 的“驱动程序”与 BIOS 的“选项 ROM”相同)。如果你也感兴趣,还有一种叫做VBIOS 混合映像存在,它实际上是 GOP 驱动程序和视频 BIOS 的组合,旨在支持传统平台和配备 UEFI 的平台。
我经常看到声称支持 UEFI 的 GPU,但我不明白这到底意味着什么(除了非 UEFI 就绪的 GPU 与 UEFI 系统不兼容这一事实。但为什么呢?)
这意味着这样的显卡可以直接使用 UEFI 运行,即不以 CSM(兼容性支持模块)模式运行,该模式通常简称为“传统模式”。我还注意到一些主张如果检测到非 UEFI 显卡,UEFI 主板可能会回退到该模式。BIOS 系统上仅支持 UEFI 的显卡则相反也可以解决。
视频 UEFI 和视频 BIOS 之间的区别是否与主板的传统 BIOS 和 UEFI 之间的区别相同?
实际上,“视频 BIOS” 是一种有点误导性的措辞,因为没有“视频卡的单独 BIOS”这样的东西。它只是一小段愚蠢的代码(一堆用于 16 位实模式的 80x86 处理器的指令),其主要目的是通过设置其寄存器等来正确初始化视频卡,然后为处理程序提供实现#10十六进制中断通过设置相应的指针值中断向量表 (IVT)。
进一步阅读:
选项 ROM (又名 BIOS 扩展/BIOS 扩展):
- https://en.wikipedia.org/wiki/BIOS#Extensions_(option_ROMs)
- http://staff.ustc.edu.cn/~xyfeng/research/cos/resources/machine/biosextension.htm
- https://www.rigacci.org/docs/biblio/online/firmware/romext.htm
- https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/uefi-validation-option-rom-validation-guidance
- https://docs.oracle.com/cd/E20881_01/html/E20896/sbxis.glink.html
IBM PC启动顺序:
- https://en.wikipedia.org/wiki/Booting#Boot_sequence
- https://en.wikipedia.org/wiki/Power-on_self-test#IBM-compatible_PC_POST
- https://en.wikipedia.org/wiki/UEFI#Boot_stages
- https://wiki.osdev.org/System_Initialization_(x86)
- http://web.archive.org/web/20200120051830/http://philipstorr.id.au/pcbook/book1/post.htm
- https://minuszerodegrees.net/5150/motherboard/IBM 5150-启动序列.htm
一般概念: