BIOS + MBR > UEFI + GPT
硬件接口系统与磁盘分区
UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。
名词解释:
- BIOS (Basic Input/Output System) 基本输入输出系统
- MBR (Master Boot Record) 主引导记录
- UEFI (Unified EFI) 统一可扩展固件接口.包括内置命令行界面,读取分区表,浏览文件等特性,GPT分区也是UEFI标准的一部分
- GPT (GUID Partition Table) GUID分区表,是UEFI 规范的一部分。
- EFI (Extensible Firmware Interface) 可扩展固件接口
- GUID (globally unique identifiers) 全局唯一标识符
- ESP (EFI System Partition) EFI系统分区, GPT的启动分区。包含一个efi目录。每个引导装置程序有自己的标识符和一个对应的子目录,如efi/microsoft, efi/apple, efi/grub. 启动加载文件后缀.efi,
- PMBR (Protective MBR) 保护性MBR, GPT的PMBR存在的意义就是,当不支持GPT的分区工具试图对硬盘进行操作时(例如MS-DOS和Linux的fdisk程序),它可以根据这份PMBR以传统方式启动,过程和MBR+BIOS完全一致,极大地提高了兼容性。这种MBR会认为GPT驱动器有一个占据了整个磁盘的分区。
- POST (Power-On Self-Test) BIOS开机自检
- GRUB (Grand Unified Boot Loader) 大一统引导装载程序
- MSR (Microsoft Reserved Partition) Microsoft 保留分区, GPT格式磁盘用于安装Win7/8系统都会自动创建该分区。
- MBR不支持大于2T的硬盘。GPT支持最大卷为18 EB(1EB=1048576TB)50多万倍。不过MBR是1983年就提出来的,那时候支持2Tb对于当时的人来说,2Tb也是天文数字了。
- MBR最多4个主分区,超过4个再分区只能通过逻辑分区。GPT可以支持无限个分区,微软目前的限定是128个。Linux、ubuntu、macos都能支持这种分区格式。
- GPT分区磁盘有备份分区表来提高分区数据结构的完整性。MRB没有。
- UEFI可以实现启动时原生分辨率,可用鼠标操作图形界面,不再是枯燥的蓝底白字的英文。较新的版本还有截图,联网等功能。
- UEFI + GPT 支持Secure Boot。通过保护预启动或预引导进程,抵御bootkit攻击,从而提高安全性。所有在开机时比Windows内核更早加载,实现内核劫持的技术,都可以称之为Bootkit。
- BIOS由汇编语言编写,UEFI基本由C语言编写。
- BIOS+MBR的系统引导文件可以和系统文件在同一分区的根目录,也可以不与系统文件同一分区,只要系统引导文件所在分区为活动的主分区即可启动操作系统,而UEFI+GPT只能把系统引导文件放置在ESP分区,且操作系统必须在另外的主分区,也就是说,UEFI+GPT强制要求系统启动文件与系统文件必须分离,不在同一分区。
一个计算机是使用BIOS还是使用UEFI,是由这台计算机的主板决定的,UEFI大约在2005年出现,到2010年左右逐渐普及。
大约从2012年的Windows 8操作系统及服务器操作系统Windwos Server 2012开始,主流操作系统及主板厂商全面支持GPT分区。
同时,主板也大约在2010年左右,之前大部分支持BIOS,之后大部分支持UEFI。
在过渡期间,可能同时会有这2种(BIOS, UEFI)主板上市。
只有基于EFI的电脑能从GPT磁盘启动
UEFI主板:UEFI + GPT
GPT分区有PMBR的兼容区,所以UEFI的主板也可以使用传统的MBR方式。
对于老旧机器的BIOS主板:BIOS + MBR
双硬盘:BIOS + MBR系统主硬盘 + MBR/GPT数据硬盘
===================
Windows系统,查看启动模式(UEFI or Legacy BIOS)
https://wiki.archlinux.org/index.php/Dual_boot_with_Windows
https://www.eightforums.com/threads/bios-mode-see-if-windows-boot-in-uefi-or-legacy-mode.29504/
1. DiskManagement 磁盘管理下查看是否有(EFI System Partition)分区;
2. 开始运行:msinfo32, 在System Summary下找到BIOS Mode项目,内容会是(Lagacy or UEFI);
3. 打开日志:C:WindowsPanthersetupact.log, 查找“Detected boot environment”关键字,看其后内容:(EFI or BIOS);
4. 命令提示运行:wpeutil UpdateBootInfo,查看值
reg query HKLMSystemCurrentControlSetControl /v PEFirmwareType
REG_DWORD (returns 0x1 if the PC boots in Legacy BIOS mode or 0x2 if the PC boots in UEFI mode.)
===================
http://www.eassos.cn/jiao-cheng/ying-pan/mbr-vs-gpt.php
https://en.wikipedia.org/wiki/GUID_Partition_Table
https://www.zhihu.com/question/28471913
UEFI+GPT与BIOS+MBR各自有什么优缺点?
https://www.itsk.com/thread-345631-1-1.html
https://zhuanlan.zhihu.com/p/26098509
https://news.mydrivers.com/1/503/503560.htm
https://blog.51cto.com/zhaoshilei/1912606
=============
http://www.wnavy.com/archives/1254
http://drops.xmd5.com/static/drops/tips-12043.html
https://wiki.archlinux.org/index.php/Partitioning#GUID_Partition_Table
https://en.wikipedia.org/wiki/Master_boot_record
https://en.wikipedia.org/wiki/Disk_partitioning
https://en.wikipedia.org/wiki/Booting#Boot-loader
https://en.wikipedia.org/wiki/GUID_Partition_Table
https://en.wikipedia.org/wiki/Logical_block_addressing
https://en.wikipedia.org/wiki/Cylinder-head-sector
https://en.wikipedia.org/wiki/Chain_loading
https://en.wikipedia.org/wiki/GNU_GRUB
http://wiki.rosalab.ru/en/index.php/Grub2_theme_tutorial
https://wiki.gentoo.org/wiki/GRUB2
https://wiki.archlinux.org/index.php/GRUB
https://www.gnu.org/software/grub/manual/grub/
https://en.wikipedia.org/wiki/BIOS
https://en.wikipedia.org/wiki/BIOS_boot_partition
https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface
https://en.wikipedia.org/wiki/Booting#Boot-loader
Comparison of boot loaders
https://en.wikipedia.org/wiki/Comparison_of_boot_loaders
============
用dd if=/dev/sdc of=/tmp/mbr.bin bs=446 count=1 提取出。
用hexdump -C /tmp/mbr.bin 查看