I have a Windows 10 machine, and I've to dual booted it with Ubuntu 18.04. I connect remotely to this machine most of the time, and I need to switch between OSs every now and then.

I'd like to be able to choose which OS will be booted before restarting the machine. I can do this from Linux by editing /etc/default/grub and running update-grub (or just changing grub.cfg). But once in Windows, I can longer access Linux when rebooting because Windows can't find/read the grub config.

I've been reading up on partitioning. I think I could have grub's configuration on its own FAT32 partition, but I've never actually done manual partition, so I'm not too confident in my ability to get it right.

How would I go about achieving such a setup? Ideally, I could just flip a switch to tell grub (or whatever else) which OS to boot into.

I've looked at other questions (such as How can I tell GRUB I want to reboot into Windows—before I reboot? and How do I change the GRUB boot configuration from within Windows?), but they don't have many details on booting into Linux from Windows, only booting into Windows from Linux, which I can already do.

I've found grub-choose-default and it looks promising, but there's no mention of Windows 10.

Thanks for the help.

  • Welcome, it seems to me that the only option is to handle it from each OS. In this case, the question would be how to do this from windows, which would be off topic, but could be answered in superuser. Commented Jan 10, 2021 at 21:37
  • 1
    UEFI or BIOS install? If UEFI, you should be able to use UEFI's one time boot selection to change boot order. But only know how to do that with efibootmgr, see man efibootmgr in Ubuntu. For Windows: stackoverflow.com/questions/44919190/…
    – oldfred
    Commented Jan 11, 2021 at 14:42

1 Answer 1


From Windows 10, you can keep MAJ pressed while clicking reboot to choose what to boot on next time.

You can also use bcdedit to modify Microsoft's bootloader configuration.

When executing this command, a list of bootable system will be presented to you (from the perspective of Microsoft), you can use any identifier shown in the next command.

bcdedit /default $identifier

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .