当前位置: 首页 > news >正文

一文详解U盘启动UEFI/Legacy方式以及GPT/MBR关系

对于装系统的老手而说一直想研究一下装系统的原理,以及面对一些问题时的解决思路,故对以前的方法进行原理上的解释,主要想理解其底层原理。

引导模式

MBR分区可以同时支持UEFI和Legacy引导,我们可以看一下微pe制作的启动盘,它就是MBR格式却可以同时支持UEFI和Legacy,因为里面有两种引导文件。

GPT分区也可以同时支持UEFI和Legacy引导,我们可以看一下ventory制作的启动盘,它既可以采用MBR分区支持的UEFI和Legacy,也可以采用GPT分区支持的UEFI和Legacy,也是因为里面有两种引导文件。

所以说安装系统时引导模式和硬盘格式是否支持无关,我们可以做到在MBR格式下同时支持UEFI和Legacy来引导Windows10系统,同理在GPT格式下同时支持UEFI和Legacy来引导Windows10系统也可以,原理就是有两个引导文件。但我们安装系统时没有必要同时使用UEFI和Legacy来引导系统,只会选择一种引导模式来安装系统,理论上UEFI对应GPT,在GPT硬盘上生成UEFI引导文件,Legacy对应MBR,在MBR硬盘上生成Legacy引导文件,所以后面安装时出现的问题也是基于理论上UEFI必须对应GPT,Legacy必须对应MBR。

当我们使用微pe U盘启动工具时,会有UEFI和Legacy选项,这是因为微pe支持两种模式启动,U盘中有两种引导文件。

当我们使用微软官方U盘启动工具时,也会发现有UEFI和Legacy选项,这是因为Windows10本身支持两种模式启动,U盘中有两种引导文件。

当我们使用微ventory U盘启动工具时,会有UEFI和Legacy选项,这是因为ventory支持两种模式启动,U盘中有两种引导文件。

所以当我们使用微pe U盘选择UEFI启动时进入pe系统后选择Windows安装工具也是UEFI模式,同理如果选择Legacy启动进入pe系统后选择Windows安装工具就是Legacy模式。

现在有集成的ventory系统,它的原理也是如此。使用ventoryU盘UEFI启动时,直接选择Windows.iso就采用的是UEFI模式,选择微pe.iso也采用的是UEFI模式。在微pe里面再选择Windows安装程序也是UEFI模式。
同理使用ventoryU盘Legacy启动时,直接选择Windows.iso就采用的是Legacy模式,选择微pe.iso也采用的是Legacy模式。在微pe里面再选择Windows安装程序也是Legacy模式。

如果我们将pe系统直接安装到硬盘,电脑启动是会显示两个系统,此时选择pe系统时,由于pe系统本身支持UEFI和Legacy两种模式,此时就是采用系统当前的引导模式。如果硬盘格式是GPT那么系统就是UEFI引导模式,进pe系统也是UEFI引导模式。如果硬盘格式是MBR那么系统就是Legacy引导模式,进pe系统也是Legacy引导模式。

分区工具DiskGenius分区

DiskGenius只是对硬盘进行操作,和采用UEFI启动还是Legacy启动都没有任何关系。
1、GPT快速分区
分区结束硬盘界面
在这里插入图片描述
安装程序中硬盘界面
在这里插入图片描述
2、MBR快速分区
分区结束硬盘界面
在这里插入图片描述
安装程序中硬盘界面
在这里插入图片描述
备注:以上的是一个统一规范,但GPT硬盘分区也可以有MBR的盘符样式,MBR硬盘分区也可以有GPT的盘符样式。当我们无法安装系统时,可以转换分区表类型,但是它的盘符样式还是不变。

Windows安装工具分区

1、UEFI启动
原先硬盘格式为GPT
在这里插入图片描述
此时分区结束后的硬盘分区表类型为GPT
原先硬盘格式为MBR
在这里插入图片描述
此时分区结束后的硬盘分区表类型为GPT
2、Legacy启动
原先硬盘格式为GPT
在这里插入图片描述
此时分区结束后的硬盘分区表类型为MBR
原先硬盘格式为MBR
在这里插入图片描述
此时分区结束后的硬盘分区表类型为MBR
结论:
安装工具分区最终的盘符样式取决于采用的引导方式。
如果你采用UEFI引导不管之前硬盘是GPT还是MBR分完之后都是GPT格式,且盘符样式都一样。
如果你采用Legacy引导不管之前硬盘是GPT还是MBR分完之后都是MBR格式,且盘符样式都一样。

安装时出现的问题

在这里插入图片描述
在这里插入图片描述

重点:

UEFI必须对应GPT,Legacy必须对应MBR。

问题描述:

