I installed Ubuntu 18.04.01 LTS alongside Windows 10 but GRUB doesn't have an option to boot Windows.

When I hold shift to bring up GRUB there is no option for Windows 10.

I tried to boot to the Windows drive from BIOS and it just opened GRUB and booted Ubuntu instead, so then I used boot-repair to restore the MBR and booted straight to the Windows drive and it said, "Operating System not found".

https://ubuntuforums.org/showthread.php?t=1451149

This answer recommended creating a custom entry at /etc/grub.d/11_windows using this code:

#! /bin/sh -e
echo "Adding Windows" >&2
cat << EOF
menuentry "Windows 10" {
insmod ntfs
insmod chain
insmod drivemap
set root=(hd0,1)
drivemap -s (hd0) (hd1)
chainloader +1
}
EOF

When I loaded it from GRUB it said something like, "error: invalid signature".

Since none of that worked I used boot-repair's recommended repair and now it's back to booting Ubuntu when I try to boot the Windows drive.

Here's the pastebin it generated: http://paste.ubuntu.com/p/ztH5MSVts9/

Sorry if this seems like a duplicate question, but I've tried all of the answers I can find, and none of them have worked.

Update

I can't find them all but here's a few of the answers that I have tried:

https://ubuntuforums.org/showthread.php?t=1451149
(When I loaded this answer from GRUB it said something like, "error: invalid signature".)

No Windows 10 option in GRUB and Windows drive seems empty from Ubuntu
(This issue isn't exactly the same as mine, my Windows drive is not empty from Ubuntu. But update-grub didn't change anything when I rebooted.)

