bios uefi 区别_UEFI vs BIOS:有何区别?

2023-05-16

bios uefi 区别

So you might have heard the acronyms BIOS and UEFI thrown around, especially when trying to switch Operating Systems or messing around with overclocking.

因此,您可能听说过BIOS和UEFI的首字母缩写词,尤其是在尝试切换操作系统或搞乱超频时。

And you might know what these acronyms stand for (Unified Extensible Firmware Interface and Basic Input/Output System, respectively). But have you ever wondered how they're used in a computer system?

您可能知道这些首字母缩写的含义(分别是统一可扩展固件接口和基本输入/输出系统)。 但是您是否想知道它们如何在计算机系统中使用?

Let's demystify these terms and their meanings now.

让我们现在揭开这些术语及其含义的神秘面纱。

开机程序 (Boot Procedure)

First things first – I know we're deviating from the topic, but I promise this will help you with some concepts later on.

首先是第一件事-我知道我们会偏离主题,但是我保证这会在以后的一些概念中为您提供帮助。

So, how does a computer boot? Let's go step by step:

那么,计算机如何启动? 让我们一步一步走:

  1. You press the power button on your laptop/desktop.

    您在笔记本电脑/台式机上按电源按钮。
  2. The CPU starts up, but needs some instructions to work on (remember, the CPU always needs to do something). Since the main memory is empty at this stage, CPU defers to load instructions from the firmware chip on the motherboard and begins executing instructions.

    CPU启动,但是需要一些说明才能进行操作(请记住,CPU始终需要执行某些操作)。 由于在此阶段主存储器为空,因此CPU推迟从主板上的固件芯片加载指令,并开始执行指令。
  3. The firmware code does a Power On Self Test (POST), initializes the remaining hardware, detects the connected peripherals (mouse, keyboard, pendrive etc.) and checks if all connected devices are healthy. You might remember it as a 'beep' that desktops used to make after POST is successful.

    固件代码执行开机自检(POST),初始化其余硬件,检测连接的外围设备(鼠标,键盘,笔式驱动器等),并检查所有连接的设备是否正常。 您可能还记得它是台式机在POST成功后发出的“哔哔声”。
  4. Finally, the firmware code cycles through all storage devices and looks for a boot-loader (usually located in first sector of a disk). If the boot-loader is found, then the firmware hands over control of the computer to it.

    最后,固件代码循环遍历所有存储设备,并寻找引导加载程序(通常位于磁盘的第一扇区)。 如果找到引导加载程序,则固件会将计算机的控制权移交给它。

We don't need to know more about this topic for the purposes of this article. But if you're interested, then read on (otherwise, you can skip to next section).

就本文而言,我们不需要更多地了解此主题。 但是,如果您有兴趣,请继续阅读(否则,您可以跳到下一部分)。

  1. So now that the boot-loader is loaded, its job is to load the rest of the operating system. GRUB is one such boot-loader that is capable of loading unix-like operating systems and is also able to chain-load Windows OS. Boot-loader is only available in the first sector of a disk, which is 512 bytes. Given the complexity of modern operating systems, some of these boot-loaders tend to do multi-stage loading, where the main boot-loader loads the second-stage-boot-loader in an environment which is not restricted to 512 bytes.

    因此,既然已经加载了引导加载程序,它的工作就是加载其余的操作系统。 GRUB是一种这样的引导加载程序,它能够加载类Unix的操作系统,并且还可以链式加载Windows OS。 引导加载程序仅在磁盘的第一个扇区(512字节)中可用。 考虑到现代操作系统的复杂性,这些引导加载程序中的一些倾向于进行多阶段加载,其中主引导加载程序在不限于512字节的环境中加载第二阶段引导加载程序。

  2. The boot-loader then loads the kernel into memory. Unix-like operating systems then run the init process (the master process, from which other processes are forked/executed) and finally initialize the run-levels.

    然后,引导加载程序将内核加载到内存中。 然后,类似Unix的操作系统运行init进程(主进程,从该主进程派生/执行其他进程),最后初始化运行级别 。

  3. In Windows, wininit.exe is loaded along with some other processes like services.exe for service control, lsass.exe for local security and authority (similar to run-levels) and lsm.exe for local session management.

    在Windows中, wininit.exe与其他一些进程一起加载,例如用于服务控制的services.exe ,用于本地安全性和权限(类似于运行级别)的lsass.exe和用于本地会话管理的lsm.exe

  4. After all this, and after some other drivers are initialized, the Graphical User Inferface (GUI) is loaded and you are presented with the login screen.

    在完成所有这些操作以及初始化其他一些驱动程序之后,将加载图形用户界面(GUI),并显示登录屏幕。

