一文详解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。
如果你是两者引导文件都有,就需要选择一种,选择哪种,就是哪种主板来引导。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23770.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Docker的前端环境管理:从开发环境到生产部署的实现方案

# 基于Docker的前端环境管理:从开发环境到生产部署的实现方案 简介及前端开发环境挑战 简介 是一种容器化平台,可以将应用程序及其依赖项打包为一个容器,提供一种轻量级、可移植的环境。它能够简化开发、部署和运维的流程,提高…

连锁管理系统的五大核心设计及 PHP 源码分享

在当今竞争激烈的连锁商业领域,高效的管理系统是企业脱颖而出的关键。商淘云连锁管理系统凭借其卓越的功能和灵活的架构,为连锁企业提供了强大的运营支持。在这里详细介绍其五大核心设计,并分享相关的 PHP 源码示例。 一、总部进销存管理 &a…

C语言基本知识------指针(4)

1. 回调函数是什么? 回调函数就是⼀个通过函数指针调用的函数。 如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数 时,被调⽤的函数就是回调函数。 void qsort(void base,//指针…

MTK-Android13-包安装器PackageInstaller 静默安装实现

目的 我们最终是为了搞明白安装的整个流程。一方面通过安卓系统自带的包安装器来了解PMS 安装流程;另一方面熟悉框架层Framework 针对Android apk 安装流程。 前两篇文章分析了PackagerInstaller 安装流程。 Android13-包安装器PackageInstaller-之apk安装跳转 An…

qt-C++笔记之创建和初始化 `QGraphicsScene` 和 `QGraphicsView` 并关联视图和场景的方法

qt-C++笔记之创建和初始化 QGraphicsScene 和 QGraphicsView 并关联视图和场景的方法 code review! 参考笔记 1.qt-C++笔记之创建和初始化 QGraphicsScene 和 QGraphicsView 并关联视图和场景的方法 2.qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到vie…

《一起打怪兽吧》——自制一款Python小游戏

《一起消灭怪兽吧》——在深夜的屏幕前,你是指引光明的勇者。键盘化作利剑,用方向键在像素战场游走,发射吧,每次击杀都有代码绽放的烟火。这款由Python与Pygame铸就的小游戏,让0与1的世界生长出童真的浪漫。 文章目录…

IDEA中查询Maven项目的依赖树

在Maven项目中,查看项目的依赖树是一个常见的需求,特别是当你需要了解项目中直接或间接依赖了哪些库及其版本时。你可以通过命令行使用Maven的dependency:tree插件来做到这一点。这个命令会列出项目中所有依赖的树状结构。 打开idea项目的终端&#xff…

Maven——Maven开发经验总结(1)

摘要 本文总结了 Maven 开发中的多个关键经验,包括如何根据版本号决定推送到 releases 或 snapshots 仓库,如何在构建过程中跳过测试,父项目如何控制子项目依赖版本,父项目依赖是否能传递到子项目,如何跳过 Maven dep…

05. Springboot admin集成Actuator(一)

目录 1、前言 2、Actuator监控端点 2.1、健康检查 2.2、信息端点 2.3、环境信息 2.4、度量指标 2.5、日志文件查看 2.6、追踪信息 2.7、Beans信息 2.8、Mappings信息 3、快速使用 2.1、添加依赖 2.2、添加配置文件 2.3、启动程序 4、自定义端点Endpoint 5、自定…

【GESP】C++二级模拟 luogu-b3995, [GESP 二级模拟] 小洛的田字矩阵

GESP二级模拟题,多层循环、分支语句练习,难度★✮☆☆☆。 题目题解详见:https://www.coderli.com/gesp-2-luogu-b3995/ 【GESP】C二级模拟 luogu-b3995, [GESP 二级模拟] 小洛的田字矩阵 | OneCoderGESP二级模拟题,多层循环、分…

uniapp在app下使用mqtt协议!!!支持vue3

什么?打包空白?分享一下我的解决方法! 第一步 找大师算过了,装4.1版本运气好! 所以根目录执行命令… npm install mqtt4.1.0第二步 自己封装一个mqtt文件方便后期开坛做法! // utils/mqtt.js import mqt…

C++程序员内功修炼——Linux C/C++编程技术汇总

在软件开发的宏大版图中,C 语言宛如一座巍峨的高山,吸引着无数开发者攀登探索。而 Linux 操作系统,以其开源、稳定、高效的特性,成为了众多开发者钟爱的开发平台。将 C 与 Linux 相结合,就如同为开发者配备了一把无坚不…

【Python量化金融实战】-第2章:金融市场数据获取与处理:2.1 数据源概览:Tushare、AkShare、Baostock、通联数据(DataAPI)

本章将详细介绍四大主流金融数据源(Tushare、AkShare、Baostock、通联数据(DataAPI)),分析其特点与适用场景,并通过实战案例展示数据获取与处理的全流程。 👉 点击关注不迷路 👉 点击…

一文讲解Redis的持久化方式及各自的区别

一文讲解Redis的持久化方式及各自的区别 Redis 的持久化机制保证了 Redis 服务器在重启后数据不丢失,通过 RDB 和 AOF 文件来恢复内存中原有的数据。 这两种持久化方式可以单独使用,也可以同时使用。 三分恶面渣逆袭:Redis持久化的两种方式…

STM32 利用SysTick实现高精度计时

STM32 HAL库利用ARM Cortex-M内核自带的24位递减计数器SysTick(系统节拍),它属于 NVIC的一部分,且可以产生 SysTick 异常(异常类型#15)。通过读取并判断计数值来实现精确延时,从0xFFFFFF向下计数到0。可以用作I2C、SPI通信中的时序控制,RTOS环…

图像金字塔

图像金字塔(MATLAB 版本) 目录 图像金字塔(MATLAB 版本)一、 生成图像金字塔二、 Matlab实践操作三、实践问题 一、 生成图像金字塔 在 MATLAB 中,可以使用 impyramid 函数来生成图像金字塔。 代码示例: m…

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(一)

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(一) 第一部分:网络平台搭建与设备安全防护任务书DCRS:DCFW:DCWS:WAF: 第二部分:网络安全事件响应、数字取证调查、应用程序安全任务书任务 1&…

20250212:https通信

1:防止DNS劫持:使用 https 进行通信。 因为是SDK授权开发,需要尽量压缩so库文件和三方依赖。所以第一想法是使用 head only 的 cpp-httplib 进行开发。 cpp-httplib 需要 SSL 版本是 3.0及以上。但本地已经在开发使用的是1.0.2a版本,不满足需求。 方案1:升级OpenSSL 将Op…

一、C#基础入门课程【学习20天】01-07

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

基于SpringBoot + Vue的共享汽车(单车)管理系统设计与实现+毕业论文+开题报告+指导搭建视频

本系统包含管理员、用户两个角色。 管理员角色:个人中心管理、用户管理、投放地区管理、汽车信息管理、汽车投放管理、汽车入库管理、使用订单管理、汽车归还管理。 用户角色:注册登录、汽车使用下单、汽车归还。 本共享汽车管理系统有管理员和用户。管…