Contribute
Register

Help with Booting Windows 10 with Clover UEFI

Status
Not open for further replies.
A picture of what? Not sure what you are asking for

A picture of your screen when you receive the error. Is it a black screen with a minus sign in the top left corner?
Does it temporarily show the Windows 10 loading icon and thereafter drop?
 
A picture of your screen when you receive the error. Is it a black screen with a minus sign in the top left corner?
Does it temporarily show the Windows 10 loading icon and thereafter drop?
The screen goes dead and then tells me there is no signal like nothing is connected. It acts like it is loading windows(i.e. It shows the windows icon and load wheel) after it acts like it loading for 15-30 seconds the screens then turn off. Not much of a picture to give you.
 
I found a solution to this without any re-partitioning. I am assuming that this affects NTFS formatted Windows partitions as both of mine are NTFS formatted on an MBR drive and I have the same problem. This solution should work for Windows 8, Windows 8.1 and Windows 10. It will also work for Windows 7 but requires a little extra work and access to some binaries from Windows 8 or higher

You hit the spot!!! Works flawlessly. Thank you.
 
This works, thanks! Just ran:

bcdboot C:\Windows /s C: /f uefi​

at command prompt and now can boot Windows 10 from Clover.

I found a solution to this without any re-partitioning. I am assuming that this affects NTFS formatted Windows partitions as both of mine are NTFS formatted on an MBR drive and I have the same problem. This solution should work for Windows 8, Windows 8.1 and Windows 10. It will also work for Windows 7 but requires a little extra work and access to some binaries from Windows 8 or higher.

Firstly, let me explain that ideally one would want to install Windows for UEFI boot on a GPT formatted drive. Windows will automatically create the required EFI directory structure and populate the necessary files. Clover would then automatically recognise the Windows bootx64.efi file in its expected place and the bootable UEFI Windows partitions should appear in Clover. However, as myself and evidently others have discovered, if Windows has been installed for booting from the MBR, then this file is not present and although the NTFS partitions show in Clover as legacy drives, they cannot be booted.

However, it is possible to work around this problem and create the C:\EFI directory structure and the required files post-install using the Windows bcdboot tool. It is not usually advisable to use an MBR partition for UEFI boot, but so long as the required Windows EFI files and BCD structure exist, Clover will recognise them and and boot into the Windows partition. I cannot take credit for this solution because I found it on a Linux forum where it was applied to the GRUB bootloader, but I tested it on my machine and it does also work with Clover. I will eventually convert my Windows HDD to a GPT formatted disk but for now, this appears to solve the problem for me.

The process is actually quite simple, but before proceeding, the usual disclaimer applies. I will not be responsible for any damage caused to your system! Back up your Windows partition before proceeding and use the process at your own risk!

As a pre-requisite, the NTFS.efi driver will need to be present in your Clover EFI/CLOVER/drivers64UEFI directory. I have seen recommendations to have HFSplus.efi or VboxHfs-64.efi there as well, but these are probably not necessary for a Windows boot from NTFS.

I have a dual boot Windows setup on one HDD and OSX on another HDD. This process did not affect the MBR or the standard Windows BCD boot loader. If you have Chimera + OSX, then it will not affect Chimera either. You will probably also have the Clover bootloader configured to boot OSX or be using a bootable USB drive with Clover to boot the machine from. It is useful to have some other way of getting into your OSes. It might also be useful to have a Windows install DVD or USB drive handy just in case it becomes necessary to repair the Windows startup in the event that something goes wrong.

Boot into Windows 8/8.1/10 and check whether a C:\EFI folder already exists. If Windows is being booted in legacy mode from an MBR, there shouldn't be one. If there is one then Windows may already be configured for UEFI boot and the partition should already be recognized in Clover. If there is no C:\EFI folder, then it is probably safe to proceed. Open a Command window with Run as Administrator. Issue the following command:


bcdboot C:\Windows /s C: /f uefi

Most likely Windows is on drive C: otherwise substitute the appropriate drive letter. This command does two things: (1) Creates the C:\EFI directory structure and populates it with the appropriate files and (2) creates a BCD database for UEFI boot and an NVRAM entry for the partition.

Explanation as follows: C:\Windows - we want to boot the Windows installation at C:\Windows; /s - we want to write the EFI folder to system partition identified as drive C; /f uefi - we want to write a UEFI BCD to C:/EFI rather than an MBR BCD to C:\boot for MBR booting.

Once this has been done, there should now be a C:\EFI folder. Under this there will be a Boot and a Microsoft folder. Under Boot you will find bootx64.efi, and under Microsoft will be further boot files including the BCD. If C:\EFI has been created and populated then reboot into Clover and the partition should now appear as an EFI bootable Windows disk in Clover.


If you are dual booting Windows 8, 8.1 or 10, then other partitions can be made available to Clover in the same way by booting into the appropriate version of Windows and performing the same command, but taking care to use the appropriate drive letter for the Windows system in question. While booted into it will usually be drive C: though.

The bcd boot command in Windows 7 does not support the /f parameter so this will not work under Windows 7. However, if you have access to Windows 8 or 10, then I found that it was possible to copy the BCD tool files from the later version of Windows and use them while booted into Windows 7. I copied the following files, which are found under C:\Windows\system32 into a new folder that was also accessible to Windows 7. I guess they could also be copied to a USB drive:

