Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- cd /d "%~dp0"
- bcdedit /enum >nul 2>&1
- if %errorlevel% neq 0 echo - ERROR, Command bcdedit missing! & goto end
- set winver=0
- ver | find "6.1." >nul 2>&1
- if %errorlevel% equ 0 set winver=7 & set kernel=ntkrnlpa.exe
- ver | find "6.2." >nul 2>&1
- if %errorlevel% equ 0 set winver=8 & set kernel=ntoskrnl.exe
- ver | find "6.3." >nul 2>&1
- if %errorlevel% equ 0 set winver=8.1 & set kernel=ntoskrnl.exe
- ver | find "10.0." >nul 2>&1
- if %errorlevel% equ 0 set winver=10 & set kernel=ntoskrnl.exe
- if %winver% equ 0 echo - ERROR, Unsupported Windows edition! & goto end
- if not exist "%systemroot%\system32\%kernel%" echo - ERROR, Cannot find %kernel%! & goto end
- set current=0
- FOR /F %%a in ('bcdedit /enum ^| find "{current}"') do set current=1
- if %current% equ 0 echo - ERROR, Unsupported Boot config! & goto end
- set winload=0
- FOR /F %%a in ('bcdedit /enum {current} ^| find "%systemroot:~2%\system32\winload.exe"') do set winload=1
- FOR /F %%a in ('bcdedit /enum {current} ^| find "%systemroot:~2%\system32\winloadx.exe"') do set winload=1
- if %winload% equ 0 echo - ERROR, Cannot detect Loader! & goto end
- :patch-kernel
- echo - Executing Kernel patch.
- Patchpae -type kernel -o "%systemroot%\system32\ntkrnlpx.exe" "%systemroot%\system32\%kernel%" >nul 2>&1
- if %errorlevel% neq 0 echo - ERROR, Cannot patch %kernel%! & goto end
- Patchpae -type loader -o "%systemroot%\system32\winloadx.exe" "%systemroot%\system32\winload.exe" >nul 2>&1
- if %errorlevel% neq 0 echo - ERROR, Cannot patch winload.exe! & goto end
- set patched=0
- FOR /F %%a in ('bcdedit /enum ^| find "ntkrnlpx.exe"') do set patched=1
- if %patched% equ 1 goto finished
- :boot-manager
- echo - Adding Boot entry.
- FOR /F "tokens=2 delims={}" %%g in ('bcdedit /copy {current} /d "Windows %winver% (PAE)"') do set newguid=%%g
- bcdedit /set {%newguid%} kernel "ntkrnlpx.exe" >nul 2>&1
- bcdedit /set {%newguid%} path "%systemroot:~2%\system32\winloadx.exe" >nul 2>&1
- bcdedit /set {%newguid%} nointegritychecks yes >nul 2>&1
- bcdedit /set {bootmgr} default {%newguid%} >nul 2>&1
- bcdedit /set {bootmgr} displaybootmenu yes >nul 2>&1
- bcdedit /set {bootmgr} timeout 3 >nul 2>&1
- :finished
- echo - Success, All done!
- :end
- ping 127.0.0.1 -n 6 >nul 2>&1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement