How can I install Windows after I've installed Ubuntu?
I have Ubuntu on my laptop. Now I want install Windows 7 in a dual-boot. How can I do this?
I can't lose my Ubuntu files, and I'm afraid that I might break GRUB.
Go here for UEFI only!
Here's the general outline:
- Make space for Windows
- Install Windows
- Mount the
/boot
directory or partition - Install the bootloader (GRUB)
Step Zero – Backup your important data before doing anything
Step One – Make space for Windows
Open up GParted, and make sure that you have at least 20 GB available for Windows 7, either as a partition you can remove, or as unpartitioned space. If it's a partition, remove it from GRUB to make sure it doesn't break your Ubuntu install — GParted will complain if anything bad is about to happen.
Make note of current /boot
device. If that doesn't show up there, make note of the /
device. The device name is something like sda5
.
Step Two – Install Windows
Install Windows 7 into the space you just made
Step Three – Mount /boot
Note: Instead of mounting the boot directory or partition from the installation in the live media environment you can specify the path with the
--boot-directory
parameter for grub-install, more information on the manpage.
Load up from your Ubuntu live CD, and then run these commands.
-
If you DO NOT have a separate
/boot
partition:sudo mount /dev/DEVICENAME_FROM_STEP_ONE /mnt sudo rm -rf /boot # Careful here, make sure YOU ARE USING THE LIVE CD. I tried it, it works. sudo ln -s /mnt/boot /boot
-
If you have a SEPARATE
/boot
partition:sudo mount /dev/DEVICENAME_FROM_STEP_ONE /boot
Step Four – Install the bootloader
Note: These instructions were initially written for Windows 7 and BIOS booting computers. If you have UEFI and Windows 8 and above you probably need to replace
grub-pc
withgrub-efi-amd64
insudo apt-get install grub-pc
.
Then continue with those commands:
sudo apt-get update
sudo apt-get install grub-pc
sudo grub-install /dev/sda # NOTE THAT THERE IS NO DIGIT
sudo umount /boot
And restart. It should work fine and boot both systems.
Installing Windows after Ubuntu is not the recommended process for a dual boot Windows and Ubuntu system, but it is possible.
- First, you have to make sure that the 50GB free space is available, resizing your Ubuntu by using gParted if necessary.
- Also use gParted or Disk Utility to format the the free space as NTFS, this prevents Windows 7 from creating an additional boot partition in addition to the "C" drive.
Next, boot to the Windows DVD installer and install Windows on the NTFS partition. Upon reboot, Windows will automatically boot and you won't see the grub menu allowing you to choose Ubuntu, because the Windows bootloader has replaced grub.
Now, what you need to do is run Ubuntu from LiveCD or LiveUSB and install boot-repair.
-
To install boot-repair, open up a terminal by pressing Ctrl+Alt+T and type the following commands:
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update sudo apt-get install -y boot-repair && boot-repair
After installation, boot-repair will automatically launch, if is doesn't, launch it via Dash.
Make sure to select recommended repair to repair grub. Reboot and that's it.
- You should now have a Grub menu on boot, allowing you to choose from Ubuntu, memtest, and Windows 7
UEFI only!
This answer covers UEFI-only, and is meant to be a bit of a more modern answer as UEFI has succeeded the ancient BIOS. Also, there are some edits here to fit the fact it's answering a "how I do this" rather than a "can I do this" type of question.
To install Windows alongside Ubuntu, you just do the following:
- Insert Windows 10 USB
- Create a partition/volume on the drive to install Windows 10 on alongside Ubuntu (it'll create more than one partition, that's normal; also make sure you have space for Windows 10 on your drive, you might need to shrink Ubuntu)
- Install the Windows 10.
That's it!
Note: when making sure things are ready for your dual boot, check if Ubuntu is installed in the GPT partition table! While 99% of the time you will be using GPT if you're planning to do this, it is possible to install Ubuntu's UEFI on MBR but Windows 10 does not support that strange use-case. In that situation, convert to GPT if possible. If not, backup and reinstall, and I'd recommend that as it'll be easier.
boot-repair did a really good job launched from a live-usb, by just applying the recommended option.