Choose a bootloader
If you want to use the GRUB bootloader then you don't need to do anything further. Ubuntu installs GRUB into the MBR by default and will happily dualboot itself and Vista.
If however you prefer to keep Vista in charge of things, then you'll need to do a little bit of tweaking.
Firstly, boot into Ubuntu and go to Applications --> Accessories --> Terminal. Then, type in sudo gedit /boot/grub/menu.lst.
This text file contains all the information GRUB uses to configure various boot options. Scroll down and the entries between "## ## End Default Options ##" and "### END DEBIAN AUTOMATIC KERNELS LIST" are the LInux boot options. Slightly further down is the option for the Vista/Longhorn bootloader.
We'll need these entries for use later on, so dump them out to a location accessible by the Vista partition. Alternatively, Ubuntu can access the Vista partition directly - go to Places --> Computer, and double-click into the option marked "xx GB Media". This is the NTFS Vista partition. Ubuntu will prompt for authentication (your Ubuntu password) and then you can either copy the entire menu.lst file into it, or create a new text file on the fly, open it with gedit and copy in the boot entries.
Then restart the machine and boot into Vista
Now we need the latest version of EasyBCD by Neosmart Technologies - download it here. Install the application and launch it.
First, go to "Manage Bootloader" and select "Reinstall the Vista Bootloader", then "Write MBR". This puts the Vista bootloader back into the MBR, but the machine will only boot into Vista.
To enable access to the Linux partition, the best option is to install NeoGrub. Go to "Add/Remove Entries", go the NeoGrub tab and select "Install NeoGrub". This adds the "NeoGrub Bootloader" option to the Vista bootloader.
Once that's done, choose Configure - this launches the NeoGrub menu.lst file, location at C:\NST\menu.lst. Use Notepad or Wordpad to open the file, and then paste in the boot entries. Save and exit, then reboot the machine.
The system will come up with two boot options. Select "NeoGrub Bootloader" and then the Linux boot options will load. Choose the relevant option and the system boot into Ubuntu.