当我们使用Windows安装工具安装系统时如果我们采用UEFI启动U盘,而硬盘分区格式是MBR时会出现无法安装的问题。如果采用Legacy启动U盘,而硬盘分区格式是GPT时也会出现无法安装的问题。
原因:当我们使用UEFI模式启动U盘,打开Windows系统中setup安装程序,打开就是UEFI模式的安装程序,所以如果此时你的硬盘格式时MBR时就会无法安装。同理采用Legacy模式启动U盘,打开Windows系统中setup安装程序,打开就是Legacy模式的安装程序,所以如果此时你的硬盘格式时GPT时也会无法安装。

解决方法

解决方法一:

转换目标磁盘为MBR分区表,如果希望或需要保持Legacy BIOS引导模式进行安装,您需要将目标磁盘的分区表转换为MBR格式。
shift+F10打开命令行,依次输入命令如下图所示。进去命令窗口后先输入diskpart
1、输入list disk,回车键确定;(会列出所有的磁盘,记住自己硬盘的磁盘号,通过容量大小就可以分辨了,如下图所示,磁盘0就是我们的硬盘,磁盘1就是U盘);
2、输入select disk 0,回车键确定;(选择磁盘0,也就是我们的硬盘,就是准备做系统的硬盘);3、输入clean,回车键确定;(清空磁盘,相当于格式化全盘);
4、输入convert mbr,回车键确定;(将该硬盘转换为MBR格式,如果想要将硬盘转化为GPT,那就是输入“convert gpt”);

解决方法二:

如果您的U盘支持多种启动模式,尝试将U盘启动模式改为UEFI模式。重启电脑并进入BIOS设置界面,将U盘调整为第一启动设备,并确保它被识别为UEFI模式。保存设置并退出BIOS,电脑将重启并从U盘以UEFI模式引导。

解决方法三(建议采用此方法)

在pe系统中使用Cgi工具进行还原。
Cgi本质上是对硬盘进行还原操作,和使用UEFI还是Legacy启动没有任何关系。
当使用UEFI启动而你的硬盘格式是MBR,就可以使用Cgi还原系统成功。
当使用Legacy启动而你的硬盘格式是GPT,也可以使用Cgi还原系统成功。

拓展

主板启动方式>PE启动方式>硬盘格式>系统引导文件
先确定主板启动方式,再选择支持该启动方式的PE,然后选择正确的硬盘格式,最后看生成的引导文件能不能成功的引导系统。在这里插入图片描述
主板同时支持UEFI和Legacy引导模式,我们一般会在硬盘中安装一种模式,并生成对应的引导文件。
如果你是UEFI引导文件,BIOS模式就是UEFI。
如果你是Legacy引导文件,BIOS模式就是BIOS。
如果你是两者引导文件都有,就需要选择一种,选择哪种,就是哪种主板来引导。

相关文章:

一文详解U盘启动UEFI/Legacy方式以及GPT/MBR关系

对于装系统的老手而说一直想研究一下装系统的原理,以及面对一些问题时的解决思路,故对以前的方法进行原理上的解释,主要想理解其底层原理。 引导模式 MBR分区可以同时支持UEFI和Legacy引导,我们可以看一下微pe制作的启动盘&#…...

Unity Shader 学习13:屏幕后处理 - 使用高斯模糊的Bloom辉光效果

目录 一、基本的后处理流程 - 以将画面转化为灰度图为例 1. C#调用shader 2. Shader实现效果 二、Bloom辉光效果 1. 主要变量 2. Shader效果 (1)提取较亮区域 - pass1 (2)高斯模糊 - pass2&3 (3&#xff…...

小迪安全-24天-文件管理,显示上传,黑白名单,访问控制

上节课回顾,token问题 没有更新token值,造成了复用 加上这段代码就好了,就不会复用了 文件管理-文件上传 upload.html文件,找ai生成就行 uoload.php接受文件上传的信息 这里在写个临时文件存储换个地方 因为上面临时文件存在c盘…...

java23种设计模式-建造者模式

建造者模式(Builder Pattern)学习笔记 1. 模式定义 建造者模式是一种创建型设计模式,通过分步构建复杂对象的方式,将对象的构建过程与表示分离。允许使用相同的构建过程创建不同的对象表示。 2. 适用场景 ✅ 需要创建包含多个…...

JMeter 中实现 100 个用户在 3 秒内并发登录

在 JMeter 中实现 100 个用户在 3 秒内并发登录,需要合理配置线程组、定时器和测试逻辑。以下是具体步骤: 1. 创建测试计划 打开 JMeter。右键点击“Test Plan”,选择 Add > Threads (Users) > Thread Group。 : 设置为 100(模拟 100 个用户)。 : 设置为 3...

SOME/IP-SD -- 协议英文原文讲解2

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.2.2 S…...

IntelliJ IDEA中Maven配置全指南

