Winload.efi error after hardware migration

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Caennanu

Member
May 18, 2021
123
8
18
Good day all,

For roughly 2 years, i been running a dual boot system (work vs private) without any issues.
In my machine i have 3 physical disks, 2 of which are M.2 (my private ones) and an 2,5" SSD i added later to create the dual boot.
The bootmanager is, as should be, on one of my private m.2 disks.

The private windows 10 install is not bitlocker enabled or anything off the sorts, and both installs were done using uefi.
But as work requires bitlocker and TPM, i had to enable that in my bios.

However, since i migrated platforms (from x570 / 3700x to x670e / 7800x3d) i've had issues with loading windows.
Aside of the usual 'i don't trust you' crap, bitlocker keys and what not. I keep having 1 persistent issue.
Every time i shut down the PC. Boot it up again and select my 2ndary boot (not using aero bootscreen, but the classic version thank you chris titus!), i get the message that winload.efi is damaged or corrupted or what not.

Now, when i hit escape to enter the bios. enter the bios, change nothing and directly exit out of it without saving anything. i can select this work boot option without any issues...

With some googling, i've played with a multitude of bios settings. chronologically listed below. But at some point stopped logging and just tried stuff out of frustration....
CSM - Enabled (legacy + uefi)
Secure boot - Disabled (keys removed status 'setup')
Boot optie 1: Windows bootmanager
Boot optie 2+: disabled
SFC /scannow
windows startup repair
CSM Disabled
Secure boot disabled
Secure boot enabled 'default'
CSM enabled UEFI

I have also tried to do startup repair and other similar functions, but i just cannot get it to boot first go...
Any help would be appreciated. ( i have tried a dutch forum, without much feedback.)

Asus Tuf Gaming X670E plus (non wifi)
AMD 7800X3D
2x 32GB Ripjaws S5
1x 512GB M.2 (bootmanager)
1x 1TB M.2 (games disk)
1x 256GB 2,5" SSD
(not relevant but i like a complete list)
Asus Tuf Gaming 7900XT
Silverstone TI 1300
 
Last edited:

oneplane

Well-Known Member
Jul 23, 2021
845
484
63
> The bootmanager is, as should be, on one of my private m.2 disks.
Not in the UEFI world. You can have as many ESPs, Boot partitions and BCDs as you want. That also solves your 'my boot is on the other drive' problem.

UEFI booting is also not disk ('record') based but file based.
 

Caennanu

Member
May 18, 2021
123
8
18
What partitions do you have on your disks?
From the bitlocker boots perspective:
Disk 0 has
  1. 2 partitions.
  2. c: bitlocker encrypted,
    1. boot,
    2. page file,
    3. crash dump,
    4. basic data partition
  3. unnamed
    1. recovery partition
Disk 1 (private windows install:
  1. 450mb recovery partition
  2. 99mb efi system partition
  3. 852mb recovery partition
  4. 475gb basic data partition
Disk 2 games:
  1. 1 partition, no letter assigned and was made offline to prevent bitlocker encryption



> The bootmanager is, as should be, on one of my private m.2 disks.
Not in the UEFI world. You can have as many ESPs, Boot partitions and BCDs as you want. That also solves your 'my boot is on the other drive' problem.

UEFI booting is also not disk ('record') based but file based.
Alright, so switching to bootmanager / booting from 2nd drive, triggers startup repair, windows can't find anything to repair, continue or advanced, and thats the cycle when selecting booting from 2nd drive (both drive and bootmanager)
 

oneplane

Well-Known Member
Jul 23, 2021
845
484
63
What does the UEFI boot manager have in terms of entries, and what do the actual partition tables look like? (i.e. the output of fdisk, gdisk, cfdisk, not whatever windows reports because it's usually lying or obfuscating). And how many BCDs do you have and what do they report?

To make a complete boot work on windows you need:

- Either a default ESP location or a UEFI Boot manager entry pointing to somewhere in fsX:/efi/microsoft/boot/something.efi
- An ESP (referred above) that actually contains the bootloader that UEFI launches, the Boot Manager (which is not the bootloader) from Microsoft and the BCD (from Microsoft)
- In converted or hybrid setups, you can have a System Partition on top of that, the system partition contains the BCD and Boot Manager instead of having them on the ESP
- The Boot Manager reads its BCD which in turn contains entries for various Windows installations (which is usually a pointer to a specific partition ID and a location of system32 on that partition)

So there are two options here:

1. Have one UEFI boot manager entry pointing to one Windows Boot Manager pointing to one BCD pointing to many Windows installations
2. Have many UEFI boot manager entries pointing to one Windows Boot Manager each, pointing to one BCD pointing to one Windows installation.

Option 2 has the benefit that not all Windows installations need to be the same version.
 

Caennanu

Member
May 18, 2021
123
8
18
@oneplane
Thanks for that wall of text... i might be a bit tired, but i think this is what you're needing in information.
If not, please help me with some more step by step guidance.

DISKPART> list disk

Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 223 GB 0 B *
Disk 1 Online 476 GB 0 B *
Disk 2 Online 931 GB 1024 KB *
Disk 4 No Media 0 B 0 B

DISKPART> list volume

Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 Unkno Partition 222 GB Healthy
Volume 1 NTFS Partition 900 MB Healthy Hidden
Volume 2 C NTFS Partition 475 GB Healthy Boot
Volume 3 Recovery NTFS Partition 450 MB Healthy Hidden
Volume 4 FAT32 Partition 99 MB Healthy System
Volume 5 NTFS Partition 852 MB Healthy Hidden
Volume 6 D Games NTFS Partition 931 GB Healthy
Volume 10 F Removable 0 B No Media

DISKPART>

Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume2
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
resumeobject {224789e9-8edd-11e9-9ad9-c13f6e7a07b4}
displayorder {6a50ed28-31f7-11ec-98c3-848aee8f9ac6}
{current}
toolsdisplayorder {memdiag}
timeout 30

Windows Boot Loader
-------------------
identifier {6a50ed28-31f7-11ec-98c3-848aee8f9ac6}
device partition=\Device\HarddiskVolume9
path \Windows\system32\winload.efi
description Werk groot
locale en-US
inherit {bootloadersettings}
displaymessageoverride Recovery
recoveryenabled No
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=\Device\HarddiskVolume9
systemroot \Windows
resumeobject {6a50ed27-31f7-11ec-98c3-848aee8f9ac6}
nx OptIn
bootmenupolicy Legacy
claimedtpmcounter 0x10002

Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.efi
description Games
locale en-US
inherit {bootloadersettings}
recoverysequence {224789ec-8edd-11e9-9ad9-c13f6e7a07b4}
displaymessageoverride StartupRepair
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {224789e9-8edd-11e9-9ad9-c13f6e7a07b4}
nx OptIn
bootmenupolicy Legacy
hypervisorlaunchtype Auto

From what i can tell from this, i have it configured as option 2.
What i find interesting tho. is that the 'werk groot' bootloader points to harddiskvolume9.
While the disk the installation is on, is actually disk 0 volume 0?