传统 (CSM) 启动与 UEFI 启动

传统 (CSM) 启动与 UEFI 启动

为什么条款膜生物反应器谷氨酰胺磷酸酶有关联传统 BIOSUEFI分别?

答案1

较年长的BIOS(基本输入/输出系统)及其现代替代品UEFI(统一可扩展固件接口)都可以看作是你的计算机的“固件”。

它们直接存储在主板上,是计算机开机时运行的第一个软件。它们的主要工作是初始化所有连接的硬件,并从硬盘加载实际操作系统(例如 Ubuntu 或 Windows)的引导加载程序(例如 GRUB),然后启动操作系统。

大多数 UEFI 系统还支持 CSM(兼容性支持模块)启动,它模拟传统 BIOS 接口。

虽然传统 BIOS 启动简单而愚蠢地从磁盘上的固定地址(主引导记录的一部分)读取并执行代码,但 UEFI 启动会在 EFI 系统分区中搜索 EFI 启动文件并执行其中一个。


较年长的膜生物反应器(主引导记录)及更新版本谷氨酰胺磷酸酶(GUID 分区表;GUID = 全局唯一标识符)是分区表格式。

您的硬盘分区格式有两种。较旧的 MBR 格式仅允许整个磁盘上有 4 个主分区(尽管其中一个可以用作扩展分区并包含许多逻辑卷),而 GPT 没有此限制,并且还支持更大的磁盘。

GPT 分区磁盘还可能包含混合 MBR,其引导代码能够加载 EFI 文件,以支持 UEFI 和 Legacy BIOS 引导模式。


那么为什么 BIOS 和 MBR 会相互关联,而 UEFI 又会和 GPT 相互关联呢?

好吧,除了 BIOS/MBR 是当今现代 UEFI/GPT 的祖先之外,它们通常也一起使用。某些操作系统(如 Windows)甚至仅支持在 BIOS 模式下启动 MBR 磁盘,在 UEFI 模式下启动 GPT 磁盘。带有 GRUB 等的 Linux 系统通常可以毫无问题地混合使用它们。

答案2

传统 (CSM) 启动与 UEFI 启动

超级用户有一个获得高度赞同的帖子从 2012 年开始,针对 OP 的问题,很多人都会发现它很有帮助。

CSM(传统)和 UEFI(通用可扩展固件接口)是您在 BIOS(基本输入输出系统)中选择的互斥启动选项。BIOS 的适用范围远不止传统(CSM)启动:

  • 磁盘启动格式:传统 (CSM) 与 UEFI
  • 磁盘启动顺序:硬盘、SSD、USB、NIC(网络接口卡)
  • 磁盘低级操作:RAID 与 AHCI
  • USB 端口:输入时唤醒、系统关闭时供电等。
  • 多显卡:启用/禁用 Intel 或 nVidia
  • 系统日期和时间存储在 RTC(实时时钟)上
  • 可选硬件 POST(开机自检)检查
  • 许多其他 BIOS 选项因计算机而异

Byte 和 Ravery 已经在这里发布了很好的答案,所以我只总结一下:

  • 传统(CSM)和 UEFI 是从存储磁盘(如今通常采用 SSD 的形式)启动的不同方式。
  • CSM 使用 512 字节特定格式的 MBR(主引导记录)来引导操作系统。
  • UEFI 使用大分区(通常为 100 MB)内的文件来启动操作系统。通常它们仍需要 MBR 存在。
  • MBR 和 GPT 是磁盘分区格式的不同规范。您可以在 MBR 格式的磁盘上进行 UEFI 启动。您可以在 GPT 格式的磁盘上进行 MBR 启动(在非 Windows 环境中)。
  • MBR(磁盘的前 512 个字节)通常对用户来说是隐藏的。
  • 可以很方便的查看到EFI分区,如下图

需要注意的是,MBR 可以指磁盘启动方法或磁盘分区格式。

还需要注意的是,UEFI 通常与 GPT 磁盘格式相关联,但 MBR 启动可以使用 GPT 磁盘格式。

查看 EFI 分区

使用lsblk您可以看到EFI分区和文件:

$ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL
NAME        FSTYPE LABEL            MOUNTPOINT   SIZE MODEL
sda                                            931.5G HGST HTS721010A9
├─sda4      ntfs   WINRETOOLS                    450M 
├─sda2                                           128M 
├─sda5      ntfs   Image                        11.4G 
├─sda3      ntfs   HGST_Win10       /mnt/d       919G 
└─sda1      vfat   ESP                           500M 
nvme0n1                                          477G Samsung SSD 960 PRO 512GB           
├─nvme0n1p5 ext4   NVMe_Ubuntu_16.0 /           44.6G 
├─nvme0n1p3                                       16M 
├─nvme0n1p1 ntfs                                 450M 
├─nvme0n1p6 swap   Linux Swap       [SWAP]       7.9G 
├─nvme0n1p4 ntfs   NVMe_Win10       /mnt/c     414.9G 
├─nvme0n1p2 vfat                    /boot/efi     99M 
└─nvme0n1p7 ntfs   Shared_WSL+Linux /mnt/e         9G 

/boot/efi您可以使用命令查看其中的许多文件ls。要查看 99MB 分区内所有文件的大小,请使用:

$ du -hs /boot/efi
35M /boot/efi

gdisk信息

在研究这个答案时,我找到了一个我运行过的命令的链接gdisk,当我再次启动 Windows 时可能会后悔。它在这里,所以如果 Windows 双启动出现错误,你不必重复此操作:

sudo gdisk -l /dev/sda
[sudo] password for rick:          
GPT fdisk (gdisk) version 1.0.1

The protective MBR's 0xEE partition is oversized! Auto-repairing.

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8BEC7AEB-4576-42B0-8A8A-D40779A80126
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 3437 sectors (1.7 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1026047   500.0 MiB   EF00  EFI system partition
   2         1026048         1288191   128.0 MiB   0C01  Microsoft reserved ...
   3         1288192      1928626175   919.0 GiB   0700  Basic data partition
   4      1928626176      1929547775   450.0 MiB   2700  
   5      1929547776      1953523711   11.4 GiB    2700  

我将重新启动 Windows 10,看看 Linux 是否会对修复 Linux 设置中的gdiskWindows 硬盘产生任何影响。我并不担心,因为这是我尚未使用的原始硬盘,但如果上面有数据,则应小心。我将在重新启动和测试后更新此部分。D:/dev/sda

答案3

MBR 是旧固件 (BIOS) 使用的磁盘分区方案。在其开发时,驱动器非常小。随着驱动器变大,MBR 标准被“修补”以适应;但是,存在许多限制。Legacy Boot 无法读取 GPT 分区,因为它未内置于 BIOS 中。此限制仅适用于 BIOS;请参阅下面有关引导加载程序的说明。

随着 EFI 的发展,他们还开发了一种新的分区方案 (GPT),可以更好地利用大型驱动器。EFI 固件可以读取和使用 MBR 分区磁盘,但通常工厂安装会使用更好的 GPT 分区。

笔记:

  • 即使 EFI 固件不需要,某些操作系统(例如 Win10)也会要求 EFI 安装进行 GPT 分区。
  • 尽管 EFI 标准不需要 GPT,但特定实现可能要求。某些计算机在遇到 MBR 磁盘时会自动降级到 Legacy 支持模式。
  • 一些引导加载程序(如 GRUB)可以将 BIOS 分区 (MBR) 放在 GPT 磁盘上。BIOS 可以读取此分区并加载引导加载程序。加载引导加载程序后,引导加载程序可以读取 GPT 分区。

相关内容