萝卜头IT论坛

了解更多
搜索
查看: 606|回复: 4
收起左侧

[经验分享] Legacy和UEFI,MBR和GPT的区别

[复制链接]
发表于 2020-11-14 10:28:09 | 显示全部楼层 |阅读模式
普通帖子
帖子关键词: Legacy和UEFI,MBR和GPT的区别
Legacy和UEFI指的是系统引导方式(Legacy为传统BIOS,UEFI为新式BIOS),MBR和GPT指的是磁盘分区表类型。

一般情况下都是Legacy+MBR, UEFI+GPT这两种组合。但Legacy+GPT,UEFI+MBR也可以实现。

Legacy用的是8086汇编,UEFI 99%以上用C,UEFI的APP和Drives可以用C/C++。
64位的UEFI固件是64位的操作系统(少数二合一平板用32位UEFI固件的可以忽略不计),Legacy是16位的。
Legacy是直接针对底层硬件细节,UEFI通过Firmware-OS Interface、Boot Services、Runtime Services为操作系统和引导器屏蔽了底层硬件的细节。
UEFI可以扩展,大多数硬件加载UEFI的驱动模块就可以完成初始化,驱动模块可以放在固件中,也可以放在设备上,比如显卡的GOP,系统启动就自动加载。UEFI中的每个Table和Protocol都有版本号,可以平滑升级。开发者可以自己根据规范开发UEFI应用程序和驱动程序。
UEFI基于time的异步操作,提高了CPU的效率,减少了等待时间。
UEFI舍弃了中断这种外部设备操作方式,仅保留了时钟中断,操作外部设备采用事件+异步操作,启动的时候按需加载外部设备。
UEFI有个安全启动功能,只有当程序的证书被信任才会被执行。

在UEFI模式下启动,启动的是EFI驱动和应用程序,而且只要系统一启动,就直接是64位的了。(少数二合一平板32位的UEFI固件忽略不计)

那么如果选择UEFI模式启动,所有的16位的MS-DOS实用程序,DOS工具包和其它的维护工具以及32位的应用程序都是无法加载和启动的。UEFI必须安装使用64位系统!
所以在UEFI模式下,我们不能引导32位的系统。
但是呢,在Legacy模式下呢,16位的DOS工具包、32位的程序和系统、64位的都可以OK。
本文只讨论原生UEFI和原生BIOS。
至于带有CSM兼容模块的UEFI本身就是UEFI+BIOS的结合体,自然全兼容没话说。

至于分区表,接下来慢慢说这个事。

硬盘一个逻辑扇区有512个字节,硬盘的第一个扇区,也就是0磁道0柱面1扇区,也就是逻辑扇区0,这个扇区就叫做主引导记录,叫MBR(master boot record)
回复

使用道具 举报

发表于 2020-11-14 13:03:30 | 显示全部楼层
uefi启动不需要mbr
回复

使用道具 举报

 楼主| 发表于 2020-11-14 14:44:37 | 显示全部楼层
对,但是mbr分区通用
@seatt1234
回复

使用道具 举报

发表于 2020-11-14 21:35:36 | 显示全部楼层
mcxiaozhanggzs 发表于 2020-11-14 14:44
对,但是mbr分区通用
@seatt1234

hybrid MBR非常危险,如果两个分区表数据不同步,然后又在不同系统上混用,那这个盘上的数据就毁了
回复

使用道具 举报

发表于 2021-2-23 04:52:28 来自手机 | 显示全部楼层
bios的启动项设置
回复

使用道具 举报

联系站长(Contact)|萝卜头IT论坛 ( 苏ICP备15050961号-1 )

GMT+8, 2021-4-16 16:19 , Processed in 0.173631 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表