diff --git a/scripts/reboot-into-bios.ps1 b/scripts/reboot-into-bios.ps1 new file mode 100644 index 00000000..b12eb39e --- /dev/null +++ b/scripts/reboot-into-bios.ps1 @@ -0,0 +1,25 @@ +# Requires admin privileges to run +if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { + Write-Host "This script requires administrative privileges." -ForegroundColor Red + Write-Host "Please run PowerShell as Administrator and try again." -ForegroundColor Yellow + pause + exit 1 +} + +try { + Write-Host "Preparing to reboot into BIOS/UEFI..." -foregroundColor Yellow + + # Get boot configuration + $bootConfig = bcdedit /enum firmware + if ($lastExitCode -ne 0) { throw "Failed to get boot configuration" } + + # Set the one-time boot to UEFI + $result = shutdown /r /fw /t 0 + if ($lastExitCode -ne 0) { throw "Failed to initiate reboot" } + +} catch { + Write-Host "Error: $_" -ForegroundColor Red + Write-Host "Failed to initiate BIOS reboot." -ForegroundColor Red + pause + exit 1 +} \ No newline at end of file