怎样判断当前windows启动方式?
本帖最后由 chiannet 于 2013-6-3 08:21 编辑如何区分当前winndows运行在MBR分区还是GPT分区分区?
如何判断当前windows 启动模式:UEFI模式还是BIOS---->bootmgr---->BCD模式?
尽可能不借助MS之外的第三方工具。 本帖最后由 糊涂 于 2013-6-3 08:57 编辑
第一个问题简单
查看“磁盘列表”OK
第二个问题,我说不清楚 cmd-->diskpart--->list disk命令看磁盘属性
如果GPT字样下面有*标记的话,那就是UEFI启动。没有*标记的话,那就继续判断:
所有的分区里面都没有efi文件夹,就是MBR启动。
如果某个分区有efi文件夹,改名后能启动的100%是BIOS启动,改名后不能启动的100%是UEFI启动。 2011hiboy 发表于 2013-6-3 09:17 static/image/common/back.gif
cmd-->diskpart--->list disk命令看磁盘属性
如果GPT字样下面有*标记的话,那就是UEFI启动。没有*标记的 ...
晕,不太智能,不太科学。
尤其是
“如果某个分区有efi文件夹,改名后能启动的100%是BIOS启动,改名后不能启动的100%是UEFI启动。”
不太可能自动化实现。 看看是否还有更简便的可行的方案。 糊涂 发表于 2013-6-3 08:55 static/image/common/back.gif
第一个问题简单
有一定的可行性。但不便于自动化实现。 2011hiboy 发表于 2013-6-3 09:17 static/image/common/back.gif
cmd-->diskpart--->list disk命令看磁盘属性
如果GPT字样下面有*标记的话,那就是UEFI启动。没有*标记的 ...
cmd-->diskpart--->list disk命令看磁盘属性
如果GPT字样下面有*标记的话,那就是UEFI启动。
还要加入多硬盘的情况:例如一个MBR硬盘,一个GPT硬盘的情况。不是说不可以,但要自动化实现还是有些麻烦的。 本帖最后由 ddianxing 于 2013-6-3 14:00 编辑
可以通过复制BCD来判断:正在使用的BCD是不能“复制粘贴”到其它地方的,如果EFI\Microsoft\boot\bcd文件不可以复制则说明是EFI模式;如果boo\bcd文件不能复制,则说明是BIOS模式。 ddianxing 发表于 2013-6-3 13:55 static/image/common/back.gif
可以通过复制BCD来判断:正在使用的BCD是不能“复制粘贴”到其它地方的,如果EFI\Microsoft\boot\bcd文件不 ...
这个法子来的简单,值得试试。谢谢。 ddianxing 发表于 2013-6-3 13:55 static/image/common/back.gif
可以通过复制BCD来判断:正在使用的BCD是不能“复制粘贴”到其它地方的,如果EFI\Microsoft\boot\bcd文件不 ...
检查copy命令的执行结果的确可判断。
前提是:世界上没有哪个变态佬,故意把bios--->bootmgr---->EFI\MICROSOFT\BOOT\BCD,这个法子基本就是最简单高效的了 第二个问题不是n年前就讨论过了?我当时给出的方法很容易,楼上怎么都是一堆复杂的方法 ?
运行bcdedit /enum {current},其中path部分启动文件路径:bios启动的话是winload.exe,uefi启动的话是winload.efi 本帖最后由 fujianabc 于 2013-6-3 16:22 编辑
2011hiboy 发表于 2013-6-3 09:17 static/image/common/back.gif
cmd-->diskpart--->list disk命令看磁盘属性
如果GPT字样下面有*标记的话,那就是UEFI启动。没有*标记的 ...
判断gpt和uefi事两码事。
GPT硬盘也可能是bios启动的(比如GPT/mbr混合分区表),mbr也可能是UEFI启动的。这个单硬盘判断比较容易,多硬盘就有些复杂了。不过很多情况下,GPT和mbr操作是相同的,并不需要预先判断 chiannet 发表于 2013-6-3 10:08 static/image/common/back.gif
还要加入多硬盘的情况:例如一个MBR硬盘,一个GPT硬盘的情况。不是说不可以,但要自动化实现还是有些 ...
你要仔细说明你的需要和目的,后来者才能斟酌回答。 本帖最后由 2011hiboy 于 2013-6-3 19:28 编辑
如果GPT字样下面有*标记的话,那就是UEFI启动。没有*标记的话,那就继续判断:
该磁盘就是GPT格式的磁盘,只能UEFI启动!
所有的分区里面都没有efi文件夹,就是MBR启动。
当磁盘不是GPT而是MBR的时候,没有efi文件夹,那么就是BIOS+MBR
如果某个分区有efi文件夹,改名后能启动的100%是BIOS启动,改名后不能启动的100%是UEFI启动。
当存在efi文件夹,改名后启动的说明efi文件夹无效属于BIOS+MBR;改名后不能启动就是UEFI+MBR
全部包含了BIOS+MBR;UEFI+GPT;UEFI+MBR 的情况;但是可能理解起来需要对启动有点了解。但是实现自动化困难。 楼主想要实现自动化,可以给出一点思路,首先diskpart可以判断出磁盘是MBR还是GPT,顺便磁盘格式是GPT的时候肯定是UEFI启动
当磁盘格式是MBR的时候,那就使用bcdedit命令看看winload.exe--BIOS winload.efi--UEFI
copy判断或许可行,但不可靠。 貌似可以理解为:有EFI文件夹的未必是GPT分区,而没有EFI文件夹也未必一定是MBR分区; 糊涂 发表于 2013-6-3 23:14 http://bbs.wuyou.net/static/image/common/back.gif
貌似可以理解为:有EFI文件夹的未必是GPT分区,而没有EFI文件夹也未必一定是MBR分区;
UEFI---->必须有efi文件夹,磁盘可以是MBR/GPT
BIOS--->有没有efi文件夹,磁盘只能是是MBR
GPT--->必须有efi文件夹,仅支持UEFI引导
MBR--->支持UEFI引导的时候需要efi文件夹,支持BIOS引导需要引导记录。
没有efi文件夹的话,那肯定不是UEFI引导也不是GPT磁盘,只能是BIOS引导和MBR磁盘
(不考虑手动选择启动文件和其他特殊人为因素)
2011hiboy 发表于 2013-6-5 08:27 static/image/common/back.gif
UEFI---->必须有efi文件夹,磁盘可以是MBR/GPT
BIOS--->有没有efi文件夹,磁盘只能是是MBR
(不考虑手动选择启动文件和其他特殊人为因素)
最后一句才是关键!
对于未来,谁也无法评估揣测 本帖最后由 buger 于 2013-6-5 10:29 编辑
我目前在W8X64PE中使用的方法
bcdedit | find /i "efi"
if ErrorLevel 1 goto NOGPT
if ErrorLevel 0 goto GPT
这个只能判断当前PE是由UEFI方式启动且硬盘上的系统是基于GTP且系统分区存在的。 如果在当前系统下判断:
CDM下,执行: mountvol.exe
UEFI启动,和BIOS启动,列出的参数不一样(BIOS启动,没有ESP相关参数) ,你一看,就知道.
MBR和GPT,看看磁盘管理就可以了 其实目前UEFI+GPT、UEFI+MBR、BIOS+GPT、BIOS+MBR、、、这些环境根本没有定义性的界限
许多都会由“人为因素”直接或间接的达到某种使用环境,以适应用户的需要!
今天是这样,明天可能想怎么样就怎么样 我的疑问是,无论是安装还是恢复系统,又如何知道或需要,到底是选择uefi 还是bios,如果不知道,那么就只能留给用户去选择了,那么智能化从何谈起。 系统 :
1.用msinfo32看
2.脚本的话得通过系统api检测
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724325(v=vs.85).aspx
pe:
看注册表HKLM\System\CurrentControlSet\Control /v PEFirmwareType的值
0x1位bios0x2为UEFI fujianabc 发表于 2013-6-3 16:12
第二个问题不是n年前就讨论过了?我当时给出的方法很容易,楼上怎么都是一堆复杂的方法 ?
运行bcdedit /e ...
这个应该是可行的。。。。而且也简单。。。 我觉得还是看bcd里面是引导winload.exe还是winload.efi最准吧。要不然双启动的电脑不就哭了? 糊涂 发表于 2013-6-5 11:33
其实目前UEFI+GPT、UEFI+MBR、BIOS+GPT、BIOS+MBR、、、这些环境根本没有定义性的界限
许多都会由“人为因 ...
BIOS+GPT怎么引导? fujianabc 发表于 2013-6-3 16:12
第二个问题不是n年前就讨论过了?我当时给出的方法很容易,楼上怎么都是一堆复杂的方法 ?
运行bcdedit /e ...
虚拟机,单硬盘,GPT,只有一个NTFS分区,无其它剩余空间,bcdedit 结果居然是winload.exe,系统区无EFI文件夹,gpt.mbr.uefi傻傻分不清了~~~~~~~~~~~~~~~ 你先用DiskGenius软件检查一下硬盘格式是Mbr还是GPT。如果硬盘格式是GTP的一般是UEFI启动(或者是UEFI+BIOS启动);硬盘格式是Mbr,是传统BIOS启动。
页:
[1]