This page describes how to set up your computer in order to dual boot Ubuntu and Windows.
Back Up Your Data
Although this may seem obvious, it is important to back up your files to an external backup medium before attempting a dual-boot installation (or any other hard drive manipulation), in case your hard drive becomes corrupted during the process. External hard drives, USB flash drives, and multiple DVDs or CDs are all useful for this purpose.
Have a Windows recovery CD/DVD available
Some computer manufacturers that pre-install Windows provide a Windows recovery/re-installation CD or DVD with the computer. However, many companies no longer ship a physical disc but instead create a hidden partition on the hard drive in which the recovery-disk information is stored. A utility is then usually provided which allows the user to burn a recovery/re-installation CD or DVD from it. If you are buying a new computer and intend on dual-booting, make sure you have (or can make) a physical Windows recovery/re-installation CD or DVD. If neither a CD/DVD nor a recovery partition/burning utility is provided by your computer manufacturer, you may need to contact your vendor and ask for a CD or DVD (to which you are normally entitled under the Windows EULA).
Getting Recovery Media
You may need to request a physical recovery/re-installation CD or DVD directly from your computer manufacturer. See WindowsRecoveryCd.
Once you have created a physical backup disc from a restore-image partition on the hard-drive, the restore-image partition can either be removed or left in place. Ubuntu can be installed with it intact without problems.
Install Ubuntu after Windows
A Windows OS should be installed first, because its bootloader is very particular and the installer tends to overwrite the entire hard drive, wiping out any data stored on it. If Windows isn't already installed, install it first. If you are able to partition the drive prior to installing Windows, leave space for Ubuntu during the initial partitioning process. Then you won't have to resize your NTFS partition to make room for Ubuntu later, saving a bit of time.
When a Windows installation already occupies the entire hard drive, its partition needs to be shrunk, creating free space for the Ubuntu partition. You can do this during the Ubuntu installation procedure, or you can see How to Resize Windows Partitions for other options.
If you have resized a Windows 7 or Vista partition and cannot boot up Windows, you can use the instructions from WindowsRecovery to fix it.
- Insert the LiveCD into your CD-ROM drive and reboot your PC.
- If the computer does not boot from the CD (e.g. Windows starts again instead), reboot and check your BIOS settings by pressing F2, F12, Delete, or ESC. Select "boot from CD".
- Proceed with installation until you are asked this question: "How do you want to partition the disk?".
- If you have already partitioned the disk and left space for Ubuntu, install it to that and then follow the rest of the steps.
- Otherwise, choose one of the next two steps.
Automatic partition resizing (not recommended)
- Choose the first option, which should say "Install them side by side, choosing between them each startup".
- Specify the size of the new partition by dragging the slider at the bottom of the window.
- Click on "Forward".
Continue on to Finishing Ubuntu Installation
- Choose "Manually edit partition table".
- Listed will be your current partitions.
- Select the partition you want to resize and press Enter.
- Select "Size:", press Enter.
- Select Yes, press Enter.
- Type in a new size in gigabytes for your partition, it's recommended you free up at least 10 GB of free space for your Ubuntu install. Press Enter when happy with your changes. It may take some time to apply the changes.
Create a swap partition of at least your amount of RAM (if you don't know, 2000 MB is a good value).
- Create a partition for your Ubuntu installation.
Create other partitions if necessary: see DiskSpace
- Select "Finish partitioning and write changes to disk".
Master Boot Record and Boot Manager
GRUB2 is the boot manager installed in Ubuntu by default. GRUB2 is an open source boot manager that install the main parts of the boot loaders inside Ubuntu. This means Ubuntu is independent and avoids any need for writing to other operating systems. To accomplish this, the only thing in your computer outside of Ubuntu that needs to be changed is a small code in the MBR (Master Boot Record) of the first hard disk, or the EFI partition. The boot code is changed to point to the boot loader in Ubuntu. You will be presented with a list of operating systems and you can choose one to boot. If you do nothing the first option will boot after a ten second countdown. If you select Windows then GRUB or LILO will chain-load Windows for you at the Windows boot sector, which is the first sector of the Windows partition.
Windows Vista no longer utilizes boot.ini, ntdetect.com, and ntldr when booting. Instead, Vista stores all data for its new boot manager in a boot folder. Windows Vista ships with an command line utility called bcdedit.exe, which requires administrator credentials to use. You may want to read http://go.microsoft.com/fwlink/?LinkId=112156 about it.
Using a command line utility always has its learning curve, so a more productive and better job can be done with a free utility called EasyBCD, developed and mastered during the times of Vista Beta. EasyBCD is very user friendly and many Vista users highly recommend it.
Installing Windows After Ubuntu
There are two different approaches:
Recovering GRUB after reinstalling Windows
Please refer to the Reinstalling GRUB2 guide.
Master Boot Record backup and re-replacement
This method does not work for computers with UEFI boot. In consequence, it won't work for pre-installed Windows8 and some pre-installed Windows7.
Back-up the existing MBR, install Windows, replace your backup overwriting the Windows boot code:
- Create an NTFS partition for Windows (using fdisk, GParted or whatever tool you are familiar with)
Backup the MBR e.g. dd if=/dev/sda of=/mbr.bin bs=446 count=1
- Install Windows
Boot into a LiveCD
- Mount your root partition in the LiveCD
Restore the MBR e.g. dd if=/media/sda/mbr.bin of=/dev/sda bs=446 count=1
- Restart and Ubuntu will boot
- Setup GRUB to boot Windows
Issues with Windows XP and NTFS
The Ubuntu installer has included support for resizing NTFS partitions since Ubuntu 5.10 (Breezy Badger) was released way back in 2005. Very few problems have been reported relative to the huge number of times that the installer has been used. If you tried the above procedure and have had no luck, it might be that there is a pre-existing problem either in the file system, in the partition table or the hard disk.
First you should try running CHKDSK before trying again to resize the partition, and if you are using the Alternate CD, defragging might help. It is recommended that you run CHKDSK once again after resizing your NTFS partition.
Also, try the following alternative methods:
Using QtParted from the System Rescue CD
- Boot into Windows and backup any valuable documents, photos, etc. onto removable media such as CD-R/DVD-R.
Run the Windows disk check tool (error-checking) on C: a couple of times (the results can be seen in the Administrative Tools > Event Viewer > Application under a "Winlogon" entry).
- Run the Windows defragmentation tool on C:
Download the System Rescue CD ISO image (321 MB; has several very useful software tools).
- Burn the ISO image to a CD.
- Boot from the CD and hit Enter when you see the message "Boot:".
- When you get a command prompt, enter:
- Select your disk on the graphical screen (most likely /dev/hda).
- Select your NTFS partition to be resized (most likely /dev/hda1).
- Right click with the mouse and choose Resize.
- Set the new partition size.
Commit your changes in the File -> Commit menu. If your keyboard and mouse stop responding during resizing then please just be patient.
- Once your changes are saved, remove the System Rescue CD and insert your Ubuntu installation CD.
- Reboot and install Ubuntu into the free space.
Using GParted from UNetbootin-PartedMagic
Download and install the Windows (.exe) file, then reboot.
Select the UNetbootin-partedmagic entry after rebooting, and wait as PartedMagic boots up.
- Start the partition manager by clicking the GParted icon on the the panel.
- Select your disk (probably /dev/sda) via the drop-down menu on the top-right corner of the interface.
- Right-click the NTFS partition to be resized (probably /dev/sda1), and select the "resize" option.
- Drag the slider to specify the new size the NTFS partition should be resized to, then press OK.
- Press the "Apply" button to resize the disk, then reboot once done.
- Upon the next Windows boot, click OK when prompted to remove UNetbootin-partedmagic to remove its boot menu entry.
MultiOSBoot - How to boot more than two operating systems from a single hard drive.
Ubuntuguide -- Dual-booting Windows and Ubuntu -- concise and up-to-date
Kubuntuguide -- Dual-booting Windows and Kubuntu -- concise and up-to-date