Byt*_*der 23
较旧的BIOS(基本输入/输出系统)及其现代替代品UEFI(统一可扩展固件接口)都可以被视为计算机的“固件”。
它们直接存储在主板上,是计算机开机时运行的第一个软件。他们的主要工作是初始化所有连接的硬件并从硬盘加载实际操作系统(例如 Ubuntu 或 Windows)的引导加载程序(例如 GRUB),然后启动操作系统。
大多数 UEFI 系统还支持 CSM(兼容性支持模块)引导,它模拟 Legacy BIOS 界面。
传统 BIOS 引导简单而愚蠢地从磁盘上的固定地址(主引导记录的一部分)读取和执行代码,而 UEFI 引导会搜索 EFI 系统分区中的 EFI 引导文件并执行其中之一。
较旧的MBR(主引导记录)和较新的GPT(GUID 分区表;GUID = 全局唯一标识符)是分区表格式。
您的硬盘分区为这两种格式之一。旧的 MBR 格式只允许整个磁盘上有 4 个主分区(尽管其中一个可以用作扩展分区并包含许多逻辑卷),而 GPT 没有这个限制,也支持更大的磁盘。
GPT 分区磁盘还可能包含带有引导代码的混合 MBR,能够加载 EFI 文件,以支持 UEFI 和传统 BIOS 引导模式。
那么为什么 BIOS 和 MBR 相互关联,以及 UEFI 与 GPT 相关联呢?
好吧,除了 BIOS/MBR 是当今现代 UEFI/GPT 的祖先之外,它们通常也一起使用。某些操作系统(如 Windows)甚至只支持在 BIOS 模式下启动 MBR 磁盘和在 UEFI 模式下启动 GPT 磁盘。带有例如 GRUB 的 Linux 系统通常不会以任何一种方式混合它们。
超级用户在 2012 年就 OP 的问题发表了一个高度赞成的帖子,许多人会觉得这很有帮助。
CSM(传统)和 UEFI(通用可扩展固件接口)是您在 BIOS(基本输入输出系统)中选择的互斥引导选项。BIOS 不仅仅适用于传统 (CSM) 引导:
Byte 和 Ravery 已经在这里发布了很好的答案,所以我只想总结一下:
重要的是要注意 MBR 可以指磁盘引导方法或磁盘分区格式的歧义。
还需要注意的是,UEFI 通常与 GPT 磁盘格式相关联,但 MBR 启动可以使用 GPT 磁盘格式。
使用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
Run Code Online (Sandbox Code Playgroud)
/boot/efi使用ls命令可以看到很多文件。要查看 99MB 分区内所有文件的大小,请使用:
$ du -hs /boot/efi
35M /boot/efi
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
我将重新启动进入Windows 10,看看Linux的gdisk有修复Windows的硬盘驱动器的任何后果D:这是/dev/sda在我的Linux安装。我不担心,因为它是我还没有使用过的原始硬盘,但是如果上面有数据,你应该小心。我将在重新启动和测试后更新此部分。
| 归档时间: |
|
| 查看次数: |
57912 次 |
| 最近记录: |