[Solved] Dual booting - Adding Windows 10 to Grub

This all used to be so simple, but I cannot for the life of me figure out howto solve this issue, which perhaps has something to do with the fact that I have sort of installed things in reverse order.

First I installed Antergos, and all was good. Then I figured out that I would, after all, be needing Windows on occasion (something which I do hope won’t last), so I grabbed a space SSD and installed Windows 10 on it, just as Antergos has it’s own dedicated SSD.
Something did get messed up in the process, though I don’t recall exactly what or how, but regardless, I don’t have a primary SSD with Antergos and a secondary SSD with Windows 10.
On boot Angergos boots just fine and should I which to boot Windows I can do so by overriding the boot priority in BIOS, so everything works.
Except none of the procedures I’ve found for adding Windows to grub have worked. I even accidentally left my bootable Windows install USB plugged in, and that was found, just not Windows 10 install I want to find.

So, everything works, this is simply a matter of convenience, but it does rather bother me.

I dunno, perhaps I’ve missing or misunderstood something on the Arch wiki and/or various forum posts I’ve read, but it certainly doesn’t seem so.

At the end of the day perhaps it’s better this way, but I would very much like to know what I’m doing wrong.

Update:
So as it happens, I’ve come somewhat closer to an answer
I was massing about in BIOS, or whatever you call it these days, and when I chose to boot only EFI, only the Windows install was available, and when I chose to boot only legacy, only that Linux install was available.
The answer is obvious of course. For some reason I cannot begin to comprehend,Linux wasn’t installed as EFI, and Windows was, although it insist on not being GPT, while the Linux install works perfectly from GPT.

I can’t say I quite understand, but at any rate the solution is simple. I’m gonna nuke both disks and ensure they’re GTP, then I’m going to reinstall Windows, ensuring to boot in UEFI mode, and them I’m gonna reinstall Linux, again ensuring to boot in UEFI mode.
Assuming that everything works as intended, The problem should be solved.It’s a bit more work than I’d hoped for, but at least there’s nothing much to backup, and the install are uncomplicated and relatively quick.

Conclusion and solution:
Should you ever experience anything similar, make damn sure you’ve actually your various install media in UEFI mode.
You may need to disable fast boot in BIOS, and after that:
sudo os-prober
sudo update grub
should do the trick.

You may run in to the problem that update-grub simply isn’t available on your system, but fear not, it’s just a simple script, and there are readily available howtos online.

Added 'help desk ’ tag so people know you need help.

1 Like

When you’re running Antergos, are you mounting your Windows drive at all? When you log in, can you mount your windows drive at all?

I had this problem with Ubuntu before, cept I installed ubuntu without having my windows drive installed. Once I got it installed, I hotswapped my windows drive, and had to do this:

sudo os-prober

Then

sudo update-grub   

This forced grub to find the boot-loader of windows, and add it to the list. And I got a menu when I rebooted to choose operating system.

Not sure if the commands would be the same with Antergos. I’m using Ubuntu 18.04.1 LTS. But this is what fixed my issue. This might be what helps fix yours.

1 Like

You could try bootrepair, I had same problem (with reversed install order, but I had to unmount win10 SSD, because win10 always overrides the boot sector on boot) neverless: bootrepair can be found there

https://sourceforge.net/p/boot-repair-cd/home/Home/

Well, that’s fixable by just swapping SATA cables. really, or going into the bios and editing the boot order from there. Shouldn’t have to use a program to organize the boot order…

@Smerrills
I’ve already tried your suggestion, which didn’t make any difference.

@Olol
I don’t think that will solve anything. After all both systems work perfectly well

@Smerrills
This second comment from you did get me to investigate further which devices are actually visible to Antergos (don’t ask me why I didn’t do that earlier.) and the disk with Windows on it doesn’t appear. Why, I cannot say, it obviously works fine.
I must say I fail to see how changing the boot order in BIOS would do anything, other than having it boot up in Windows by default, instead of Linux, which I don’t want, but switching the sata cable to another sata plug does make some sense… I think. Do you really think that’ll work?
At any rate I’ll give it a go at the first opportunity.

