The problem seems to be that boot manager and winload.exe are different versions.
Usually this error happens when boot manager is an older version (therefore cannot check signature of winload.exe).
To fix:
1.) see in diskpart.exe which partition is active (say it is partition Z:)
(you can map by selecting partition and using assign)
Fix 2: Mark partition as active using diskpart.exe
2.) simple command to fix boot environment:
BCDBOOT C:\WINDOWS /S Z:
where C: drive is where Windows is installed, Z: is active partition (change drive letters in command to reflect your drives mappings)
See also how to do offline repair of system files: (and other fixes when system does not boot)