You will need a windows disk
run your installation disk select your language and keyboard layout.
then choose repair computer > advanced > command prompt
sel disk 0
selects first disk. (I would suggest unplugging all other drives for simplicity)
lists partitions on selected disk
From this list you want to find the FAT32 volume take note of the volume number
(you will also want to take note of your windows partition drive letter for later)
sel vol 4
selects appropriate volume
vol 4 is an example but this number wants to be the number of the fat32 volume
assigns letter t: to volume 4
now you want to repair the bootloader
cd /d t:\EFI\Microsoft\Boot\
Now to rebuild the BCD.
I normally recommend backing up you BCD first (If one still exists, if the following command says the file does not exist, skip the step and continue)
If you want to back it up
ren BCD BCD.bk
renames BCD to BCD.bk
bcdboot c:\Windows /l en-us /s t: /f ALL
takes files from your C drive and copies them to the boot partition in english US language
now a couple of things to note here c: won't always be your windows partition pay attention when in diskpart to check which partition is your windows one and if it is a different letter then use that instead of c: (this will be an issue if you installed linux before windows)
the second thing is that you way not be using the US locale for me here in aus it would be en-au in england it would be en-gb in germany it would be de so make sure you get the correct locale as your windows install (There is a list of language codes here if you're unsure) So make sure you use your language code and replace en-us
Then reboot and remove your installation media.
Then if all went well you should boot into windows.
When you reboot go into your BIOS/UEFI and change the boot order to your linux partition first, then save.
Boot into linux.
Now you will want to update your grub boot list to include your windows
From terminal run
Then when you reboot grub should come up and give you the options to boot into windows or into Ubuntu.
You can change the timeout value for grub to wait for input by editing the "GRUB_TIMEOUT" line in the grub config
gksu gedit /etc/default/grub