Boot Mode Legacy/UEFI from HTA in WinPE

2019-02-20 18:37发布

问题:

Trying to see if I am in UEFI or BIOS from WinPE running from an HTA. My starting point below:

<script type='text/vbscript'>
Sub RegBOOT
If oReg.EnumValues(HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Control", "PEFirmwareType", "") = 1 Then
    BOOT.innerText = "Legacy BIOS"
If oReg.EnumValues(HKEY_LOCAL_MACHINE, "System\CurrentControlSet\Control", "PEFirmwareType", "") = 2 Then
    BOOT.innerText = "UEFI"
End If
End Sub

</Script>
<BODY>
<p>You are in <span id="BOOT"></span> mode</p>
</BODY>

回答1:

Found the below as my solution that works :)

<script type='text/vbscript'>

Set objShell = CreateObject("WScript.Shell")                                             

Sub Window_Onload
RegB = objShell.regread("HKLM\System\CurrentControlSet\Control\PEFirmwareType")
If RegB = 1 Then
    Boot.innerhtml = "Legacy "
ElseIf RegB = 2 Then
    Boot.innerhtml = "UEFI "
Else
    Boot.innerhtml = "" & RegB & " "
End If
End Sub
</Script>
<body>

<H1>Running in <span id= "boot" class= "name"></span>mode</H1>
</BODY>