MBR+BIOS与GPT+UEFI启动系统的区别

2023-05-16

MBR+BIOS与GPT+UEFI启动系统的区别

近些年来许多电脑厂商的出厂电脑都自带系统,这些电脑的分区看起来和我们一般的组装机电脑的分区有些不同,它除了有一个系统主分区之外在主分区之前还有3个小分区,甚至还有一些其它不认识的分区,而且这种分区对于小白型的装机者看来完全是一脸懵逼,只能给予格式化,不懂的装机者格式化后重刷镜像就进不了系统了,懂一点的装机者就算最后重装好了能进系统了但开机画面会变,而且开机速度会受到影响。

什么是MBR,什么是GPT

GPT和MBR是两种不同的分区方案。目前在Windows下广泛采用的磁盘分区方案仍然是MBR分区结构,但不容怀疑GPT是今后的趋势。

MBR磁盘分区结构用下图简单表示(Windows下基本磁盘、4个主分区)

这里写图片描述

为了方便计算机访问硬盘,把硬盘上的空间划分成许许多多的区块(英文叫sectors,即扇区),然后给每个区块分配一个地址,称为逻辑块地址(即LBA)。
在MBR磁盘的第一个扇区内保存着启动代码和硬盘分区表。启动代码的作用是指引

计算机从活动分区引导启动操作系统(BIOS下启动操作系统的方式);分区表的作用是记录硬盘的分区信息。在MBR中,分区表的大小是固定的,一共可容纳4个主分区信息。在MBR分区表中逻辑块地址采用32位二进制数表示,因此一共可表示2^32(2的32次方)个逻辑块地址。如果一个扇区大小为512字节,那么硬盘最大分区容量仅为2TB。

GPT磁盘分区结构可用下图简单表示(Windows下基本磁盘)

这里写图片描述

可以看到,在GTP磁盘的第一个数据块中同样有一个与MBR(主引导记录)类似的标记,叫做PMBR。PMBR的作用是,当使用不支持GPT的分区工具时,整个硬盘将显示为一个受保护的分区,以防止分区表及硬盘数据遭到破坏。UEFI并不从PMBR中获取GPT磁盘的分区信息,它有自己的分区表,即GPT分区表。

GPT分区表的优势

GPT的分区方案之所以比MBR更先进,是因为在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。在Windows中,微软设定GPT磁盘最大分区数量为128个。另外,GPT分区方案中逻辑块地址(LBA)采用64位二进制数表示,可以计算一下2^64是一个多么庞大的数据,以我们的需求来讲完全有理由认为这个大小约等于无限。除此之外,GPT分区方案在硬盘的末端还有一个备份分区表,保证了分区信息不容易丢失。

什么是BIOS,什么是UEFI

BIOS和UEFI都是引导操作系统启动的必须介质,目前在Windows下广泛采用的引导方案仍然是BIOS引导,但不容怀疑UEFI是今后的趋势。

BIOS引导系统方式(引导Windows)

这里写图片描述

BIOS下启动操作系统之前,必须从硬盘上指定扇区读取系统启动代码(包含在MBR主引导记录中),然后从活动分区中引导启动操作系统,所以在BIOS下引导安装Windows操作系统,我们不得不使用一些工具(DiskGenius)对硬盘进行配置以达到启动要求(即建立MBR硬盘主引导和活动分区)。

传统BIOS的过程好像也不算复杂,但是由于BIOS的资源控制采用了中断向量的方式,所它在扩展性方面以及安全性上都不能有所保障。除此之外,有些电脑的BIOS的硬件自检时间非常长,这个时间大概就是我们的任务管理器显示的BIOS时间。

因为BIOS无法识别GPT分区,所以BIOS下GPT磁盘不能用于启动操作系统,在操作系统提供支持的情况下可用于数据存储。

BIOS方式启动过程看起来很不好,他要不断交接电脑控制权和读取引导记录并尝试引导,屏幕要闪很多次,还要看一段时间的Windows窗口的加载图标。

UEFI引导系统方式(引导Windows)

这里写图片描述

在UEFI下启动操作系统,不再需要主引导记录,不再需要活动分区,不需要任何工具,只要复制安装文件到一个FAT32(主)分区/U盘中,然后从这个分区/U盘启动。

