一文详解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ÿ…...
小迪安全-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语言预编译
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文一、预处理的作用与流程…...
算法刷题-字符串-151.反转单词
题目 给一串字符串,里面有若干单词,以空格界定单词的结束,翻转其中的单词 输入:s " hello world " 输出:“world hello” 需要注意的是,给定的字符串可能存在头空格、尾空格以及中间的空格数量…...
单片机裸机编程:状态机与其他高效编程框架
在单片机裸机编程中,状态机是一种非常强大的工具,能够有效管理复杂的逻辑和任务切换。除了状态机,还有其他几种编程模式可以在不使用 RTOS 的情况下实现高效的程序设计。以下是一些常见的方法: 1. 状态机编程 状态机通过定义系统…...
图表控件Aspose.Diagram入门教程:使用 Python 将 VSDX 转换为 PDF
将VSDX转换为PDF可让用户轻松共享图表。PDF 文件保留原始文档的布局和设计。它们广泛用于演示文稿、报告和文档。在这篇博文中,我们将探讨如何在 Python 中将 VSDX 转换为 PDF。 本文涵盖以下主题: 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项目实战教程:高效定制嵌入式Linux系统》即将发布,现在请哪位大佬出山写一个序或者推荐,有兴趣的大佬,请联系我! Git仓库地址: https://github.com/jerrysundev/Yocto-Project-Book.git …...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...
RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 :在几秒钟…...