I dont think so. I was merely mentioning it cause sometimes, it’s easier to just re-order your drives by putting your linux drive as the first drive.

And it might work. It could be that the antergos drive is on a different drive controller. Had this happen when I dual booted Win7 and Win Vista back in the day. Got them onto the same sata controller, and walla, they saw each other, and i could dual boot.

But that wouldn’t work for Window’s own boot loader. It can’t see anything linux usually cause linux tries to use a file system that windows isn’t programmed so see. That’s why Grub is tuned to look for ntfs drives. Kinda.

I had the exact same issue like you, both systems worked fine and I could choose which drive should be up in boot order in bios. For me the bootrepair utility added win10 to grub, like I wanted.

My theory is they are using different partition layouts. One is using MBR and the other GPT. That could be why os-prober isn’t finding Windows 10…but it’s only a theory.

1 Like

Could be. I didn’t ensure the second SSD was GPR and I didn’t get the option via the Windows install to convert it. It still does seem odd to me that this should prevent Linux from seeing it.

Try to add a custom entry like this

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

Your UUID you can find out with lsblk -f for instance. You have to pick the partition with the windos boot loader (usually EFI these days) on it.

In witch custom file you put it does not really matter, but the number upfront determines the order in witch your entries will be displayed in grub so you can make 09_custom and your custom test-entry should be the first one in the list.

Then run update-grub and try if that works.

Maybe the os prober failed for once. Who knows.

Thank you, lsblk does not show the windows drive, so the uuid will no be obtained like that at least.
I will pull my self together in a moment and try to switch the sata cable to another plug, as suggested earlier, and return if it makes a difference.

Okay, so now I see the disk, though the uuids look nothing like on the Linux disk.
I’ll try a little of this and a little of that. At least this is progress.

Come to think of it, how on earth have I ended up with a mbr partitioned disk with a uefi install of windows on it?

Wrong setting in rufus or whatever you used, then it´s only shows up as legacy boot device and not as the other and then it won´t be available to install as GPT. Easy to fall into that since you don´t find it as a GPT boot device and then just click on the legacy thing cause it ‘works’.

Yeah UUID can mean a multitude of different things. For the lack of a proper term it´s just UUID I guess. Partition level “UUIDS” are pretty different depending on what file system you use. I´m not really a wizard in knowing all the things/names here either. I just accepted that they may be what they feel like and it´s ok (usually).

I think the easiest course of action here in simply to nuke the Windows disk, convert it to GTP and reinstall. It’s not really a big deal, I’m just not particular keen on downloading about 10gb for a particular game I enjoy… again.
Anyway, I’ll let you all know if I have any further issues.

Okay… So I nukes the windows install, changed to GPT and reinstalled. Imagine my surprise when I boot up into Linux to find that the Windows install decided that GPT wasn’t good enough. Oh, We’ll stick to the old ways…
This of course means that I’m no further in fixing the issue,but I suppose it’s really for the better, and incentive if you wish, to get rid of Windose as soon as I can.

This is damned odd.

1 Like

It is indeed, but ultimately it doesn’t matter much. Think I’ll just mark it as resolved/unsolved.

What did you change to GPT? If you changed the partition, it does not help or matter to the windows installer. The only thing that determines it is how you created the usb (usually Windows installers are dual boot UEFI + BIOS though so that part should not matter) and then next how you launch your USB. In UEFI mode or BIOS/Legacy mode. Once you see the installer what you picked before that is what you get.

Depends on your Notebook or Mainboard how that “selecting the right thing” will look like though. If you give us some info on what you have we maybe able to find out how to make it actually be GPT.

EDIT: Actually got some unconventional idea that probably works.

You can just run os prober with the installer USB attached and click the thing form grub, that it found. Then you should end up with the same thing as your linux install.

1 Like