UEFI在开机方面相比BIOS少了自检这一步,它把硬件信息存在了硬盘里,直接读取,因此它的启动速度更快;UEFI是BIOS的一种升级替代方案,UEFI之所以比BIOS强大,是因为UEFI本身已经相当于一个微型操作系统,其带来的便利之处在于:首先,UEFI已具备文件系统(文件系统是操作系统组织管理文件的一种方法,直白点说就是把硬盘上的数据以文件的形式呈现给用户。Fat32、NTFS都是常见的文件系统类型)的支持,它能够直接读取FAT分区中的文件;其次,可开发出直接在UEFI下运行的应用程序,这类程序文件通常以efi结尾。既然UEFI可以直接识别FAT分区中的文件,又有可直接在其中运行的应用程序。那么完全可以将Windows安装程序做成efi类型应用程序,然后把它放到任意fat分区中直接运行即可,如此一来安装Windows操作系统这件过去看上去稍微有点复杂的事情突然就变非常简单了,就像在Windows下打开QQ一样简单。

UEFI可同时识别MBR分区和GPT分区,因此UEFI下,MBR磁盘和GPT磁盘都可用于启动操作系统和数据存储。不过微软限制,UEFI下使用Windows安装程序安装操作系统是只能将系统安装在GPT磁盘中。

UEFI方式启动过程以SSD中启动WIN10为例,按下电源键,过1-2秒,然后出现主板的标志,过1-2秒,标志下出现转圈的点(表示正在加载Windows,这和BIOS启动完全不一样),过5-7S,黑一下,过1-2S,到开机锁屏界面;中间没有出现Windows窗口的加载图标,开机全程给人一种行云流水的感觉。

到底是不是所有的电脑使用GPT+UEFI都比MBR+BIOS快许多,请继续关注下一篇文章如何在MBR+BIOS与GPT+UEFI两种启动方式之间进行转换

BY Sunday丶若雪转载请注明出处

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

MBR+BIOS与GPT+UEFI启动系统的区别 的相关文章

  • 解决debian服务器中文显示乱码问题

    由于安装debian选择语言时选择了简体中文安装 xff0c 但内核没有中文字库 xff0c 导致某些字符显示为乱码 xff08 菱形 xff0c 方块 xff09 解决办法 xff1a 普通用户如果没有设置sudo权限 xff0c 首先切
  • 201609-3炉石传说——CCF试题2016年9月第三题

    问题描述 炉石传说 xff1a 魔兽英雄传 xff08 Hearthstone Heroes of Warcraft xff0c 简称炉石传说 xff09 是暴雪娱乐开发的一款集换式卡牌游戏 xff08 如下图所示 xff09 游戏在一个战
  • C语言打印宏定义/枚举变量 名称和变量值

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • File size exceeds....(文件大小超过限制处理)

    File size exceeds configured limit 2560000 Code insight features not available 原因 xff1a IDEA对能关联的文件大小做了限制 xff0c 主要是为了保护内
  • 第一章-介绍

    介绍 一般建议 什么是游戏引擎 什么是Godot 下载Godot 其他安装方法 Godot UI概述 Project Manager 选择文件名 编辑器窗口 关于节点和场景 Godot中的脚本 关于GDScript 总结 无论你是想要从事的
  • 安装ubuntu系统,报错WslRegisterDistribution failed with error: 0x8007019e

    在windows应用商店安装ubuntu系统 xff0c 报错WslRegisterDistribution failed with error 0x8007019e 1 报错 xff1a Installing this may take
  • 安装Anaconda后,发现文件缺少大量文件

    电脑崩溃修复后 xff0c 使用的Anaconda 居然也崩了 xff0c 重新安装后丢失很多文件 xff0c 然后就是重复的卸载 安装 卸载 xff0c 还是不行 xff0c 我的心态也快要崩了 xff0c 哎 xff0c 就下面图示一样
  • AutoMapping 9 使用入门

    AutoMapping 9语法更改 using AutoMapper using System using System Collections Generic using System Linq using System Text usi
  • Oracle在线练习

    oracle官方的服务 Live SQL xff0c 挺方便的 需要注册一个帐号 访问地址 xff1a https livesql oracle com apex livesql file index html https livesql
  • pyinstaller 打包取消命令行窗口弹出

    pyinstaller F w icon 61 photo ico test py w可以使得exe运行时不弹窗
  • c#有参构造函数中怎么调用其无参构造函数

    class A public A public A int A this 当A a 61 new A 1 时 会先调用无参数的构造函数 在调用有参数那个
  • 使用npm的一些问题

    npm切换为国内的数据源 npm config set registry https span class token punctuation span span class token operator span span class t
  • Caliburn.Micro将枚举 绑定到ComboBox

    参考 https stackoverflow com questions 47480725 caliburn micro enum binding in combobox 上面的文章详细地说明了CM的绑定原理和操作步骤 xff0c 但我需要
  • WPF DataGrid 获取多选项目

    解决方案 xff1a 先附上地址 xff1a https stackoverflow com questions 9880589 bind to selecteditems from datagrid or listbox in mvvm
  • 记一次netcore 3.1 发布失败

    VS版本 xff1a 2019 16 8 5 使用框架 xff1a netcore3 1 问题描述 xff1a 项目可以正常生成 xff0c 但部署模式为独立时 xff0c 不能发布 xff0c 部署模式为依赖框架 xff0c 可以发布 报
  • 在.NET中使用COM组件

    在 NET中使用COM组件 文章目录 在 NET中使用COM组件早期绑定COM对象为COM类型库生成互操作程序集使用COM组件 后期绑定COM对象通过与非托管代码互操作创建COM对象通过平台调用创建COM对象通过C 43 43 Intero
  • Go语言生成dll

    GO语言生成dll 环境dll代码编译调试 环境 操作系统 xff1a win7 64位 go版本 xff1a 1 17 gcc版本 xff1a Thread model win32 gcc version 8 1 0 x86 64 win
  • 腾讯云轻量应用服务器配置https踩坑

    服务器里有许多应用模板 xff0c 这些应用装上应可以运行 xff0c 非常方便 xff0c 但配置https踩了许多坑 xff0c 记录一下吧 以WordPress 腾讯云插件版为例 xff0c 应用信息如下 SSL证书安装 点击Ngin
  • 微信支付宝扫码支付简介

    微信平台 支付模式 付款码支付Native支付JSAPI支付APP支付H5支付小程序支付 各种模式的定义可以查看微信官方文档 这里应用Native支付 xff0c 它是商户系统按微信支付协议生成支付二维码 xff0c 用户再用微信 扫一扫
  • C++十六进制转十进制

    方法一 span class token macro property span class token directive hash span span class token directive keyword include span