This was a very high-level overview of the boot process. If you're interested in Operating Systems, I would recommend that you read more on osdev.net.

这是引导过程的非常高级的概述。 如果您对操作系统感兴趣,建议您在osdev.net上阅读更多内容 。

Now let's get back to our original topic.

现在,让我们回到原始主题。

BIOS: (BIOS:)

BIOS stands for Basic Input/Output System, the firmware we talked about in the above boot procedure.

BIOS代表基本输入/输出系统,即我们在上述引导过程中讨论的固件。

It is stored on an EPROM (Erasable Programmable Read-Only Memory), allowing the manufacturer to push out updates easily.

它存储在EPROM(可擦可编程只读存储器)中,使制造商可以轻松推出更新。

It provides many helper functions that allow reading boot sectors of attached storage and printing things on screen. You can access BIOS during the initial phases of the boot procedure by pressing del, F2 or F10.

它提供了许多帮助程序功能,允许您读取附加存储的引导扇区并在屏幕上打印内容。 您可以在引导过程的初始阶段按delF2F10来访问BIOS。

UEFI: (UEFI:)

UEFI stands for Unified Extensible Firmware Interface. It does the same job as a BIOS, but with one basic difference: it stores all data about initialization and startup in an .efi file, instead of storing it on the firmware.

UEFI代表统一可扩展固件接口。 它执行与BIOS相同的工作,但有一个基本区别:它将有关初始化和启动的所有数据存储在.efi文件中,而不是将其存储在固件中。

This .efi file is stored on a special partition called EFI System Partition (ESP) on the hard disk. This ESP partition also contains the bootloader.

该.efi文件存储在硬盘上称为EFI系统分区(ESP)的特殊分区上。 该ESP分区还包含引导加载程序。

UEFI was designed to overcome many limitations of the old BIOS, including:

UEFI旨在克服旧BIOS的许多限制,包括:

  1. UEFI supports drive sizes upto 9 zettabytes, whereas BIOS only supports 2.2 terabytes.

    UEFI支持的驱动器大小最大为9 ZB,而BIOS仅支持2.2 TB。
  2. UEFI provides faster boot time.

    UEFI提供了更快的启动时间。
  3. UEFI has discrete driver support, while BIOS has drive support stored in its ROM, so updating BIOS firmware is a bit difficult.

    UEFI具有离散驱动程序支持,而BIOS具有存储在其ROM中的驱动器支持,因此更新BIOS固件有点困难。
  4. UEFI offers security like "Secure Boot", which prevents the computer from booting from unauthorized/unsigned applications. This helps in preventing rootkits, but also hampers dual-booting, as it treats other OS as unsigned applications. Currently, only Windows and Ubuntu are signed OS (let me know if I am wrong).

    UEFI提供“安全启动”之类的安全性,可防止计算机从未经授权/未签名的应用程序启动。 这有助于防止rootkit的出现,但同时也会阻止双重引导,因为它将其他操作系统视为未签名的应用程序。 目前,只有Windows和Ubuntu是经过签名的操作系统(如果我错了,请告诉我)。
  5. UEFI runs in 32bit or 64bit mode, whereas BIOS runs in 16bit mode. So UEFI  is able to provide a GUI (navigation with mouse) as opposed to BIOS which allows navigation only using the keyboard.

    UEFI以32位或64位模式运行,而BIOS以16位模式运行。 因此,UEFI能够提供GUI(使用鼠标导航),而BIOS只允许使用键盘进行导航。

您可能不需要UEFI (You might not need UEFI)

Though all modern computers come equipped with UEFI by default, some reasons why you might choose BIOS over UEFI are:

