以注册表中的注册表项, 值, 数据中作为判断依据好像也不怎么好, 我记得很久以前的 WinPE, 有部分人就曾在 WinPE 启动到桌面后, 修改一些标志性注册表数据, 以达到解除 WinPE 的某些限制(如系统运行时间到某个长度后系统会自动重启或关机)
Acronis True Image 在判断运行系统是否为 WinPE, 其依据是"是否存在注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MiniNT"
MiniTool 系列产品判断运行系统是否为 WinPE, 则是"是否存在注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE, 的值 Version(该值的数据可为空)"作者: captain_g 时间: 2021-1-22 15:49
微软网上说的:
wpeutil UpdateBootInfo
for /f "tokens=2* delims= " %%A in ('reg query HKLM\System\CurrentControlSet\Control /v PEFirmwareType') DO SET Firmware=%%B
:: Note: delims is a TAB followed by a space.
if %Firmware%==0x1 echo The PC is booted in BIOS mode.
if %Firmware%==0x2 echo The PC is booted in UEFI mode.作者: bfgxp 时间: 2021-1-22 17:01
我是依登录用户,SYSTEM就是PE,其他判断为非PE
所以那些admin登录的pe就有点尴尬了。作者: nttwqz 时间: 2021-1-22 19:06
还是第二种好,我用的就是这一种,只需要变量 路径和If就能判断,作者: 1018438419 时间: 2021-1-22 23:42