How to Upgrade a Linux Dual-Boot System to Windows 10

ubuntu linux and windows 10 dual boot

If you’re a Linux user, there’s a good chance you’ve installed Linux alongside an existing Windows 7 or 8.1 system in a dual-boot configuration. You can get the free Windows 10 upgrade without damaging your existing Linux system.

Even if you’ve overwritten your original Windows system with Linux, you can still get the free Windows 10 upgrade. You’ll just need to reinstall the original Windows system first.

What You’ll Need

Upgrading a dual-boot system is much like upgrading any other Windows installation. You’ll need a genuine, activated copy of Windows 7 with Service Pack 1 or Windows 8.1. (If you have Windows 7 without Service Pack 1 or Windows 8 installed, you can upgrade them for free first).

If you installed Linux over your existing Windows installation and you want to install Windows 10, you’ll have to reinstall the original Windows system that came with your PC before performing an upgrade. But, if you have Linux installed in a dual-boot configuration and still have your original Windows system lying around, you’re good to go.

As always, it’s a good idea to have backups of your important files before continuing. While this process worked fine for us and shouldn’t cause any problems, Microsoft doesn’t officially support it.

How to Upgrade

To upgrade, reboot your computer and choose the Windows option in its boot loader. From within Windows, download the media creation tool from Microsoft, launch it, and select “Upgrade this PC”. Perform the same upgrade process you would to upgrade any Windows 7 or 8.1 PC to Windows 10.

You could also download the Windows 10 ISO from within your Linux system and burn it to a disc. You could then reboot into Windows 7 or 8.1 and launch the setup program from the disc. Be sure to upgrade by running the installer from within Windows 10 and selecting upgrade. You can’t actually perform a clean install of Windows 10 on a PC until you first upgrade it. The upgrade process effectively grants your PC the free Windows 10 license. Microsoft makes a note that your PC’s specific hardware configuration is allowed to use Windows 10 on its activation servers.

Go through the typical process to upgrade Windows as if it were the only operating system on your PC. When the installer reboots normally, you’ll be brought back to the GRUB2 boot loader menu again. Select the “Windows” option here each time your computer reboots. Different Linux distributions each call it something slightly different, but “Windows” will be in the name.

Windows 10 will install normally, replacing your existing Windows 7 or 8.1 system with Windows 10. It’ll work just like it would on a typical PC with only Windows 7 or 8.1 installed. As it’s an upgrade, you won’t be prompted for partitioning or anything along those lines. Windows 10 will just replace your existing Windows 7 or 8.1 system on the existing partitions, leaving your Linux partitions alone.

What About the GRUB2 Boot Loader?

Typically, installing or upgrading Windows will overwrite your Linux boot loader. Your Linux system will become inaccessible until you reinstall Linux or perform a repair-install of GRUB2. Every time you boot your computer, Windows will just boot immediately. That’s why you should typically install Windows before Linux when setting up a dual-boot system.

But, surprisingly enough, the Windows 10 upgrade process won’t overwrite the GRUB2 boot loader on your Linux PC. Everything will continue working normally, and you’ll see the usual Linux boot loader every time your reboot your PC. After you perform the upgrade process, selecting the “Windows” option in the bootloader will boot into Windows 10 instead of your old Windows system.

Optional: Update Your GRUB2 Boot Menu

Everything will “just work,” but your Linux distribution won’t automatically change the operating system label in GRUB. It will continue to either say “Windows 7” or “Windows 8”, even though that option will boot you into Windows 10.

You can ignore this option entirely and continue using it — everything will just work. If you do want to rename the Windows 7 or Windows 8 entry so it reads Windows 10 instead, you’ll need to edit your GRUB2 boot menu.

Assuming you’re using Ubuntu, you can install the Grub-Customizer tool from this PPA and use the graphical interface to rename the boot entry. Other Linux distributions may have built-in tools for editing their boot menu. You can also use this tool to make Windows 10 your default operating system that starts every time you boot your PC, if you like.

The convenient upgrade process doesn’t tamper with your system and overwrite the Linux bootloader, which is a nice change from previous editions of Windows.

But, if you want to install Windows 10 from scratch in the future, you should still install Windows 10 first and Linux after. Performing a clean install of Windows 10 would overwrite your Linux boot loader with the Windows boot loader.

In the future, you can clean install Windows 10 on the same PC after it’s been upgraded once. Microsoft will remember that the particular computer and its hardware are eligible for the free Windows 10 offer and are properly licensed. Just go through the installer and click the skip option each time you’re asked for a product key. Windows 10 will automatically activate itself online with Microsoft after you reach the desktop.

Chris Hoffman is a technology writer and all-around computer geek. He's as at home using the Linux terminal as he is digging into the Windows registry. Connect with him on Google+.