尽管默认情况下所有现代计算机都默认配备UEFI,但您选择BIOS而不是UEFI的一些原因是:

  1. If you're beginner and don't care about messing with any type of firmware, BIOS is for you.

    如果您是新手,并且不介意使用任何类型的固件,BIOS就是您的最佳选择。
  2. If you have < 2 TB per hard disk or partition, you can go with BIOS.

    如果每个硬盘或分区的<2 TB,则可以使用BIOS。
  3. BIOS allows running multiple operating systems without changing any settings This can be a security issue from a modern standpoint, but hey, no hassles for the user.

    BIOS允许在不更改任何设置的情况下运行多个操作系统。从现代的角度来看,这可能是一个安全问题,但是,对于用户而言,没有任何麻烦。
  4. BIOS provides system information to the operating system. So if your OS runs in 16 bit mode, it does not require writing code for interacting with hardware. It can directly use methods provided by BIOS. Else if the OS switches over to 32bit or 64bit mode, then it needs to provide its own subroutines for interacting with hardware.

    BIOS向操作系统提供系统信息。 因此,如果您的操作系统以16位模式运行,则无需编写代码即可与硬件进行交互。 它可以直接使用BIOS提供的方法。 否则,如果操作系统切换到32位或64位模式,则它需要提供自己的子例程来与硬件进行交互。
  5. If you are someone who prefers a keyboard and text based UI over navigation with a mouse and GUI, then BIOS is for you.

    如果您是喜欢基于键盘和文本的UI而不是使用鼠标和GUI进行导航的人,那么BIOS适合您。

UEFI takes these limitations into account and provides a Legacy mode. In it you can run everything as if you had a BIOS firmware. But keep in mind that Intel has announced that it won't support traditional BIOS from 2020.

UEFI考虑了这些限制并提供了传统模式。 在其中,您可以像运行BIOS固件一样运行所有程序。 但请记住,英特尔已宣布从2020年起将不再支持传统的BIOS。

结论 (Conclusion)

This post gave you an overview of the differences between BIOS and UEFI. It also advises you when to choose either one of them and how they are different from each other.

这篇文章概述了BIOS和UEFI之间的区别。 它还会建议您何时选择它们之一,以及它们之间的区别。

If you have any questions, I will always be available on Twitter. Thank you for your time.

如果您有任何疑问,我将始终在Twitter上提供。 感谢您的时间。

翻译自: https://www.freecodecamp.org/news/uefi-vs-bios/