一、环境准备与基础配置 1.1 Windows 环境下载并配置 Maven 见此篇博文:环境配置 1.2 IDEA配置步骤 打开设置面板:File → Settings → Build → Build Tools → Maven 关键配置项: Maven home path E:\apache-maven-3.9.9 (…...

第438场周赛:判断操作后字符串中的数字是否相等、提取至多 K 个元素的最大总和、判断操作后字符串中的数字是否相等 Ⅱ、正方形上的点之间的最大距离

Q1、判断操作后字符串中的数字是否相等 1、题目描述 给你一个由数字组成的字符串 s 。重复执行以下操作,直到字符串恰好包含 两个 数字: 从第一个数字开始,对于 s 中的每一对连续数字,计算这两个数字的和 模 10。用计算得到的新…...

20-R 绘图 - 饼图

R 绘图 - 饼图 R 语言提供来大量的库来实现绘图功能。 饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表,用于描述量、频率或百分比之间的相对关系。 R 语言使用 pie() 函数来实现饼图,语法格式如下: pie(x, l…...

【LLM】R1复现项目(SimpleRL、OpenR1、LogitRL、TinyZero)持续更新

note (1)未来的工作需亟待解决: 支持大规模 RL 训练(PPO、GRPO 等)的开源基础框架用于稳定训练的 GRPO 训练超参的自动化调优RL 训练数据的配比(难度、领域、任务等)基于 Instruct 模型训练 R…...

Linux 内核网络设备驱动编程:私有协议支持

一、struct net_device的通用性与私有协议的使用 struct net_device是Linux内核中用于描述网络设备的核心数据结构,它不仅限于TCP/IP协议,还可以用于支持各种类型的网络协议,包括私有协议。其原因如下: 协议无关性:struct net_device的设计是通用的,它本身并不依赖于任何…...

20241130 RocketMQ本机安装与SpringBoot整合

目录 一、RocketMQ简介 ???1.1、核心概念 ???1.2、应用场景 ???1.3、架构设计 2、RocketMQ Server安装 3、RocketMQ可视化控制台安装与使用 4、SpringBoot整合RocketMQ实现消息发送和接收? ? ? ? ? 4.1、添加maven依赖 ???4.2、yaml配置 ???4.3、…...

FFmpeg进化论:从av_register_all手动注册到编译期自动加载的技术跃迁

介绍 音视频开发都知道 FFmpeg,因此对 av_register_all 这个 API 都很熟悉,但ffmpeg 4.0 版本开始就已经废弃了,是旧版本中用于全局初始化的重要接口。 基本功能 核心作用:av_register_all() 用于注册所有封装器(muxer)、解封装器(demuxer)和协议处理器(protocol),…...

Http升级为Https - 开发/测试服环境

1.应用场景 主要用于开发/测试服环境将http升级为https, 防止前端web(浏览器)出现Mixed Content报错; 2.学习/操作 1.文档阅读 deepseek 问答; 2.整理输出 报错信息: Mixed Content: The page at <URL> was loaded over HTTPS, but requested an insecure XMLHttpRequ…...

C语言预编译

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文一、预处理的作用与流程&#xf…...

算法刷题-字符串-151.反转单词

题目 给一串字符串&#xff0c;里面有若干单词&#xff0c;以空格界定单词的结束&#xff0c;翻转其中的单词 输入&#xff1a;s " hello world " 输出&#xff1a;“world hello” 需要注意的是&#xff0c;给定的字符串可能存在头空格、尾空格以及中间的空格数量…...

单片机裸机编程:状态机与其他高效编程框架

在单片机裸机编程中&#xff0c;状态机是一种非常强大的工具&#xff0c;能够有效管理复杂的逻辑和任务切换。除了状态机&#xff0c;还有其他几种编程模式可以在不使用 RTOS 的情况下实现高效的程序设计。以下是一些常见的方法&#xff1a; 1. 状态机编程 状态机通过定义系统…...

图表控件Aspose.Diagram入门教程:使用 Python 将 VSDX 转换为 PDF

将VSDX转换为PDF可让用户轻松共享图表。PDF 文件保留原始文档的布局和设计。它们广泛用于演示文稿、报告和文档。在这篇博文中&#xff0c;我们将探讨如何在 Python 中将 VSDX 转换为 PDF。 本文涵盖以下主题&#xff1a; Python VSDX 到 PDF 转换器库使用 Python 将 VSDX 转…...

DPVS-1:编译安装DPVS (ubuntu22.04)

操作系统 rootubuntu22:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy rootubuntu22:~# 前置软件准备 apt install git apt install meson apt install gcc ap…...

即将发布书籍 - Yocto项目实战教程:高效定制嵌入式Linux系统

以下这本书《Yocto项目实战教程&#xff1a;高效定制嵌入式Linux系统》即将发布&#xff0c;现在请哪位大佬出山写一个序或者推荐&#xff0c;有兴趣的大佬&#xff0c;请联系我&#xff01; Git仓库地址&#xff1a; https://github.com/jerrysundev/Yocto-Project-Book.git …...

别光看init.rc了!/system、/vendor、/odm下那些*.rc文件,Android 11是怎么决定谁先谁后的?

Android 11启动脚本加载机制深度解析&#xff1a;从/system到/odm的优先级博弈 在Android系统启动过程中&#xff0c;init进程扮演着至关重要的角色。作为Linux内核启动后的第一个用户空间进程&#xff0c;它负责初始化系统环境、挂载文件系统、启动关键守护进程等一系列基础工…...

GBase 8a数据库双活容灾方案之GVR工具原理介绍

南大通用&#xff08;gbase database)可视化集群双活同步工具软件&#xff08;GBase Visio Rsynctool&#xff09;&#xff0c;是GBASE南大通用自主研发的、专门适用于GBase 8a MPP Cluster的集群间同步工具。通过 GVR&#xff0c;可以灵活高效的实现集群间的数据同步&#xff…...

ROS实战:用rosbag_filter_gui和topic_renamer高效清洗与合并KITTI的sync/extract数据包

ROS数据工程实战&#xff1a;KITTI数据集高效清洗与合并全流程解析 在自动驾驶和机器人领域&#xff0c;KITTI数据集就像是一块未经雕琢的璞玉——原始数据包中混杂着不同频率的传感器数据、冗余话题和需要校正的时间戳。我曾花了整整三天时间处理一个27GB的KITTI数据包&#x…...

【Unity】解决UGUI的Button无法点击/点击无反应的排查方案

1.UGUI与用户实现交互的基本原理当用户触摸/点击屏幕的时候&#xff0c;会从屏幕接触的那个点&#xff0c;从相机发射一条射线&#xff0c;如果射线中途有UI元素会阻挡射线&#xff08;Raycast Target&#xff09;&#xff0c;则会根据实际情况执行UI交互的行为。我们可以根据这…...

STM32F407新手避坑指南:从点灯到PWM,那些官方手册没细说的实战细节

STM32F407新手避坑指南&#xff1a;从点灯到PWM的实战陷阱解析 第一次点亮STM32F407的LED时&#xff0c;那种成就感就像在黑暗中找到了开关。但很快你会发现&#xff0c;官方手册里那些优雅的代码示例&#xff0c;在实际开发中总会遇到各种"意外"。本文不会重复基础教…...

操作系统6(系统调用)(TODO)

1 简介 这一篇主要是涉及到了不同的权限级切换&#xff0c;以及系统调用的原理。 内容还是来自&#xff1a;https://github.com/s-matyukevich/raspberry-pi-os/tree/master/docs/lesson05 之前写裸机的时候&#xff0c;其实接触到了一些层级切换&#xff0c;主要是异常处理&…...

告别C语言硬编码!用lvglpp在ESP32上快速构建嵌入式GUI(附完整项目配置)

告别C语言硬编码&#xff01;用lvglpp在ESP32上快速构建嵌入式GUI&#xff08;附完整项目配置&#xff09; 在嵌入式开发领域&#xff0c;图形用户界面(GUI)的实现一直是个令人头疼的问题。传统的C语言硬编码方式不仅效率低下&#xff0c;代码维护成本也居高不下。想象一下&…...

别再搞混了!Verilog里数组、向量和存储器的赋值与读写,新手避坑指南

Verilog数据存储结构深度解析&#xff1a;从位操作到存储器建模实战 刚接触Verilog的工程师常会被其灵活的数据存储结构所困扰——什么时候用向量&#xff1f;什么时候用数组&#xff1f;存储器又该如何正确建模&#xff1f;这些看似基础的概念一旦混淆&#xff0c;就会在仿真和…...

西门子PLC伺服大型多轴多气缸智能控制,Modbus与RS232通讯,完整触摸屏程序,机械结构...

西门子PLC伺服大型20轴程序modbus通讯RS232通讯MES通讯气缸&#xff0c;通讯&#xff0c;机械手&#xff0c;模拟量等&#xff0c;各种FB块 PTO控制20多个轴&#xff0c;100多个气缸&#xff0c;控制2台机器人。 5台PLC智能IO通讯&#xff0c;ModbusRTU通讯轮询&#xff0c;完整…...

别再让串口数据丢失了!手把手教你为STM32 HAL库串口添加环形FIFO缓冲区

STM32 HAL库串口通信的救星&#xff1a;环形FIFO缓冲区实战指南 在嵌入式开发中&#xff0c;串口通信就像系统的神经末梢&#xff0c;负责与外界交换关键数据。但当你满怀期待地调试STM32的串口功能时&#xff0c;是否遇到过这样的场景&#xff1a;传感器数据莫名其妙丢失、蓝牙…...