bcd.dll
bcdboot.exe
bcdedit.exe
bcdprov.dll
bcdsrv.dll

Do NOT copy them into C:\Windows\system32 under Windows 7 but create a separate folder to hold them. You will need to boot into Windows 7, open a command prompt with Run as Administrator and navigate to the directory where you copied the files and execute the same command as above from that directory.

Now that Clover is booting our legacy partitions using UEFI, we no longer need the legacy partition entries. To tidy these up, use the Clover Configurator. Backup your config.plist, then load it in Clover Configurator. In the Gui section there are some settings under the 'Scan' heading. By default this will be set to 'Auto=yes'. Change it to 'Custom' and then check Entries and Tool. Leave Legacy unchecked. By default Clover includes all kernels so there is no need to set anything under Kernel.

This worked fine on my system and I can now boot into OSX Yosemite, El Capitan as well as Windows 10 and Windows 7 using Clover.



 
I'm running an old Asus P5W DH Deluxe mobo with a couple of partitions (windows, OSX, and Mac OS).

It's a legacy boot system bios with clover as the boot manager. There are 3 GUID paritions and multiple NTFS partitions (Yosemite/Sierra/Win7/Win10).

The "bcdboot C:\Windows /s C: /f uefi" method worked fine after I installed the HFSplus.efi and Ntfs.efi drivers using Clover Configurator.

Thanks.
 
where do you get the ntfs.efi driver?

edit: nevermind I see that it is an option in clover configurator under "Install Drivers"
 


Boot into Windows 8/8.1/10 and check whether a C:\EFI folder already exists. If Windows is being booted in legacy mode from an MBR, there shouldn't be one. If there is one then Windows may already be configured for UEFI boot and the partition should already be recognized in Clover. If there is no C:\EFI folder, then it is probably safe to proceed. Open a Command window with Run as Administrator. Issue the following command:


bcdboot C:\Windows /s C: /f uefi




Thanks, this was a lifesaver.

I got the same legacy HD Windows drives in Clover that would fail to boot.
I added the PBR option in Clover Configurator and that boot worked for a few days.
Then I randomly started getting this strange error when booting from that Windows via Clover:

BlInitializeLibrary failed 0xc00000bb


Google didn't help much, seems it's a rare error and people don't really know what caused it. Probably the most insight came from a windows forum where they said:


"
Cause
0" style="box-sizing: border-box; outline: none; margin-right: auto; margin-left: auto; max-width: 1600px; width: 956.594px;">
This problem occurs because the boot firmware on the computer generates lots of memory fragmentation.

Note Not all "BlInitializeLibrary failed XXX" errors are caused by this issue.


Workaround
0" style="box-sizing: border-box; outline: none; margin-right: auto; margin-left: auto; max-width: 1600px; width: 956.594px;">
We recommend that you do not let boot firmware create large amounts of fragmentation. Large memory fragmentation degrades the overall startup performance and causes problems.

More information
0" style="box-sizing: border-box; outline: none; margin-right: auto; margin-left: auto; max-width: 1600px; width: 956.594px;">
At the pre-boot stage, Windows Boot Manager sets the maximum number of global memory descriptor for a 64-bit UEFI system at 512. If the boot firmware creates a large amount of memory fragmentation, the memory descriptor count may exceed the set limit. This causes the "BlInitializeLibrary failed XXX" error.

Note This design applies only to the current operating system releases, including Windows 10, Windows Server 2016, and Windows Server 2012 R2. We do not guarantee that this design will apply to future versions.
"



Anyways, that didn't help much. Still not sure why I got that error but I guessed that booting into those legacy HD drivers from the beginning might work. I used your trick, by going into command line with my Windows USB install disk, and this new boot works! Hopefully it stays working.
 
The bcd boot command in Windows 7 does not support the /f parameter so this will not work under Windows 7. However, if you have access to Windows 8 or 10, then I found that it was possible to copy the BCD tool files from the later version of Windows and use them while booted into Windows 7. I copied the following files, which are found under C:\Windows\system32 into a new folder that was also accessible to Windows 7. I guess they could also be copied to a USB drive:

bcd.dll
bcdboot.exe
bcdedit.exe
bcdprov.dll
bcdsrv.dll

Do NOT copy them into C:\Windows\system32 under Windows 7 but create a separate folder to hold them. You will need to boot into Windows 7, open a command prompt with Run as Administrator and navigate to the directory where you copied the files and execute the same command as above from that directory.

This unfortunately didn't work for me on Win7.
I just made a new Sierra install on a seperate SSD, and am now trying to boot Win7 and Win10 with it via Clover.
Win10 boots with the trick mentioned above, but Win7 isnt been seen by Clover, don't know why. Both disks are MBR.

Later i converted win7 MBR disk to GPT using AOMEI partition assistent, which creates an EFI partition on the disk. Now both Windows disks are beeing seen by clover (now GPT & MBR). But i get an error when trying to boot Win7. After trying some times booting via Clover, Win7 sometimes starts, but sometimes gives me an strange error.

Is it best to also convert the Win10 disk to GPT via AOMEI Partition Assistent?
Or should i make a new install of Sierra using UEFI instead of Legacy version of Clover?

Thanks in advance.
 
Status
Not open for further replies.
Back
Top