I installed a new disk to my system that dual boots windows 10 and CentOS, I wanted to add the original disk that boots windows 7 to grub, Grub detected an error, I unplug the other disk and attempt to boot windows 7 and find a "Windows failed to start" message that suggests I insert the installation CD. The error specifically mentions that the BCD is unreadable:
File: \EFI\Microsoft\Boot\BCD
Status: 0xc000000d
Info: An error occurred while attempting to read the boot configuration data.
This computer is a Acer I bought pre-assembled so I don't have the CD (I do have an Windows 7 install CD, however). The CD I bought refuses to "Repair Windows" because it wasn't installed from the CD.
I extracted the Windows recovery environment (RE) RE image (winre.wim) from the recovery partition and attempted to make a bootable Windows RE USB using dism on windows 10 (all I have available). I didn't appear in the boot menu, so I had to boot from a WinPE USB I created previously with the RE USB inserted,
ran bootrec /rebuildbcd. It said no windows installation found. I don't know what to do here. Is it possible to make a bootable Windows RE USB? Do I need to make a disk instead? Can I do this without contacting Acer for the retail CD?
to make the bootable Windows recovery environment USB I followed the directions here: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/apply-images-using-dism
Edit: I used a bootable Windows pre-install environment USB to run chkdsk on the main bootable partition and found no errors (no bad sectors, etc) at all. It doesn't However, I don't know how, but it started working again but broke and displayed the error message again after I re-attached another disk dual-booting CentOS and Win 10. There is an entry for windows 7 in grub but it doesn't work. I think grub is corrupting the BCD file somehow.
It is going to depend on your BIOS settings. If you are in eUFI mode then you will need to edit the eUFI boot menu. I would recommend instead setting it to boot "Legacy mode". Then you can simply point the primary boot device as the drive that contains your Windows OS. When you want to boot to CentOS you would interrupt your boot cycle with the key that brings up the "BBS" or boot drive selector menu (often F8 or F12). Then select the device that has CentOS.
You can add the Linux drive to your BCD menu and your Windows drive to the GRUB menu. That way, no matter what drive it boots to you can choose either OS from either boot menu.
I can't give you more detailed instructions without your motherboard model number but just look up the manual for your motherboard to get the information that matches my description in the BIOS settings.
User contributions licensed under CC BY-SA 3.0