bios uefi 区别

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bios uefi 区别_UEFI vs BIOS:有何区别? 的相关文章

  • Enable VT-x in your BIOS security settings (refer to documentation for your computer)

    创建一个安卓模拟器的时候无法运行 提示为 Intel HAXM 要求运行AVD 但是VT x 没有被允许 意思就是说主机支持VT x xff0c 但是处于未开启状态 你需要进入BOIS中进行设置 BOIS出现Lenovo时按F2进入 选择S
  • bios无法识别usb键盘问题解决备忘

    戴尔的T3600工作站bios中无法使用usb键盘 参考 USB 3 0 和 USB 2 0 在 Precision T3600 T5600 或 T7600 系统上出现故障 Dell 中国https www dell com support
  • 联想G480 win10系统的电脑开启虚拟机bios设置

    启动虚拟机时不成功 要求开启bios设置 在网上搜了很多经验 又说开机时按F1键的 又说F2键的 还有F12的 我开机试了无数次就不能打开BIOS设置 联想电脑win10系统不靠按键还有其他的办法吗 当然有 1 打开设置 2 点立即重启之后
  • 主板bios开启虚拟化支持

    Inter和AMD生产的主流CPU都支持虚拟化技术 但很多电脑或主板BIOS出厂时默认禁用虚拟化技术 某些比较老的CPU是不支持虚拟化技术 要确定其电脑CPU是否支持虚拟化技术 可以在 5分享 镜像 虚拟机下载检测工具 1 打开虚拟化检测工
  • 关于联想G480BIOS中的设置

    由于一段时间对笔记本电脑中的BIOS设置很感兴趣 故在网上搜索一下 找到这篇博客 为了以后那天能用上就先转载一下 以备后用 地址为 关于G480BIOS设置
  • UEFI-SHELL 环境 U盘制作

    访问 https github com pbatard UEFI Shell releases 下载最新的ISO 然后用rufus 做启动盘 Rufus https rufus ie en map list device DUMP BIOS
  • 问题:your cpu does not support kvm extensions

    问题 我的BIOS开启了CPU虚拟化 但是虚拟机仍然显示your cpu does not support kvm extensions 解决 1 关闭虚拟机 2 虚拟机上单击右键 设置 3 选择下图选项 4 重启虚拟机 问题解决
  • 我的游戏的控件在第一次按下 int 16h / ah=1 按键后冻结

    我正在用程序集 8086 编写游戏 我修复了游戏无法打开的问题 但无法修复控件 The ESC key works When I press it it goes to QUIT function but if any other key
  • 我的 BIOS 设置中没有启用 Hyper-V 的选项

    我是 Windows Phone 8 应用程序开发新手 我安装了SDK 8 0 当我运行应用程序时 它显示一条错误 告诉我启用 Hyper V 在搜索过程中我发现这个 MSDN 文档BIOS 中有解决方案 但是当进入我的BIOS设置时 却没
  • 加载引导加载程序的第二阶段和/或将控制权转移给它时出现问题

    我的主引导记录代码 bit16 16bit by default org 0x7c00 jmp short start nop bsOEM db OS423 v 0 1 OEM String start cls mov ah 06h Fun
  • UEFI引导加载程序

    我正在考虑开发一个简单的 首先 UEFI 引导加载程序来加载 ELF 映像 并且想知道是否有人有一个很好的切入点 可以进入任何现有项目 或者我可以用来开始使用的示例 另外 我想知道是否有人有让虚拟机运行 EFI 应用程序的经验 我已经设置了
  • 如何以编程方式启用 LAN 唤醒

    有没有办法以编程方式进入 BIOS 并为支持 LAN 唤醒功能的计算机打开该功能 理想情况下 解决方案应该是跨 BIOS 的 但使用单独的解决方案来打击每个主要供应商也是可以的 BIOS 配置是操作系统有意限制的内容 以避免病毒问题 以前有
  • 在内核模式下读取/写入 Linux 上的 EFI 变量

    我正在研究 Linux UEFI 我想通过我的驱动程序代码访问 efi 变量 目前我正在寻找像 efi get variable 这样的 linux efi h API 但我不知道如何从我的驱动程序代码中调用这些 API struct ef
  • 找出 x86 引导加载程序中引导了哪个驱动器

    我正在为 x86 编写游戏引导加载程序 在启动早期的某一时刻 我需要将启动驱动器中的一些扇区加载到内存中 我使用中断 0x13 ah 02 来执行此操作 当我在虚拟机中尝试它时 它就像一个魅力 然而 当我将映像刻录到 USB 驱动器时 机器
  • 如何使用java获取BIOS信息?

    请告诉我是否可以使用 java 程序获取 BIOS 设置信息 我使用 Windows 7 作为操作系统 这取决于您要阅读的信息 Java 无法读取 BIOS 但 java 可以查询 WMI google for jWMI 这可能会获取您需要
  • 是否有 43 行或更多的标准 BIOS Int 10h 视频模式?

    我正在编写在加载任何操作系统之前以实模式运行的代码 我的程序的一部分涉及将信息转储到视频显示 而标准 80x25 文本模式无法剪切它 许多版本的 Windows 和其他操作系统在显示内核恐慌时似乎可以毫无困难地切换到更大的文本模式 我认为是
  • 使用 Visual Studio 构建 UEFI 驱动程序

    我正在寻找有关如何使用 Visual Studio 2012 项目通过 EDK2 SDK 构建 UEFI 驱动程序的建议 我试图静态链接 UefiLib lib 但惨败 我已将该库添加到链接器下的附加依赖项中 include
  • BIOS 是否将 512 字节引导加载程序复制到 0x7c00

    我正在编写内核 在写这么复杂的东西之前 我认为对内核 引导加载程序 寄存器 BIOS 等进行一些理论阅读不仅会有所帮助 而且是必要的 本文 http lennartb home xs4all nl bootloaders node3 htm
  • 早期的BIOS怎么能使用CALL呢?

    我纯粹是出于爱好原因 试图理解 PC 中的一些低级代码 我为随机的旧千兆字节 MB 下载了一个过时的 BIOS ROM 映像 https www gigabyte com Motherboard GA 8I845GE775 G rev 10
  • UEFI LoadImage 挂起

    我正在考虑使用 Bootservices 函数 LoadImage 从内存加载 UEFI 应用程序映像 函数参数为 typedef EFI STATUS LoadImage IN BOOLEAN BootPolicy IN EFI HAND

随机推荐