无忧启动论坛

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

[求助] cmd 判定 BISO/UEFI 現在開機環境執行

[复制链接]
跳转到指定楼层
1#
发表于 2021-8-17 02:17:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
cmd 判定 BISO/UEFI 現在開機環境執行
如下方 判定x86 或 x64 執行Ghost


@ECHO OFF
if /i "%PROCESSOR_IDENTIFIER:~0,3%" == "X86" goto 86
GHOST64 -split=0
exit
:86
GHOST32 -split=0
exit



請問cmd 命令如何寫
2#
发表于 2021-8-17 07:51:48 | 只看该作者
wlishihua 发表于 2021-8-17 07:46
根据系统 EXE文件来识别,如果是BIOS引导,那必定C盘有boot文件夹,没有就是UEFI引导,
先以memtest.exe文 ...

系统分区不一定是C:

-----------------------
回复

使用道具 举报

3#
发表于 2021-8-17 07:52:40 | 只看该作者
感觉这是想远程无人值守装系统的节奏,原来是什么就装什么。
回复

使用道具 举报

4#
发表于 2021-8-17 07:54:08 | 只看该作者
来学学,谢谢分享
回复

使用道具 举报

5#
发表于 2021-8-17 08:14:48 | 只看该作者
可以的
回复

使用道具 举报

6#
发表于 2021-8-17 08:23:23 | 只看该作者


  1. (bcdedit /enum|findstr "winload.exe">NUL) && echo legacy || echo uEFI
复制代码
回复

使用道具 举报

7#
发表于 2021-8-17 08:30:20 | 只看该作者
解决了别忘了把完整代码贴出来哦
回复

使用道具 举报

8#
发表于 2021-8-17 08:38:14 | 只看该作者
我只想造,这有何用途
回复

使用道具 举报

9#
发表于 2021-8-17 12:47:06 | 只看该作者
wlishihua 发表于 2021-8-17 07:46
根据系统 EXE文件来识别,如果是BIOS引导,那必定C盘有boot文件夹,没有就是UEFI引导,
先以memtest.exe文 ...

一楼的代码 PE 下咋没法运行?
回复

使用道具 举报

10#
发表于 2021-8-17 16:16:08 | 只看该作者

咋实现的,分享下
回复

使用道具 举报

11#
发表于 2021-8-17 16:55:29 | 只看该作者
wlishihua 发表于 2021-8-17 16:48
@ipconfig /all|FIND /I "4C-CC-69-FC-D6-60">NUL 2>NUL&& start "" "C:%users\Administrator\Desktop\Mi ...

好的,回头我试试。谢谢!
回复

使用道具 举报

12#
发表于 2021-8-17 16:58:29 | 只看该作者
wlishihua 发表于 2021-8-17 07:54
那是另类,我还没见过 这个不针对个人装机
根据客户机MAC 地址来恢复对应的系统也以实现

这个工具箱能够分享下吗?
回复

使用道具 举报

13#
发表于 2021-8-17 19:04:42 | 只看该作者
批处理

  1. @echo off &setlocal
  2. set "securemode="
  3. set "biosmode="
  4. for /f %%i in ('powershell.exe -nop -ep Bypass -c "Confirm-SecureBootUEFI"') do set "securemode=%%i"
  5. if /i "%securemode%"=="False" (
  6.   set "biosmode=UEFI(未启用安全引导)"
  7. ) else if /i "%securemode%"=="True" (
  8.   set "biosmode=UEFI(启用了安全引导)"
  9. ) else (
  10.   powershell.exe -nop -ep Bypass -c "Confirm-SecureBootUEFI" | >nul find /i "PermissionDenied"
  11.   if errorlevel 1 (
  12.     set "biosmode=LEGACY BIOS(启用了传统BIOS)启动。"
  13.   ) else (
  14.     echo 拒绝访问. 请用Administrator权限运行!
  15.     pause
  16.     exit /b
  17.   )
  18. )

  19. echo 当下计算机是采用%biosmode%
  20. pause
复制代码


回复

使用道具 举报

14#
发表于 2021-8-17 19:40:16 | 只看该作者
本帖最后由 chiannet 于 2021-8-17 19:42 编辑

下面这种更简练,注意,要以管理员权限(administrator)运行。
  1. @echo off
  2. SET "biosmode=未知方式"
  3. FOR /F "DELIMS=" %%i in ('bcdedit.exe /enum {current}^|find /i "WINLOAD.EFI"') DO (SET "biosmode=UEFI")
  4. if "%biosmode%"=="未知方式" (
  5.         FOR /F "DELIMS=" %%i in ('bcdedit.exe /enum {current}^|find /i "WINLOAD.exe"') DO (SET "biosmode=LEGACY BIOS(传统BIOS)")
  6. )
  7. echo 当下计算机是启用%biosmode%启动。
  8. pause
复制代码


回复

使用道具 举报

15#
发表于 2021-8-18 10:32:12 | 只看该作者
本帖最后由 江南一根葱 于 2021-8-18 13:06 编辑

这个方式我用了多年,我通常是就打个mountvol,

  1. @echo off
  2. mountvol|find "EFI"
  3. if "%errorlevel%" == "1" set bootmode=LegacyBios
  4. if "%errorlevel%" == "0" set bootmode=UEFI
  5. echo 当前启动模式为%bootmode%
  6. pause
复制代码
回复

使用道具 举报

16#
发表于 2021-8-18 15:09:02 | 只看该作者
wlishihua 发表于 2021-8-17 07:46
根据系统 EXE文件来识别,如果是BIOS引导,那必定C盘有boot文件夹,没有就是UEFI引导,
先以memtest.exe文 ...

LTSB LTSC 好像没Windows\System32\WSReset.exe
回复

使用道具 举报

17#
发表于 2021-8-18 15:46:21 | 只看该作者
wlishihua 发表于 2021-8-18 15:18
没有就换一个嘛 换成这一个  不知道有没这个文件夹。反正Win7是没有的
C:\Windows\Web\4K

有,到时俺将通用BCD改下,多建几个条目。8就不考虑了。
回复

使用道具 举报

18#
发表于 2021-8-18 17:37:10 | 只看该作者
wlishihua 发表于 2021-8-17 12:18
UEFI  也存在winload.exe文件

你试了没有?
为何也不顺便质疑下 21# ?

如果你有更好的办法为何不向楼主荐言?

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 14:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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