无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 江南一根葱
打印 上一主题 下一主题

[原创] [史上最伟大网管]全球首发,正常系统和PE判断当前启动环境(bios/uefi)通用批处理

    [复制链接]
跳转到指定楼层
1#
发表于 2021-8-18 10:28:27 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 江南一根葱 于 2021-8-18 12:45 编辑

看这么多人在折腾bios/uefi的判断,含泪(实为口水)发出我用了多年没翻过车的判断方法,本来我是用来手动检查的

上述是完整代码,自己抄,我只提供思路,隐藏的代码和图中的一样,只不过可以复制粘帖!
游客,如果您要查看本帖隐藏内容请回复

不接受以下论点来辩驳:
什么"有很多pe里没有mountvol.exe"   之类的 (我不也补上了么)
我想说,有很多pe还没有api相关的dll呢,补dll查dll方便还是补exe方便?

点评

非常给力  发表于 2024-3-9 20:19

评分

参与人数 7无忧币 +27 收起 理由
same2223 + 1 很给力!
一二三四五六 + 5 很给力!
994956737 + 1 很给力!
wuxin9712 + 5
whyme22 + 5
新空气 + 5
freesoft00 + 5

查看全部评分

2#
 楼主| 发表于 2021-8-18 12:39:03 | 显示全部楼层
本帖最后由 江南一根葱 于 2021-8-18 12:46 编辑
bfgxp 发表于 2021-8-18 12:05
find 需要 /i参数吧,我这里是大写的EFI

应该都是大写的EFI,"EFI"也行,不过反正没人复制粘帖用,肯定得改过
这种坑无所谓啦,为了防止被*,还是改下
回复

使用道具 举报

3#
 楼主| 发表于 2021-8-20 07:50:20 来自手机 | 显示全部楼层
友联电脑 发表于 2021-8-19 21:36
试试这个,简单又快捷的
reg query HKLM\System\CurrentControlSet\Control /v  PEFirmwareType |find "0x ...

这个貌似只是pe下的吧

点评

正常系统下bcdedit就可以了,或者继续翻找注册表,应该也会有地方有标记的  详情 回复 发表于 2021-8-20 10:42
回复

使用道具 举报

4#
 楼主| 发表于 2021-8-20 11:00:36 | 显示全部楼层
友联电脑 发表于 2021-8-20 10:42
正常系统下bcdedit就可以了,或者继续翻找注册表,应该也会有地方有标记的

那肯定还是微软自己判定的可靠些,而且我这个在字数上和实现方式上应该算最简单了

点评

简单有效有好  详情 回复 发表于 2021-8-20 11:07
回复

使用道具 举报

5#
 楼主| 发表于 2021-8-27 00:07:14 来自手机 | 显示全部楼层
天使说请安静 发表于 2021-8-25 22:16
大佬有空试一下传统模式的PE运行BCDEDIT /ENUM {fwbootmgr} 会提示什么吗?

传统模式也是可以操作固件序列的

点评

明白了  详情 回复 发表于 2021-8-27 00:41
回复

使用道具 举报

6#
 楼主| 发表于 2021-12-6 20:33:51 | 显示全部楼层

看不懂

点评

启动是D盘 legacy,C盘只是100G的VHD系统。您的批处理显示UEFI启动,还需改进,  详情 回复 发表于 2021-12-6 21:42
回复

使用道具 举报

7#
 楼主| 发表于 2021-12-6 21:46:46 | 显示全部楼层
本帖最后由 江南一根葱 于 2021-12-6 21:50 编辑
gutaiping2006 发表于 2021-12-6 21:42
启动是D盘 legacy,C盘只是100G的VHD系统。您的批处理显示UEFI启动,还需改进,

判断肯定不会有问题,不然可以拨打微软电话反馈
我这个启动完全不需要硬盘的存在,拔除硬盘也能正确..估计你系统是非法精简产品,判断这个需要mountvol.exe
双心大的我不清楚,但我估计有99%失败率

点评

D盘就只有boot文件夹+bootmgr+VHD(win10),肯定没有mountvol.exe了;估计就是这问题。系统是i tell you下载的原版光盘。  详情 回复 发表于 2021-12-6 21:59
回复

使用道具 举报

8#
 楼主| 发表于 2021-12-6 22:04:17 | 显示全部楼层
gutaiping2006 发表于 2021-12-6 21:59
D盘就只有boot文件夹+bootmgr+VHD(win10),肯定没有mountvol.exe了;估计就是这问题。系统是i tell you ...

不是指这样的没有mountvol,其实看批处理就知道意思了,
cmd里执行
mountvol
看下出来的帮助有没有抛出"EFI”这个信息
有的话,就肯定是EFI环境没错,可以用bootice在“uefi"选项卡验证
回复

使用道具 举报

9#
 楼主| 发表于 2021-12-6 22:25:28 | 显示全部楼层
本帖最后由 江南一根葱 于 2021-12-6 22:27 编辑

那是批处理运行环境问题,你开机有批处理开启过延迟变量之类未关闭导致set赋值有误
cmd里看下
mountvol|find "EFI"
echo %errorlevel%
你这个属于非正常环境

点评

显示为1  详情 回复 发表于 2021-12-6 22:29
回复

使用道具 举报

10#
 楼主| 发表于 2021-12-6 22:32:10 来自手机 | 显示全部楼层
gutaiping2006 发表于 2021-12-6 22:29
显示为1

那问题就出在set上,第二行也赋值了,逻辑不通了
检查环境或有没奇怪的开机批处理

点评

d盘legacy启动的ramos系统  详情 回复 发表于 2021-12-6 22:37
回复

使用道具 举报

11#
 楼主| 发表于 2021-12-6 22:43:46 来自手机 | 显示全部楼层
gutaiping2006 发表于 2021-12-6 22:37
d盘legacy启动的ramos系统

你环境的问题在于不能正常运行正常的批处理
可以试下不set,比如下面的改成
if erroelevel 1 echo legacy bios&&pause
echo uefi
pause

点评

葱大,正解!!!成功了,  详情 回复 发表于 2021-12-7 07:51
回复

使用道具 举报

12#
 楼主| 发表于 2021-12-7 08:11:29 来自手机 | 显示全部楼层
gutaiping2006 发表于 2021-12-7 07:51
葱大,正解!!!成功了,
请教一下,我这环境为何不能正确set?

看看你启动后有没执行过
setlocal enabledelayedexpansion这类
有的话判断的要写到前面去

点评

没有设置过延迟变量的,上批处理是我一启动就执行了的  详情 回复 发表于 2021-12-7 08:16
回复

使用道具 举报

13#
 楼主| 发表于 2022-3-18 07:59:04 来自手机 | 显示全部楼层
zhdg 发表于 2022-3-18 05:41
看有没有EFI目录就可以判断了吧

不需要存在efi目录,都不需要硬盘
回复

使用道具 举报

14#
 楼主| 发表于 2023-4-23 10:17:26 | 显示全部楼层
dos时代菜鸟 发表于 2023-4-22 22:05
有没有奇葩 卷路径 包含 EFI

如果用

这倒也有可能的,中到了可以买彩票去。哈哈
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-8 04:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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