I would recommend installing and using refind boot loader. Windows wont overwright it because it boots before the windows bootloader, as It is techinically a boot manager which boots to the bootloader (i.e. grub or your distro’s default boot manager). Second of all, Linuxbabe is correct. If windows updates are overwriting your grub bootloader, then something is not right. I would recommend backing up windows, doing a full erase and clean install, then reinstalling your linux distro on top of that. Most linux distro’s now a days will automatically partition your drive and properly set up your grub bootloader if you are creating a dual boot system. However, again, I would still try installing refind on top of your dual boot system, and that should give you a clean pretty, customizable boot selector screen at boot, in which you can load windows, windows boot manager, grub, or just boot directly to linux while skipping grub. If you dont want to take that route, and you are still dealing with windows updates overriding your grub boot configuration, i would recommend booting from a linux live cd and using the command line tool called efibootmgr
. In the terminal from your live cd run sudo efibootmgr
. This will show you the order of bootloaders and os’s that your computer uses to boot from. From there you can change which bootloader your computer boots when it initializes. Aside from re-selecting grub boot loader from your bios menu, this is a MUCH better and SAFER way to adjust your bootloader settings. Once you are logged into a debian based linux live cd, you can open up the terminal and run the command sudo efibootmanager
, which will show you a list of bootloaders, and which order your computer uses them in upon initialization. Once you figure out which system you want to boot from you can run sudo efibootmgr -o 0000,0001,0002,0003
,etc. where 0000,0001,0002,0003
are the numbers that coincide with their respective bootloader that you discovered from running the first (or second) command. The computer will then boot the first entry in that list (0000,0001,0002,0006,0003,0005) whatever it may be, and if that bootloader is not available, or the drive that it corresponds to is disconnected, then it will run down the list attempting to boot from the second entry in the list, then the third, then the fourth, and so forth, until it finds a bootloader that is present and functional. So if you boot ubuntu from an external disk, and it is the first entry in your efibootmgr list, but that disk is disconnnected, your computer will then default to boot into your second entry, which for your intents and purposes, should be windows. Once your ubuntu drive is reconnected, it will then boot into grub and load ubuntu, or let you select windows boot from the grub menu.