Linux – Fix Windows 8 EFI MBR Issues

linux

I have deleted the windows efi partition ( not windows ).I have in my system 2 linux distro and 2 efi partitions.

I am trying to fix windows boot following steps like:

here and here.

The problem is , that when I enter the command:

bootrec /fixboot

it shows :

The system cannot find the file specified

I tried to run :

bootrec /rebuildbcd

,so it shows:

Successfully scanned Windows
C:\Windows
Add installation to boot list?

I answer "Yes" and then it again throws me the previous message.

What can I do about that?

(The "This question may already have an answer here" doesn't help since the /fixboot doesn't work..)

—- UPDATE —-

1) I tried to run : bcdboot c:\Windows and it throws:

BSFSVC Error:Failed to create a new system store

2) I typed active after assign letter = v: but it shows :

The selected disk is not a fixed MBR disk

3) I saw that in the directory : C:\Windows\Boot\EFI\ it has the files : bootmgr.efi , bootmgfw.efi

Should I try there all the commands:

bootrec /fixboot , fixmbr or I may do things worse?

—— UPDATE ———————

This post is different from the duplicate one , in that , when I try to run :

bootrec /fixboot , it shows: The system cannot find the file specified

I think I made this clear.Why do you duplicate this post???

— UPDATE 2 ————————-

I tried ( i have only 1 disk in my laptop ):

list disk
sel disk 0
list partition
sel partition 2 ( it is an efi partition I have created when I installed linux )
active -> gives message "The selected disk is not a fixed MBR disk" 

I then followed the same procedure:

list vol
sel vol 11
assign letter = v:
exit

Now , when I try: bootrec /fixboot , it shows me the message "No element found"

——UPDATE 3——————-

I upload screenshots here and here.
Disk 0 is my laptop disk.
Disk 1 I don't know
Disk 2 is the flash drive from which I am running repair disk.

As for the partitions , the 2 and 10 are EFI partitions I generated from the linux distros.
So, the volumes are 11 and 12.
I tried both.

———- UPDATE 4 —————————————————-

I tried :

 bootsect /nt60 ALL /force

but still nothing.
When I enter : bootrec /fixboot ,it shows :

element not found.

Also, after this:

Successfully scanned Windows installations.
Total identified Windows installations: 1
[1]  D:\Windows
Add installation to boot list? Yes<Y>/No<N>/All<A>:

I enter Y but I am getting a negative answer ( I don't remember what exactly! ).

The good thing though ,is that now (after updating grub) the windows boot option appeared in my grub menu.
But when I select it ,it shows:

The boot configuration data file is missing required information.

File :\BCD
Error Code: 0x0000034

I am not sure what to do from now on.

I saw somewhere to try : bcdboot c:\windows
but I don't know how to access 'C' drive.
Ok, I am doing:

sel disk 0
list vol

and in volumes I can see 'C' listed .
But I don't know beyond this.

Also,I tried renaming the BCD file and then rebuild but still the same.

—–UPDATE 5————————–

Volume 10 contains:

Bin
Boot
Recovery -> empty
RicaTools -> bootmgr,bootmgr.efi ....
TFR
WinRePartition.ini

Volume 11:

EFI-> manjaro -> grubx64.efi
      BOOT-> BOOTx64.efi
      Microsoft-> Boot -> bootmgfw.efi
                          bootmgr.efi
                          boot.stl
                          MokManager
                          BCD
                          ...

     ->ubuntu-> grubx64.efi,grub.cfg,shimx64.efi

Volume 12:

EFI-> mint ->grubx64.efi
      manjaro-> grubx64.efi

—UPDATE 6——————

Finally it worked thanks to Christophe!

Just want to note for anyone who has the same problem , that the last command fixboot gave

Element not found

but it didn't matter!

Of course ,finaly,I had to do an update-grub .

Best Answer

If you have any important data on your computer I advise you to boot on some Windows PE based CD/USB media with a GUI (Hiren's boot CD for example) and connect an external HDD to try backuping your important data.

Try to map the V: letter to the 260MB EFI partition by running the following diskpart commands:

diskpart
select volume 11
assign letter=v:
exit

Then rename the current Windows boot environment folder with the follwing command:

ren V:\EFI\Microsoft\Boot Boot.old

Re-create the Windows boot environment with bcdboot:

bcdboot C:\Windows /s V: /f UEFI

Afterwards, run bootsect which will look through your partitions, find the one with Windows 8 and update its boot code:

bootsect /nt60 ALL /force

Then re-run bootrec which this time should not output any errors :

bootrec /fixmbr

Finally, restart your computer to check if you are able to boot in Windows.

Related Question