This page describes how to set up your computer in order to dual-boot Ubuntu and Windows with Windows already being on the machine or by installing Windows before Ubuntu.
In general, a Windows 'should' be installed first, because it tends to ignore other operating systems and does not include them in it's boot-menu. Also Windows installers tend to overwrite the entire hard-drive (potentially wiping out any other data stored on it).
Ubuntu can probably do everything you need once you have sorted the multimedia and found the guide that helps people move away from Windows. Of course Ubuntu is different from Windows with it's own programs and ways of doing things. As long as you keep asking questions, then you will keep finding people who enjoy helping you through this phase. Also installing "Wine" makes it easy to install some Windows programs although Murphy's Law applies and whichever program you want to install will probably be difficult so trying to find a native linux application through a "package manager" is better.
Windows To Be Installed
If Windows is not already installed, then it might be worth considering alternatives to installing it as a dual-boot. One surprisingly easy option is to install Windows inside a virtual machine inside Ubuntu to gain the stability and security of linux while running Windows. This would also allow you to do things like copy&paste between the 2 operating systems. Or to share documents without having to reboot.
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).
Windows is normally pre-installed taking up the entire hard-drive. The Windows partition(s) needs to be shrunk, creating free space for the Ubuntu partition. See How to Resize Windows Partitions to learn how to do this. Often, especially with an early Vista or Windows7, it is better to shrink the Windows partition from inside Windows.
Control Panel -> Administrative tools -> Computer Management -> Disk Management
You can then use the Windows partition manager to shrink the partitions. The Windows partitioner is not great so don't worry about trying to create the partitions for linux using the Windows tool. It can't handle linux partitions anyway.
If you have resized the windows 7 /vista partitions and cannot boot up windows, you can use the instructions from WindowsRecovery to fix it.
Once free space has been created on the hard drive, it is easy to install Ubuntu as the second operating system (and it is done automatically) from the Ubuntu LiveCD. Allow the Ubuntu LiveCD to install to "largest available free space" (if you have left unallocated free space), or manually into a partition that you have already created for Ubuntu.
- Insert the Ubuntu Cd into your Cd/Dvd-drive and reboot your PC.
If the computer does not boot from the Cd (eg. Windows starts again instead), make sure the "boot order" in your BIOS looks at the Cd before the hard-drive. See BootFromCD.
- Proceed with installation until you are asked this question: "How do you want to partition the disk ?".
Resizing Partitions Using the Ubuntu Installer
Automatic partition resizing
- Choose the First Option (It should be something like: "Resize IDE1 master, partition #1 (hda1) and use freed space").
- Specify the size of the new partition as a percentage of your entire hard disk.
- Click on "Forward".
Continue 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 partitions you need. 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. 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 hard disk (which is booted by the BIOS). The MBR 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 Ubuntu will boot after a ten second countdown. If you select Windows then GRUB will chain-load Windows for you at the Windows boot sector, which is the first sector of the Windows partition.
If you have a problem with changing the MBR code, you might prefer to just install the code for pointing to GRUB to the first sector of your Ubuntu partition instead. If you do that during the Ubuntu installation process, then Ubuntu won't boot until you configure some other boot manager to point to Ubuntu's boot sector. 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 in during the times of Vista Beta already. EasyBCD is user friendly and many Vista users highly recommend EasyBCD. Remark: this method may not be compatible with new computers using UEFI.
MultiOSBoot - How to boot more than two operating systems from a single hard drive.