GRUB does not detect Windows
(os-prober gave no response when I used it here. Then update-grub didn't change anything.)

Unable to boot into Windows after installing Ubuntu, how to fix?
(The approved answer didn't work for me, I think because my PC isn't running UEFI. Karel's suggestion to use boot-repair to fix Windows boot files didn't work either, it still boots into GRUB with no Windows option when I load either hard drive.)

https://askubuntu.com/a/890562/880950
(When I make and load a custom entry, like in this answer, it says, "error: file "/bootmgr" not found".)
Here is the code I used at /boot/grub/custom.cfg:

menuentry "Windows 10" --class windows --class os {
   insmod ntfs
   search --no-floppy --set=root --fs-uuid 4A42271C42270C6F
   ntldr /bootmgr
}

Update 2

I loaded up the Windows Recovery drive and tried the following:

C:

Bootrec /fixmbr
“This operation completed successfully.”

Bootrec /fixboot
“The volume does not contain a recognized file system.”

Bootrec /rebuildbcd
“Scanning all disks for Windows installations.
Total identifies Windows installations: 1
[1] C:\windows
Add installation to boot list?”
Yes
“This volume does not contain a recognized file system.”

bcdedit
“The boot configuration data store could not be opened.
The system cannot find the file specified.”

https://www.bleepingcomputer.com/forums/t/634635/window-10-will-not-start/
I found this forum where they seem to be having a similar issue, and recommend using “chkdsk C: /r” so I tried that and it returned:

“Windows has scanned the file system and found no problems.”

marked as duplicate by N0rbert, waltinator, Thomas, Scott Stensland, David Foerster Oct 24 at 6:44

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • Welcome to ask ubuntu, if you have tried multiple solutions found elsewhere it may be a good idea to list them so people don't flag this a duplicate or suggest things you have already tried which can be frustrating to both you and others. – Jeff Oct 11 at 16:46
  • There's no entry in your grub file for Windows, which is one good reason why you can't boot to it from there. Even so that should not prevent you from booting up your BIOS menu which should show Windows as an option and then booting to Windows from there. Is Windows shown as a separate booting option there? – Paul Benson Oct 11 at 17:11
  • @PaulBenson Yes, the hard drive that houses Windows is a boot option from BIOS. But when I boot it it still loads GRUB. I think you're right that there needs to be a Windows entry in GRUB, but I can't get it to auto-generate. Even when I added it manually at /etc/grub.d/11_windows with the code above it wouldn't let me load it. – user10426201 Oct 11 at 19:08
  • Without seeing your BIOS boot entries, it's difficult. It basically sounds like you need to repair your Windows disk's MBR and boot manager as grub has overwritten them. If you made a Windows Back Up and Recovery UFD it's relatively easy to fix. If not you're limited to Linux methods. As boot repair did not work you could try method 2 here. I've not used this one so can't vouch for its success. – Paul Benson Oct 11 at 20:30
  • @PaulBenson I do have a Windows recovery drive but it's telling me that I don't even have Windows installed. I think at this point my best bet is just to format the drive and reinstall Windows. Thanks a bunch for taking the time to help me figure this out. – user10426201 Oct 11 at 23:25
up vote 0 down vote accepted

If you run a dual boot with say Windows and Ubuntu, sometimes Ubuntu's Grub can mess with the Windows System Boot and change the disk's MBR or interfere with Windows Boot Manager, making it impossible to boot into Windows from either the Grub menu options or from the BIOS boot menu. In such a case it is relatively easy to repair the MBR and/or Windows Boot Manager from a Windows command prompt found on the Windows Recovery and Repair disk/drive, which every Windows user should make and have at their disposal. The standard command used is bootrec together with its various switches used to fix the MBR and Windows Boot Manager if necessary. A good guide to using this command for Windows 10 and earlier versions can be found here.

However you may find once you've fixed things for Windows that you can only boot directly there and not into Grub. If that is the case boot into your Ubuntu Live UFD and run boot-repair. A good guide to doing this is found here. Once this has been done most times there should be no further booting issues, and Grub should appear on restart with the option to successfully boot to either system.

Last and not least you should always back up both Windows and Ubuntu systems by imaging, as this is the quickest way to dig yourself out of any system corruption issues, as well as useful for rolling back your system. Although Windows 7 - 10 has its own imaging system built-in, it is not recommended as it sometimes proves unreliable, as the OP found out to his cost. Ubuntu has its own GUI for this being Disks, which allows you to image individual partitions, the root \ being the most important one. But the best and most versatile imaging system is Macrium Reflect as this free GUI will back up both Windows and Ubuntu. For imaging Ubuntu, you have to make a Macrium Recovery USB first from within Windows. But once you've made this USB you can happily image either system once booted into it. It is very reliable and can be used to backup systems running on a UEFI or Legacy BIOS. It even includes a Windows command prompt so that you can run bootrec or any of Windows repair commands from there. Details of how to make the USB are shown here.

Newer Windows has a separate Boot partition with these files. Vista/7/8/10 BIOS (with 7, 8 or 10 the first two files are usually in a separate 100MB boot partition)

/bootmgr /Boot/BCD /Windows/System32/winload.exe

You are missing the first two boot files which normally are in Windows boot partition. Was the Windows Boot partition on the now Ubuntu drive? Windows puts Boot partition on drive set as default in BIOS and installs files into partition with boot flag.

You do not have to have separate Boot partition. But need to make sure BIOS is set to boot Windows drive first, that boot flag is on NTFS partition and then run the full set of Windows repairs. That should restore bootmgr & BCD.

Grub does not use boot flag to know Windows partition to chainload into, but looks for the first two boot files. So after update on Windows drive, you should be able to boot Ubuntu drive from BIOS and run sudo update-grub to add Windows to Boot menu.

You want to keep Windows boot manager on sda Windows drive. Grub only boots working Windows. So when Windows breaks & needs chkdsk or if it turns fast start up back on, then from BIOS you may be able to directly boot it, and use f8 for internal repair console.

But best to have current repair disk or live installer for every operating system you have installed. And good backups.

You can

1: reinstalling grub.

2: repairing your boot loader using boot-repair app.

3: booting up you computer using a windows DVD and go for startup repairing.(in this case you should recovery grub because windows boot loader doesn't know ubuntu )

Troubleshoot --- Advanced Options --- Startup Repair ...

Not the answer you're looking for? Browse other questions tagged or ask your own question.