Problem with dual boot Win7 and Win8 install on UEFI system

#1
I built a new system and installed Win7 on a new SSD. The system is UEFI capable, and I performed the Win7 install with UEFI boot. I created another partition on the SSD, and I transferred a Win8 install from a hard drive (with MBR and BIOS boot) to the newly created partition on the SSD. I used EasyBCD 2.2 to add the Win8 install to the boot menu. I rebooted, and I had a choice of Win7 or the Win8. Selecting Win7 just went to a dark screen and never returned. Selecting Win8 causes the following error -

A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source. File: \Windows\system32\winload.efi Status: 0xc0000428
Info: Windows cannot verify the digital signature for this file.

I know that the winload.efi file is the is the original file from the installation and is not corrupted.

After playing around a bit, I was able to get the Win7 install back up and running, but I am not sure how to get the Win8 working. I have Win7 Pro 64 bit and Win8 Pro 64 bit.

Thanks in advance for any advice ...
 

Terry60

Knows where his towel is.
Staff member
#2
Vista cannot boot W7 or 8, and W7 cannot boot W8, all for the same reason.
Newer versions of winload have a later dig sig than an earlier bootmgr.
The bootmanagers are backward, not forward, compatible.
If you'd installed W8, not cloned it, it would have seen and recognized the W7 boot files and taken over the boot by replacing them with its own.
As it is, you can either boot from the W8 partition by setting it active, and let W8 boot W7, or you can rename bootmgr on W7 and copy over the newer, bigger W8 version, which will not be confused by the signatures.
I'd recommend the latter, since you don't yet know whether the the W8 copy will fail to boot, which is highly likely if you've just copied it from a different PC.
 
#3
Vista cannot boot W7 or 8, and W7 cannot boot W8, all for the same reason.
Newer versions of winload have a later dig sig than an earlier bootmgr.
The bootmanagers are backward, not forward, compatible.
If you'd installed W8, not cloned it, it would have seen and recognized the W7 boot files and taken over the boot by replacing them with its own.
As it is, you can either boot from the W8 partition by setting it active, and let W8 boot W7, or you can rename bootmgr on W7 and copy over the newer, bigger W8 version, which will not be confused by the signatures.
I'd recommend the latter, since you don't yet know whether the the W8 copy will fail to boot, which is highly likely if you've just copied it from a different PC.
Terry,

Thank you for your quick response. I tried your suggestion of replacing the Win7 winload.efi file with the Win8 winload.efi file. After messing around with permissions, I copied the Win 8 file over to the Win 7 \Windows\System32 folder. I tried to reboot into Windows 8, but it gave me the same error I discussed above. I tried to boot into Windows 7, but it wouldn't work either. I then changed everything back to the way it was, and I could boot into Win 7, but same problem with Win 8.

The Win8 install was an upgrade version that replaced an old XP install. I just moved the Win8 hard drive to the new computer, and it boots up just fine from that hard drive (MBR). When I migrated the Win 8 install over to the SSD with Win 7 (GPT), that is when I could not get the Win 8 install to boot.

Any other ideas?

Thanks again for your support.

---------- Post added at 07:30 PM ---------- Previous post was at 06:41 PM ----------

Vista cannot boot W7 or 8, and W7 cannot boot W8, all for the same reason.
Newer versions of winload have a later dig sig than an earlier bootmgr.
The bootmanagers are backward, not forward, compatible.
If you'd installed W8, not cloned it, it would have seen and recognized the W7 boot files and taken over the boot by replacing them with its own.
As it is, you can either boot from the W8 partition by setting it active, and let W8 boot W7, or you can rename bootmgr on W7 and copy over the newer, bigger W8 version, which will not be confused by the signatures.
I'd recommend the latter, since you don't yet know whether the the W8 copy will fail to boot, which is highly likely if you've just copied it from a different PC.
Terry,

I also tried to make the Win 8 partition active (in both Windows Disk Management and Diskpart), but that doesn't work. The error code is as follows:
The selected disk is not a fixed MBR disk.
The ACTIVE command can only be used on fixed MBR disks.


It was worth a try ...

---------- Post added at 08:16 PM ---------- Previous post was at 07:30 PM ----------