随机推荐

  • Apache2 配置 HTTPS

    文章目录 自签名 CA 证书服务器部署 HTTPS客户端验证Https 原理 常见问题参考 自签名 CA 证书 生成密钥 使用 128 位的 RSA 算法生成的密钥 xff0c 4096 是密钥的长度 xff0c 建议使用 4096 或以上
  • WPF .Net5 caliburnmicro初始化

    貌似nuget没有提供 Net5的Starter模版 xff0c 因此记录一下初始化工程的流程 下载Cal Nuget 搜索Caliburn 下载4 0 173版本 向工程添加ViewModels和Views文件夹 添加ViewModel
  • MSF手机渗透实验(未成功)(CVE-2019-2215 Binder UA)

    1 前言 最近想利用metasploit对手机进行依次渗透实验 通过查看最近三年的安卓漏洞 xff0c 我对CVE 2019 2215这个漏洞很感兴趣 幸运的是 xff0c metasploit里就有这个漏洞的攻击payload xff0c
  • Socket缓冲区大小修改与系统设置

    每个Socket在Linux中都映射为一个文件 xff0c 并与内核中两个缓冲区 xff08 读缓冲区 写缓冲区 xff09 相关联 或者说 xff0c 每个Socket拥有两个内核缓冲区 有时 xff0c 我们需要修改缓冲区的内核限制的最
  • Java-两个较大的List快速取交集、差集

    工作中经常遇到需要取两个集合之间的交集 差集情况 xff0c 但是普通的retainAll 和removeAll 无法满足数据量大的情况 xff0c 由此就自己尝试运用其他的方法解决 注 xff1a 如果数据量小的情况下 xff0c 还是使
  • CUDA程序安装失败原因及解决方案

    安装教程可以看别人的 xff0c 都差不多 一 GPU和所选cuda版本不兼容 建议先确认自己的GPU是否支持CUDA xff0c 我卑微的950是支持的 再查看自己显卡适配的cuda版本 xff0c 一般来说无差别 二 没有VS 若电脑没
  • Docker 学习(十一)编写Dockerfile

    目录 1 常用指令讲解2 制作Hello World的Dockerfile3 制作 jar包的Dockerfile 1 常用指令讲解 FROM 镜像 版本 xff1a 指定所依赖的基础镜像 RUN lt 命令行命令 gt xff1a 等同于
  • 5G/NR 5G核心网(5GC)之基本概念

    系列文章目录 5G NR 5G核心网 5GC 之网络功能和实体 5G NR 5G核心网 5GC 之非漫游参考架构 5G NR 5G核心网 5GC 之漫游参考架构 5G NR 5G核心网 5GC 之网络功能服务通信 第五代移动通信系统 5G
  • 5G/NR 5G核心网(5GC)之漫游参考架构

    系列文章目录 5G NR 5G核心网 5GC 之基本概念 5G NR 5G核心网 5GC 之网络功能和实体 5G NR 5G核心网 5GC 之非漫游参考架构 5G NR 5G核心网 5GC 之网络功能服务通信 1 5GS漫游参考架构 5G架
  • axure 表格自适应界面

    思路和效果如下图 xff1a 在给定宽度 xff08 all from xff09 内 xff0c 给列表百分比宽度 xff0c 后续修改中 xff0c 只需要修改all from xff0c all from y xff0c 既可调整大小
  • STM32MCU量产工具:STM32 Batch Programmer

    写在最前面 由于本人从事嵌入式开发 xff08 STM32方向 xff09 xff0c 公司产品多数都为STM32芯片 xff0c 面对批量芯片烧录工作实在麻烦 xff08 未送寄焊厂烧录 xff09 xff0c 于是本人根据公司 同事及自
  • QNX 7.1 交叉编译 boost 1.76

    配置 QNX 编译环境 假如 QNX 7 1 SDP 的路径为 work sdk qnx710 xff0c 使用 source 命令让 qnx 环境变量生效 xff1a span class token builtin class name
  • 创建自签名数字证书PFX格式

    创建自签名数字证书PFX格式 1 在系统中安装一个自签名数字证书 1 1 安装makecert exe xff0c 可直接安装Visual Studio xff08 Visual Studio包含makecert exe xff09 1 2
  • E5 调用API续订服务:Microsoft 365 E5 Renew X

    Microsoft 365 E5 Renew X Microsoft 365 E5 Renew X是一款网页版的E5续订服务 xff0c 其依赖网页浏览器呈现支持用户多端操作 xff0c 完全将E5账户API调用托管在了服务器端因此用户无需
  • ARM Cortex-M3 深度研究 - 慎用 volatile 关键字修饰 double longlong 等64位长度类型的变量

    ARM Cortex M3 深度研究 慎用 volatile 关键字修饰 double longlong 等64位长度类型的变量 导语 大家在做嵌入式项目的时候应该都使用过volatile关键字来修饰访问比较频繁的变量 volatile关键
  • 综合项目之闪讯破解(二)之 如何用C++建立PPPOE连接

    如何用C 43 43 建立PPPOE连接 之前我们把闪讯拨号的真实用户名通过特定算法得到了 xff0c 密码闪讯是没有加密的 xff0c 因此我们接下来就是建立一个PPPOE连接 通过程序代码建立PPPOE连接的方法有大概这么几种 xff1
  • 综合项目之闪讯破解(三)之 如何用C++实现PPPOE拨号

    如何用C 43 43 实现PPPOE拨号 1 xff09 CMD命令行方式 拨号本是一件很简单的事情 xff0c CMD命令行直接搞定 xff0c 但我在第一篇文章中提到过 xff0c 闪讯的真实用户名的前两位是换行符 n 和 r xff0
  • 综合项目之闪讯破解(四)之 如何用C++编写可被C#调用的Dll

    如何用C 43 43 编写可被C 调用的Dll 之前的三篇文章已经将闪讯的算法以及PPPOE拨号的关键函数全部用C 43 43 实现了 xff0c 但C 43 43 写界面比较繁琐 xff0c 本身我擅长C 所以决定用C 写界面 xff0c
  • 综合项目之闪讯破解(五)之 如何用C#调用C++编写的Dll

    如何用C 调用C 43 43 编写的Dll 上一篇文章我们提到了C 与C 43 43 DLL的联合项目的好处 xff0c 并且成功编写了一个求和函数的C 43 43 Dll 接下来继续用C 调用这个Dll 1 xff09 用VS建立一个C
  • MBR+BIOS与GPT+UEFI启动系统的区别

    MBR 43 BIOS与GPT 43 UEFI启动系统的区别 近些年来许多电脑厂商的出厂电脑都自带系统 xff0c 这些电脑的分区看起来和我们一般的组装机电脑的分区有些不同 xff0c 它除了有一个系统主分区之外在主分区之前还有3个小分区