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固件支持”,这是怎么回事呢?...相关推荐

  1. 检测到磁盘可能为uefi引导_【可QQ无偿协助】无法安装windows 因为这台电脑的磁盘布局不受UEFI固件支持...

    [近期有多数人遇到此类问题,本文章自己阅读也发现不够细致,本人可完美解决此问题,需要请联系我的QQ:1286558520] 无法安装windows 因为这台电脑的磁盘布局不受UEFI固件支持 ---- ...

  2. win10 linux uefi启动不了系统安装教程,win10更新失败,提示硬盘布局不受UEFI固件支持如图,怎么解决?...

    你好, 一.创建MSR分区: 1.在Win10搜索栏输入CMD,找到后右键然后以管理员模式运行(大家也可以使用WIN+X,然后点击命令提示符(管理员)) 2.输入diskpart.exe后回车 3.输 ...

  3. 检测到磁盘可能为uefi引导_Win10创意者无法更新提示“磁盘布局不受uefi固件支持”怎么办?...

    Win10创意者无法更新提示"磁盘布局不受uefi固件支持"怎么办?近期微软推出了Win10创意者更新版本,大家都对Win10创意者充满了好奇,纷纷升级了Win10创意者更新版本. ...

  4. win10无法安装提示磁盘布局不受UEFI固件支持的解决方法

    原因分析: Win10系统新增UEFI检测机制,在BIOS开启了UEFI时,如果硬盘分区表格式不是GPT,则会提示无法安装win10,也就是说UEFI+GPT或Legacy+MBR才能安装win10. ...

  5. 如何制作UEFI引导的Win10安装U盘?

    1.下载微软官方的工具MediaCreationTool.exe,我安装Windows10 20H2的时候,软件名字是MediaCreationTool20H2.exe https://www.mic ...

  6. 检测到磁盘可能为uefi引导_重装系统win10提示磁盘布局不受UEFI固件支持怎么办...

    原因分析: Win10系统新增UEFI检测机制,在BIOS开启了UEFI时,如果硬盘分区表格式不是GPT,则会提示无法重装系统win10,也就是说UEFI+GPT或Legacy+MBR才能安装win1 ...

  7. 检测到磁盘可能为uefi引导_在本地硬盘安装WinPE系统,实现UEFI引导,摆脱U盘

    之前装系统一直用U盘装PE后再装系统,这次直接想把PE系统直接装在本地某个分区中,普通的PE制作工具只能直接装在一个硬盘里没法装在某个分区,百度发现没有一篇类似的文章,只能自己想办法了.目前的PE都支 ...

  8. 重装系统win10提示磁盘布局不受UEFI固件支持怎么办

    原因分析: Win10系统新增UEFI检测机制,在BIOS开启了UEFI时,如果硬盘分区表格式不是GPT,则会提示无法重装系统win10,也就是说UEFI+GPT或Legacy+MBR才能安装win1 ...

  9. UEFI引导 WIN10下安装Ubuntu18.04

    一.装系统必备小知识 1.Secure Boot:安全启动,只可以启动Win8及以上系统,不能启动其他系统 2.UEFI:全称"统一的可扩展固件接口"(Unified Extens ...

最新文章

  1. linux 系统性能指标采样脚本
  2. 宽度定死、按照行间距、字体算出label高度
  3. Web UI设计的关键要素!
  4. 服务端关闭session的重要性
  5. 湘潭大学c语言答案,湘潭大学生c语言课后习题答案.doc
  6. 计算机文件无法显示后缀,但一般情况下电脑默认是看不到文件格式显示(也就是文件扩展名)...
  7. vba与python相比2019_重大改变!Python 或将取代 VBA 成为 Excel 官方脚本语言
  8. 苦了我一年的选择,现在却是我最回味的时光
  9. RobotFramework_4.SeleniumLibrary操作(二)
  10. Java变量的初始化问题探究
  11. apk与android系统签名
  12. 图中提取数据再作图---GetData Graph Digitizer
  13. 安卓10源码开发定制(21)GPS定位研究(3)修改GPS定位数据测试gps定位代码
  14. osx86 10.4.3 BF1118 的界面
  15. mysql及JAVA汉字转拼音
  16. 【QT】串口调试助手(串口编程代码详解)
  17. Destroy销毁物体失败,Can't remove RectTransform because Image (Script) depends on it
  18. 四川大学计算机专业调剂,2020年四川大学计算机学院(软件学院)考研调剂信息...
  19. 树莓派 MFRC522 读取
  20. 基于 electron 实现简单易用的抓包、mock 工具

热门文章

  1. iOS中开发者账号分类
  2. 求职季之你必须要懂的原生JS(中)
  3. fig-tlo_PHP-FIG的替代方案:各种愿景的利弊
  4. 雷军重金激励,小米鼎新一战
  5. android每个程序的内存大小,如何获取Android手机全部内存和可用内存尺寸
  6. 绝命毒师观后感(r6笔记第48天)
  7. [HSI论文阅读] | SSRN:Spectral-Spatial residual network for HSI classification
  8. 黄向东:工业物联网数据库 IoTDB及其应用
  9. heur.riskfm.bbx病毒解决方案--www.baoluowanxiang.com
  10. 美女--男人的Vitamin C