Vista cannot boot W7 or 8, and W7 cannot boot W8, all for the same reason.
Newer versions of winload have a later dig sig than an earlier bootmgr.
The bootmanagers are backward, not forward, compatible.
If you'd installed W8, not cloned it, it would have seen and recognized the W7 boot files and taken over the boot by replacing them with its own.
As it is, you can either boot from the W8 partition by setting it active, and let W8 boot W7, or you can rename bootmgr on W7 and copy over the newer, bigger W8 version, which will not be confused by the signatures.
I'd recommend the latter, since you don't yet know whether the the W8 copy will fail to boot, which is highly likely if you've just copied it from a different PC.
One last thing ...

After checking the info in BCDedit, it looks like the system is trying to boot from the Win 8 winload.efi file (see boot info below). Not sure why this doesn't work. Perhaps the OS is looking to boot from the winload.exe file used for MBR disks???

C:\Users\User1>bcdedit /enum

Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume1
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
resumeobject {5760b6cd-58bc-11e3-9bb8-a226aa93e6e2}
displayorder {current}
{5760b6d1-58bc-11e3-9bb8-a226aa93e6e2}
toolsdisplayorder {memdiag}
timeout 3

Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.efi
description Windows 7
locale en-US
inherit {bootloadersettings}
recoverysequence {5760b6cf-58bc-11e3-9bb8-a226aa93e6e2}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {5760b6cd-58bc-11e3-9bb8-a226aa93e6e2}
nx OptIn

Windows Boot Loader
-------------------
identifier {5760b6d1-58bc-11e3-9bb8-a226aa93e6e2}
device partition=D:
path \Windows\system32\winload.efi
description Windows 8
locale en-US
osdevice partition=D:
systemroot \Windows
 

Terry60

Knows where his towel is.
Staff member
#4
Read my post again.
Old Bootmgr cannot recognize newer winload.
You must replace the older bootmgr with the newer version from W8.
That way W8's bootmgr is locating W7/8 winloads (OK).
You replaced the winload, so you had W7's bootmgr rejecting two copies of W8's winload.
If you cannot see bootmgr (in the partition root), set folder options thus.
(It's super-hidden)
As I said before, I don't think a copy of W8 is going to boot anyway if it was originally installed on a different PC, but you need to get past the inv dig sig to verify that.
 
Last edited:
#5
Read my post again.
Old Bootmgr cannot recognize newer winload.
You must replace the older bootmgr with the newer version from W8.
That way W8's bootmgr is locating W7/8 winloads (OK).
You replaced the winload, so you had W7's bootmgr rejecting two copies of W8's winload.
If you cannot see bootmgr (in the partition root), set folder options thus.
(It's super-hidden)
As I said before, I don't think a copy of W8 is going to boot anyway if it was originally installed on a different PC, but you need to get past the inv dig sig to verify that.
Terry,

I want to thank you for pointing me in the right direction. I actually got the dual boot of windows 7/8 working perfectly, but it certainly wasn't easy. Basically, I did the following:

- Backup Win 7 install (working) and Win 8 install (not working)
- Re-install clean Win 8 from DVD media to get the correct boot info on System EFI partition
- Re-install Win 8 partition from backup (now Win 8 boots ... and it does work!)
- Re-install Win 7 partition from backup
- In Win 8, use EasyBCD to create dual boot (gets rid of slow Win 8 boot screen)
(At this point, I thought it would work for sure, but Win 7 did not load ...)
- Looked at info in EasyBCD and noticed that Win 7 boot path led to \Windows\system32\winload.exe
- Changed the patch with BCDedit (windows command) to \Windows\system32\winload.efi
(Still didn't work perfectly. Kept getting chkdsk when switching from Win 8 to Win 7. Win 7 would eventually boot.)
- Turned off hyberboot via Win 8 registry fix, and everything worked

For your info, I have included the EasyBCD info below.

There are a total of 5 entries listed in the bootloader.

Default: Windows 8
Timeout: 5 seconds
EasyBCD Boot Device: C:\

Entry #1
Name: UEFI:CD/DVD Drive
BCD ID: {9c02e7b7-5969-11e3-be9a-806e6f6e6963}
Device: Unknown
Bootloader Path:

Entry #2
Name: UEFI:Removable Device
BCD ID: {9c02e7b8-5969-11e3-be9a-806e6f6e6963}
Device: Unknown
Bootloader Path:

Entry #3
Name: UEFI:Network Device
BCD ID: {9c02e7b9-5969-11e3-be9a-806e6f6e6963}
Device: Unknown
Bootloader Path:

Entry #4
Name: Windows 8
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.efi

Entry #5
Name: Windows 7
BCD ID: {5760b6dc-58bc-11e3-9bb8-a226aa93e6e2}
Drive: D:\
Bootloader Path: \Windows\system32\winload.efi