So I just got a new lenovo laptop, from the thinkpad edge range. And so I booted it up, did the set-up in windows 7, and then plugged in my Ubuntu live USB and rebooted. For some reason when i resized my partitions it decided to format them (I swear I've never had it do that before), leaving me without a windows installation! So I installed ubuntu and made several partitions, leaving me with a set-up like this:
Windows Boot Loader (about a 1G partition that was already there)
50GB ext4 for ubuntu
50GB NTFS for windows
300 GB NTFS for shared data
20GB Lenovo recovery drive
Presumably I could just boot with the boot loader and it would detect that I did not have a functioning windows system, right? Well, it did, but it couldn't really do anymore than that. It failed to find my recovery partition and I spent some time rebooting and trying every different option under the boot loader. I googled a bit and found various advice about changing GRUB, copying the recovery drive over to another computer and making recovery disks, etc. etc. I tried to change GRUB, but still the boot-loader would not recognise the recovery drive (the recovery drive itself is not bootable).
Alas, the internet was failing me. I tried to boot the recovery software with cross-over, but I didn't have any burning software so that ended there. I actually decided to have a look at my recovery drive, which had a giant .wim file on it (called cdrive or something, there's also an sdrive image which I assume is the system drive image). Having not dealt with windows in a while I googled that, discovered it was an image and extracted it with archive manager onto my windows partition.
I added a boot flag to it in partition manager (I have no idea if this was required, I just did it anyway) and then ran sudo grub-update (definitely needed). Reboot, Windows appears under GRUB, I boot into it and it works fine! Well, except for some of the lenovo stuff is a bit wonky, but otherwise, perfect. So all you need to do is find your image on your recovery drive and extract it to a partition. Super simple stuff really.