检测到磁盘可能为uefi引导_无法安装windows,因为这台电脑的磁盘布局不受UEFI固件支持”,这是怎么回事呢?...
0. 问题:
无法安装windows,因为这台电脑的磁盘布局不受UEFI固件支持”,这是怎么回事呢?
UEFI是Unified Extensible Firmware Interface的英文缩写。翻译成中文是统一可扩展固件接口,UEFI是传统BIOS的替代产物。界面和交互体验更加的友好,近几年生产的计算机硬件基本上都集成了UEFI的固件。UEFI之前的叫EFI,它也是传统BIOS的竞争对手。因为早期没有形成统一的标准模式,一直处于各自为营地状态。直到2005年以后才逐步形成和推广统一可扩展接口。
传统BOIS是由硬件及软件构成,同样,UEFI也是由硬件和软件构成。从使用者的角度分析,UEFI的操作界面更加的人性化、布局更加的合理。目前,集成UEFI的笔记本基本上是具备UEFI的基础功能,设置界面和传统BIOS设置界面集成在一起。只有一些高端主板才具备完整的UEFI设置界面。同时,UEFI具备以下优点。
优点1:可以支持2TB及以上硬盘引导操作系统。
优点2:UEFI可以快速的引导系统或者从休眠状态恢复。
优点3:UEFI可以和传统BIOS集成使用。
优点4:UEFI必须配合GPT分区才可以引导win10操作系统。
注意:
一般情况下,在设置了UEFI模式方式的电脑上,只能安装特定版本的操作系统。例如,win7 64位操作系统、win10 32/64位操作系统都支持UEFI模式安装,并且支持GPT分区模式的读写。win7的32位操作系统是不支持UEFI模式启动的。所以,win7以前的32位版本操作系统都不支持UEFI模式启动。
别UEFI和传统BIOS在启动引导过程原理上没有本质区别:
(1)无论传统BIOS还是UEFI,阳光之下没有什么新鲜的东西,启动本身无外乎三个步骤:
1.Rom Stage:在这个阶段没有内存,需要在ROM上运行代码。这时因为没有内存,没有C语言运行需要的栈空间,开始往往是汇编语言,直接在ROM空间上运行。在找到个临时空间(Cache空间用作RAM,Cache As Ram, CAR)后,C语言终于可以粉墨登场了,后期用C语言初始化内存和为这个目的需要做的一切服务。
2. Ram Stage: 在经过 ROM阶段的困难情况后,我们终于有了可以大展拳脚的内存,很多额外需要大内存的东西可以开始运行了。在这时我们开始进行初始化芯片组、CPU、主板模块等等核心过程。
3. Find something to boot Stage: 终于要进入正题了,需要启动,我们找到启动设备。就要枚举设备,发现启动设备,并把启动设备之前需要依赖的节点统统打通。然后开始移交工作,Windows或者Linux的时代开始。
这就是传统BIOS和UEFI的启动过程,在剥去了术语后,主干的三个步骤从来没有变化过。熟悉嵌入式系统开发的同学会发现,大多数嵌入式系统启动也大致是这些个步骤,从某种意义上讲,PC启动过程并没有什么特殊的。
传统BIOS尽管开始全部用汇编语言完成,但后期也部分引入了C语言,这些步骤完全是一样的。什么MBR分区啊,UEFI分区都是枝节问题,都是技术上可以做到的,没有什么是UEFI可以做,传统BIOS不可以做到的。那么问题来了,为什么UEFI会替代传统BIOS,UEFI展现了什么独特的魅力吗?要理解这一点,我们先要看看PC启动固件到底问什么必须。
(2)为什么需要BIOS和UEFI?
与大多数人基本的概念不同,在某种意义上来说,X86体系比ARM体系更加开放。X86是很多小伙伴一起玩,以生态圈的概念提供产品,并对自己那部分负责;而ARM体系虽然也依赖生态圈,但最终有个大Boss统合整个生态链,提供最后产品并对该产品负总责。
X86生态圈玩家众多,有OS 厂商(OSV)定期发布操作系统,如Windows,Ubuntu;芯片厂商提供CPU,如Intel, AMD;主板厂商(OEM)提供电脑主板;独立硬件供应商(IHV)生产扩展板卡如显卡等等PCIE扩展卡,再如内存厂家推出一代一代不同的内存条等等。
DIY玩家可以自由选择搭配合适/兼容的产品搭配出自己心仪的机器,休闲上网用户花2000多元就可以搭配出一套可用的电脑,而游戏玩家则可能花费上万元才能满足游戏配置需求。还有些品牌机厂商如Dell和联想等,他们提供整套最终产品给用户。但他们实际上是在所有小伙伴的零件基础上拼凑出个产品,技术不强,话语权弱,并不能统一整个产业链。用户津津乐道的反而是用的什么CPU,安装的什么操作系统,用的那种显卡等等。Windows死机、蓝屏和缓慢等等时候,用户往往会抱怨微软和Intel,而不是品牌厂商。
ARM体系由最后品牌厂商统合整个产品,它负责打通整个产业链,并对其中所有部分负责,话语权极强,同时对技术也相对较强。用户面对的具体品牌的产品,而不是碎片化的各个部分。强势的如Apple,硬件软件一起抓,完全组成闭环的链条。稍差也如华为等安卓手机,要负责安卓系统在自己手机移植部分(BSP),客户出了问题并不会找谷歌,而会去找华为。
在X86生态圈十分强势的微软,自己负责操作系统开发,跳过品牌直接服务最终用户,甚至不经允许直接升级操作系统,闹出不少风波。强势也带来了副作用,它要直接面对数千数万种千奇百怪的硬件产品,如何才能用一个软件安装包服务于这么多种设备呢?必须要一个软件抽象层封装这些硬件差别!
这就引出了BIOS和UEFI的最主要的功能:初始化硬件和提供硬件的软件抽象。
ARM体系也要初始化具体主板相关硬件如GPIO和内存等,这些一般在BSP中完成。与X86体系不同之处在于这些硬件完全定制化,初始化的时候就预先知道有哪些设备,Solder Down了哪个品牌的哪种内存颗粒,到时候就照方抓药,初始化一大堆寄存器而已。X86系统配置情况在开机时候是不知道的,需要探测(Probe)、Training(内存和PCIe)和枚举(PCIe等等即插即用设备),相对较复杂。
BIOS和UEFI提供了整个主板、包括主板上外插的设备的软件抽象。通过探测、Training和枚举,BIOS就有了系统所有硬件的信息。它通过几组详细定义好的接口,把这些信息抽象后传递给操作系统,这些信息包括SMBIOS(专栏稍后介绍)、ACPI表(ACPI与UEFI),内存映射表(E820或者UEFI运行时)等等。通过这层映射,才能做到做到操作系统完全不改而能够适配到所有机型和硬件。
在某种程度上来讲,BIOS和UEFI是将操作系统BSP部分单独封装后下放到主板或者BIOS提供商来完成。这在过去带来了巨大的好处,WinXP、Win7现在还可以运行在更新的电脑硬件上,新的硬件只要自己更改一下就行了,兼容性是ARM体系所不能比拟的。当然割裂的生态圈也带来了用户感受的千差万别,这也受到广泛诟病。各自为政也窒息了创新,带来了同质化。为此,Intel越俎代庖,提出了变形本等等概念;而微软更直接出了Surface,似乎要与过去的小伙伴争食。其实这些都是不得已而为之,今后的发展还需要拭目以待。
arm社区最近为了进入x86的传统优势领域,也开始接受UEFI,不过一般只在服务器领域。个别厂商为了支持Windows而在平板等设备支持uefi,某厂商在手机上也要引入uefi。不过这些只是支流,并且他们并不吧自己叫做BIOS,而叫做Bootloader。
(3)UEFI带来的独特价值
UEFI是为了替代传统BIOS而诞生。 这里说个小插曲,很多同学都奇怪专栏为什么有时候说BIOS是指传统BIOS,有时似乎又涵盖UEFI。实际上,业内人士在UEFI诞生之初,会严格区分两者的区别,如果十几年之前有人问我是不是做BIOS的,我会认真的否定:“不,我是做UEFI。 如果有人说UEFI BIOS,会被人蔑视:“BIOS就是BIOS,UEFI就是UEFI,怎么能混为一谈呢?”但在现在UEFI已经全面取代传统BIOS,传统BIOS已经几乎绝迹的情况下,业内人士已经放弃吃药,默认BIOS就是指UEFI。现在如果有人在我说出UEFI来露出痴呆的表情时,我会说:“就是BIOS啦,哈哈哈”
人们总是习惯性的对新出现的东西持怀疑和否定的态度,UEFI在启动时又还是那三个步骤,那么UEFI一定是提供了某种特别的东西,才能让传统的固件工程师改换门庭。它们究竟是什么呢?
答案就隐藏在上面一节“BIOS、UEFI的目的”中。UEFI扫除了传统BIOS割裂的生态,打通了PC固件之间的鸿沟,并提供统一的接口给操作系统,而不关心操作系统是什么;它能够更好的完成PC固件的终极目的:初始化硬件和提供硬件的软件抽象,和启动操作系统。如果说有什么东西帮助UEFI打败了传统BIOS,那这些东西就是:标准接口、开放统一和开源了。
传统BIOS来自于IBM,之后就进入战国时代,激烈的商战让接口统一成为了不可能做到的事,只有在面对微软这个大用户的时候,才勉强提供了“兼容”的基于软中断的接口。它封闭、神秘和充满各种不清不楚的预设和祖传代码,在调试PCI的ROM时要小心各种rom之间互相踩,各种只有老师傅才知道的神奇“诀窍”。要写个驱动,让它在各个BIOS厂商那里都能跑,简直成为了一件不可能完成的任务。
UEFI在近20年的深耕下,统一了固件启动阶段基础框架Spec:PI Spec与操作系统的接口Spec:UEFI Spec,并将抽象硬件的原语性Spec: ACPI Spec也拉入这个大家庭,都变成UEFI Forum的一份子。
现在只要符合UEFI driver model的驱动都可以在各个BIOS上运行,打通了各个BIOS厂商之间的栅栏;与此同时,符合UEFI标准的操作系统都可以流畅的在各种主板上运行,无论是Windows,还是Linux各种发行版,甚至是Android。实际上,PC生态圈的繁荣,和UEFI的推广和被广泛接受是分不开的。
值得一提的是UEFI内核的大部分代码是由Intel的中国工程师开发的。在大家一次次电脑的正常运行后面,有他们辛勤工作背影。他们也为固件的开源和国产化做出了自己的贡献。代码已经全部开源一部分时间了,在GitHub
1. 原因分析:
Win10系统新增UEFI检测机制,在BIOS开启了UEFI时,如果硬盘分区表格式不是GPT,则会提示无法安装win10,也就是说UEFI+GPT或Legacy+MBR才能安装win10。
2. 解决方案1:UEFI + GPT
解决方法一:关闭UEFI
1、重启系统时按Del或F2进入BIOS设置;
2、以下面的BIOS为例,在Boot将Boot Mode改为Legacy Support,Boot Priority改为Legacy First,按F10保存退出;
3、关闭UEFI引导,即可在MBR硬盘中安装win10系统。
2. 解决放啊2:
1、进入U盘启动盘PE系统;
2、打开磁盘分区工具,比如DiskGenius,将硬盘分区表转换成GPT格式;
3、预留228MB可用空间,按下Win+R输入cmd打开命令提示符;
4、依次输入以下命令,按回车执行;
diskpart
list diskselect disk 0(0是执行list disk之后显示的硬盘标识,一般是0和1)
create partition efi size=100format quick fs=fat32
create partition msr size=128format quick fs=ntfs
exit
4、接着输入bcdboot C:\windows /l zh-cn,回车,C表示系统盘盘符;
5、最后重启系统。
3. 无法安装windows 10,因为这台电脑的磁盘布局不受UEFI固件支持
您好,
进行如下操作,再查看,操作之前备份重要文件,以免造成任何损失,
一、创建MSR分区:
1、以管理员运行命令提示符,
2、输入diskpart.exe后回车
3、输入List disk命令后回车
二、再需要按显示信息来进行下一步,
如果只有一块硬盘:
1、输入List volume命令后,按下回车
2、选择带有引导分区的盘符(一般为C盘),记住卷编号
3、运行命令
Select volume X(X为上一步记住的编号)
Shrink desired=50 minimum=40
Create partition msr
4、输入命令List partition来确认MSR分区是否创建成功,创建完毕后退出。
三、如果有两块以上的硬盘,先要确认Disk 0(理解为第一块硬盘,计数从0开始)的分区情况,
1、输入以下命令:
Select disk 0
List partition
Select partition 1
Detail partition
2、根据得到的分区细节信息,确定其是否为C盘(引导分区)以及NTFS分区。如果是的话,按照第3步进行处理;如果不是,输入以下命令检查下一分区:
Select partition 2
Detail partition
3、输入以下命令:
Shrink desired=50 minimum=40
Create partition msr
4、输入以下命令来确认MSR分区是否创建成功:
List partition
成功之后退出命令提示符。
之后再进行更新升级的操作,查看。
检测到磁盘可能为uefi引导_无法安装windows,因为这台电脑的磁盘布局不受UEFI固件支持”,这是怎么回事呢?...相关推荐
- 检测到磁盘可能为uefi引导_【可QQ无偿协助】无法安装windows 因为这台电脑的磁盘布局不受UEFI固件支持...
[近期有多数人遇到此类问题,本文章自己阅读也发现不够细致,本人可完美解决此问题,需要请联系我的QQ:1286558520] 无法安装windows 因为这台电脑的磁盘布局不受UEFI固件支持 ---- ...
- win10 linux uefi启动不了系统安装教程,win10更新失败,提示硬盘布局不受UEFI固件支持如图,怎么解决?...
你好, 一.创建MSR分区: 1.在Win10搜索栏输入CMD,找到后右键然后以管理员模式运行(大家也可以使用WIN+X,然后点击命令提示符(管理员)) 2.输入diskpart.exe后回车 3.输 ...
- 检测到磁盘可能为uefi引导_Win10创意者无法更新提示“磁盘布局不受uefi固件支持”怎么办?...
Win10创意者无法更新提示"磁盘布局不受uefi固件支持"怎么办?近期微软推出了Win10创意者更新版本,大家都对Win10创意者充满了好奇,纷纷升级了Win10创意者更新版本. ...
- win10无法安装提示磁盘布局不受UEFI固件支持的解决方法
原因分析: Win10系统新增UEFI检测机制,在BIOS开启了UEFI时,如果硬盘分区表格式不是GPT,则会提示无法安装win10,也就是说UEFI+GPT或Legacy+MBR才能安装win10. ...
- 如何制作UEFI引导的Win10安装U盘?
1.下载微软官方的工具MediaCreationTool.exe,我安装Windows10 20H2的时候,软件名字是MediaCreationTool20H2.exe https://www.mic ...
- 检测到磁盘可能为uefi引导_重装系统win10提示磁盘布局不受UEFI固件支持怎么办...
原因分析: Win10系统新增UEFI检测机制,在BIOS开启了UEFI时,如果硬盘分区表格式不是GPT,则会提示无法重装系统win10,也就是说UEFI+GPT或Legacy+MBR才能安装win1 ...
- 检测到磁盘可能为uefi引导_在本地硬盘安装WinPE系统,实现UEFI引导,摆脱U盘
之前装系统一直用U盘装PE后再装系统,这次直接想把PE系统直接装在本地某个分区中,普通的PE制作工具只能直接装在一个硬盘里没法装在某个分区,百度发现没有一篇类似的文章,只能自己想办法了.目前的PE都支 ...
- 重装系统win10提示磁盘布局不受UEFI固件支持怎么办
原因分析: Win10系统新增UEFI检测机制,在BIOS开启了UEFI时,如果硬盘分区表格式不是GPT,则会提示无法重装系统win10,也就是说UEFI+GPT或Legacy+MBR才能安装win1 ...
- UEFI引导 WIN10下安装Ubuntu18.04
一.装系统必备小知识 1.Secure Boot:安全启动,只可以启动Win8及以上系统,不能启动其他系统 2.UEFI:全称"统一的可扩展固件接口"(Unified Extens ...
最新文章
- linux 系统性能指标采样脚本
- 宽度定死、按照行间距、字体算出label高度
- Web UI设计的关键要素!
- 服务端关闭session的重要性
- 湘潭大学c语言答案,湘潭大学生c语言课后习题答案.doc
- 计算机文件无法显示后缀,但一般情况下电脑默认是看不到文件格式显示(也就是文件扩展名)...
- vba与python相比2019_重大改变!Python 或将取代 VBA 成为 Excel 官方脚本语言
- 苦了我一年的选择,现在却是我最回味的时光
- RobotFramework_4.SeleniumLibrary操作(二)
- Java变量的初始化问题探究
- apk与android系统签名
- 图中提取数据再作图---GetData Graph Digitizer
- 安卓10源码开发定制(21)GPS定位研究(3)修改GPS定位数据测试gps定位代码
- osx86 10.4.3 BF1118 的界面
- mysql及JAVA汉字转拼音
- 【QT】串口调试助手(串口编程代码详解)
- Destroy销毁物体失败,Can't remove RectTransform because Image (Script) depends on it
- 四川大学计算机专业调剂,2020年四川大学计算机学院(软件学院)考研调剂信息...
- 树莓派 MFRC522 读取
- 基于 electron 实现简单易用的抓包、mock 工具
热门文章
- iOS中开发者账号分类
- 求职季之你必须要懂的原生JS(中)
- fig-tlo_PHP-FIG的替代方案:各种愿景的利弊
- 雷军重金激励,小米鼎新一战
- android每个程序的内存大小,如何获取Android手机全部内存和可用内存尺寸
- 绝命毒师观后感(r6笔记第48天)
- [HSI论文阅读] | SSRN:Spectral-Spatial residual network for HSI classification
- 黄向东:工业物联网数据库 IoTDB及其应用
- heur.riskfm.bbx病毒解决方案--www.baoluowanxiang.com
- 美女--男人的Vitamin C