diff options
-rw-r--r-- | DcsRe/DcsRe.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/DcsRe/DcsRe.c b/DcsRe/DcsRe.c index 84f1fee..aa6f2ed 100644 --- a/DcsRe/DcsRe.c +++ b/DcsRe/DcsRe.c @@ -154,6 +154,15 @@ ActionWindowsBoot(IN VOID* ctx) { if (bFound)
return EfiExec(gFSHandles[EfiBootVolumeIndex], L"EFI\\Microsoft\\Boot\\bootmgfw.efi");
}
+
+ /* copy our backup copy and then boot from it*/
+ if (!EFI_ERROR(FileExist(NULL, L"\\EFI\\Boot\\original_boot" ARCHdot L"vc_backup")))
+ {
+ if (!EFI_ERROR(FileCopy(NULL, L"\\EFI\\Boot\\original_boot" ARCHdot L"vc_backup", EfiBootVolume, L"EFI\\Microsoft\\Boot\\bootmgfw_ms.vc", 1024 * 1024)))
+ {
+ return EfiExec(gFSHandles[EfiBootVolumeIndex], L"EFI\\Microsoft\\Boot\\bootmgfw_ms.vc");
+ }
+ }
ERR_PRINT(L"Could not find the original Windows loader\r\n");
|