无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 27194|回复: 54
打印 上一主题 下一主题

判断当前系统是BIOS启动还是UEFI启动,分区表是MBR还是GPT(by双心)V1.3

    [复制链接]
跳转到指定楼层
#
发表于 2019-1-1 09:55:00 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 liuzhaoyzz 于 2020-11-9 08:48 编辑

判断当前系统是BIOS启动还是UEFI启动,是Windows还是PE,分区表是MBR还是GPT,内存和磁盘空间情况(by双心)
下载地址:https://lanzoux.com/b00na10sd
    写批处理的兄弟可能经常会碰到需要判断当前系统是BIOS启动还是UEFI启动,可能还要判断当前系统是正常的Windows还是PE,有人用bcdedit来判断,但是PE或者某些系统因为一些问题可能会导致bcdedit运行不了而影响判断,而且很多PE不支持wmic,难以判断内存和磁盘空间情况。我用AU3写了个小程序,在资源管理器里面直接双击就能看到当前系统是BIOS启动还是UEFI启动,同时还会显示当前是正常的Windows还是PE,显示分区表是MBR还是GPT。它同时支持命令行,随便带若干个个盘符就可以在批处理中调用,已测试的系统:BIOS和UEFI启动的WIN7 8 10及PE,BIOS启动的XP/03。只需要一个BootMode.exe即可。

        结果会依次显示(为了方便中英文系统使用,命令行关键字直接用的是英文,对话框用的是中文):
        1、BIOS/UEFI启动,是windows还是PE,结果会有BIOS Windows(PE),UEFI Windows(PE),Unknown Windows(PE)这几种情况。
        2、TotalMemory总内存,FreeMemory可用内存,UsedMemory已用内存。
        3、后面各磁盘的TotalSpace总空间、FreeSpace可用空间、Usedspace已用空间。
        4、显示可用空间最大FreespaceMAX的那个硬盘的盘符disk。

   

    在命令行中运行(支持多个参数):
  1. BootMode c: d: e: f:
复制代码



    在批处理中调用示例代码:
[code]
@echo off
bootmode C: 1>NUL 2>NUL|find /i "PE" && echo WinPE || echo 正常的Windows

for /f "tokens=2 delims=:" %%i in ('bootmode C:^|find /i "TotalMemory"') do set tm=%%i
echo 总内存%tm%MB
for /f "tokens=2 delims=:" %%i in ('bootmode C:^|find /i "FreeMemory"') do set fm=%%i
echo 可用内存%fm%MB
for /f "tokens=2 delims=:" %%i in ('bootmode C:^|find /i "UsedMemory"') do set um=%%i
echo 已用内存%um%MB

for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "VolumeLabel"') do set vc=%%i
echo C:盘标签:%vc%
for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "TotalSpace"') do set tc=%%i
echo C:盘总大小%tc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "FreeSpace"') do set fc=%%i
echo C:盘可用空间%fc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "Usedspace"') do set uc=%%i
echo C:盘已用空间%uc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode C:^|find /i "PartitionType"') do set pc=%%i
echo C:盘分区表类型:%pc%

for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "VolumeLabel"') do set vc=%%i
echo D:盘标签:%vc%
for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "TotalSpace"') do set tc=%%i
echo D:盘总大小%tc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "FreeSpace"') do set fc=%%i
echo D:盘可用空间%fc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "Usedspace"') do set uc=%%i
echo D:盘已用空间%uc%MB
for /f "tokens=3 delims=:" %%i in ('bootmode D:^|find /i "PartitionType"') do set pc=%%i
echo D:盘分区表类型:%pc%

for /f "tokens=1,8 delims=: " %%i in ('bootmode 1^|find /i "maximum"') do (
set disk=%%i
set FreespaceMAX=%%j)
echo %disk%盘可用空间最大,为%FreespaceMAX%GB
bootmode C:|find /i "BIOS" && goto :BIOS || goto :UEFI

:BIOS
echo BIOS启动
pause
exit /b

:UEFI
echo UEFI启动
pause
exit /b



    判断的原理,在此表示感谢!
1、如何判断PE是以UEFI还是BIOS方式启动http://bbs.wuyou.net/forum.php?m ... 1744&fromuid=298214
2、关于windows pe 运行环境的判断 - PE讨论区 - 无忧启动论坛http://bbs.wuyou.net/forum.php?m ... 2924&fromuid=298214

        我为什么要发布到RAMOS专区?这个判断和RAMOS有关系吗?
    答:当然有关系。因为一键是调用的bcdedit来判断当前系统是BIOS启动还是UEFI启动,可能还要判断当前系统是正常的Windows还是PE,但是PE或者某些系统因为一些问题可能会导致bcdedit运行不了而影响判断。于是我就写了这个小程序。RAMOS制作现在百花齐放,有很多兄弟基于不同的方案写了不同的批处理,可能都需要判断BIOS启动还是UEFI启动,我这个小程序也算为需要的朋友提供一个可供选择的方案。


BootMode1.3.rar

502.13 KB, 下载次数: 651, 下载积分: 无忧币 -2

评分

参与人数 8无忧币 +33 收起 理由
c2y + 4
gqi025 + 3 很给力!
有阴也有阳 + 5 很给力!
maomihuacha + 1
Mindfly + 5 赞一个!
新空气 + 5 神马都是浮云
董大 + 5 很给力!
20090101 + 5 很给力!

查看全部评分

54#
发表于 2024-3-20 15:15:05 | 只看该作者
感谢楼主,学习了
回复

使用道具 举报

53#
发表于 2024-3-20 15:14:49 | 只看该作者
感谢楼主,学习了
回复

使用道具 举报

52#
发表于 2024-3-20 15:14:37 | 只看该作者
感谢楼主,学习了
回复

使用道具 举报

51#
发表于 2021-4-29 11:52:35 | 只看该作者
支持一下!
回复

使用道具 举报

50#
发表于 2021-3-28 19:54:44 | 只看该作者
好工具 666
回复

使用道具 举报

49#
发表于 2021-3-22 19:03:38 | 只看该作者
竟然附上了au3源码,感谢版主,正需要,直接拿来用了
回复

使用道具 举报

48#
发表于 2021-1-26 14:10:10 | 只看该作者
        神马都是浮云
回复

使用道具 举报

47#
发表于 2020-5-31 21:39:08 | 只看该作者
      在我这怎么就不准确,为什么是UEFI启动?BIOS也不是的。








回复

使用道具 举报

46#
发表于 2020-5-31 11:21:33 | 只看该作者
我用了这个测试了一下,它这启动模式怎么还成了未知的
回复

使用道具 举报

45#
发表于 2020-5-31 11:10:33 | 只看该作者
你帖子开头的蓝奏云下载地址里面的这个程序有问题,我的虚拟机明明是BIOS模式,它居然检测成了UEFI模式
回复

使用道具 举报

44#
发表于 2020-3-9 14:29:46 | 只看该作者
谢谢分享,拿走了
回复

使用道具 举报

43#
发表于 2020-3-2 19:40:31 | 只看该作者
谢谢分享,辛苦啦
回复

使用道具 举报

42#
发表于 2020-3-2 19:19:35 | 只看该作者
回复

使用道具 举报

41#
发表于 2020-2-11 00:35:15 | 只看该作者
谢谢分享,辛苦啦
回复

使用道具 举报

40#
发表于 2020-1-20 14:11:09 | 只看该作者
确实不错
回复

使用道具 举报

39#
 楼主| 发表于 2020-1-20 13:34:38 | 只看该作者
本帖最后由 liuzhaoyzz 于 2020-6-6 22:21 编辑

下载地址:https://www.lanzoux.com/b00na10sd
一楼已更新添加兰奏云下载地址。里面分享的有plusv编写的bootmodecheck,只有2kb,调用方法类似,自己写批处理。或者先运行cmd,再运行bootmodecheck。
回复

使用道具 举报

38#
发表于 2020-1-20 09:27:03 | 只看该作者
有人百度网盘能分享一下吗?
回复

使用道具 举报

37#
发表于 2020-1-15 10:24:27 | 只看该作者
谢谢 大神的分享
回复

使用道具 举报

36#
发表于 2019-12-20 09:06:19 | 只看该作者
谢谢楼主的分享!!!!
回复

使用道具 举报

35#
发表于 2019-12-19 09:58:28 | 只看该作者
每天来学习
回复

使用道具 举报

34#
发表于 2019-12-18 15:11:53 | 只看该作者
谢谢分享,辛苦啦 新人要下载附件需要什么条件吗 为什么下载不了 有几个无忧币
回复

使用道具 举报

33#
发表于 2019-11-23 08:33:24 | 只看该作者
感谢分享
回复

使用道具 举报

32#
发表于 2019-11-21 15:52:13 | 只看该作者
本帖最后由 hilsonma 于 2019-11-21 15:56 编辑

能简更好,不简也能用,感谢分享好工具。

简与不简的区别也不是很大,只是习惯性的有点轻微强迫症。
for /f %%a in ('detectefi32') do set bootdect=%%a
for /f "tokens=3 delims=:" %%i in ('bootmode %drv%:^|find /i "PartitionType"') do set pt=%%i

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=414828
echo   如果是MBR硬盘就重建BIOS引导
for /f "tokens=3 delims=:" %%i in ('bootmode %drv%:^|find /i "PartitionType"') do set pt=%%i
if %pt%==MBR (
        if not exist %drv%:\Boot md %drv%:\Boot
        copy /y %bcd1% %drv%:\Boot
        if not exist %drv%:\bootmgr copy bootmgr8 %drv%:\bootmgr
)
回复

使用道具 举报

31#
 楼主| 发表于 2019-11-21 15:00:13 | 只看该作者
不好意思才注意到你的回复。detectefi32是vc编译的,所以只有52KB,而bootmode是用au3写的,au3写的最小也有几百KB了。就是精简了其他功能,也还是有几百KB。我是业余程序员,搞不懂VC,能写个hello world就不错了。        
回复

使用道具 举报

30#
发表于 2019-11-20 17:30:17 | 只看该作者
版主能不能出个更简化的版本,象detectefi32那样的,我只需要知道硬盘是mbr还是gpt.
回复

使用道具 举报

29#
发表于 2019-11-1 15:42:05 | 只看该作者
我也支持支持一下
回复

使用道具 举报

28#
发表于 2019-10-17 15:20:03 | 只看该作者
感谢分享!
回复

使用道具 举报

27#
发表于 2019-10-17 14:51:43 | 只看该作者
留存备用,谢谢
回复

使用道具 举报

26#
发表于 2019-8-1 17:26:57 | 只看该作者
感谢楼主的分享!
回复

使用道具 举报

25#
发表于 2019-3-21 11:29:08 | 只看该作者
小白一枚!正在研究怎么装RAMOS系统,谢谢大神
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-25 22:51

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表