The information in this thread have been moved to https://help.ubuntu.com/community/MigrateWubi
A thread for discussion of the wiki page only can be found here http://ubuntuforums.org/showthread.php?t=2012400
This HOWTO has been moved to a community-maintained Wiki: https://help.ubuntu.com/community/MigrateWubi
For the reason why, see here.
This HOWTO describes how to migrate a Wubi install to partition. The partition(s) must be created already - this is not covered in this guide (but see here). The examples shown below assume the target partition is /dev/sda5 and the swap partition (if required) is /dev/sda6.
The migration supports Wubi installs from 8.04 to 12.04, with Grub2 or grub-legacy.
First download the attached file wubi-move-2.2.tar.gz to your Downloads directory, right-click and choose "Extract here".
The rest of the migration is run from the terminal. See How to migrate in pictures
To migrate to /dev/sda5 with swap on /dev/sda6
To migrate to /dev/sda5 without swap
sudo bash wubi-move-2.2.sh /dev/sda5 /dev/sda6
If you don't want to install the grub bootloader, use the --no-bootloader option. You can boot from the Wubi install's grub menu temporarily and manually install the grub bootloader later.
sudo bash wubi-move-2.2.sh /dev/sda5
To migrate from the root.disk when running from a live CD/USB:
sudo bash wubi-move-2.2.sh --no-bootloader /dev/sda5 /dev/sda6
The path to the root.disk is case-sensitive and if it contains spaces they must be escaped e.g.
sudo bash wubi-move-2.2.sh --root-disk=/media/win/ubuntu/disks/root.disk /dev/sda5 /dev/sda6
You can migrate to separate partitions for /boot, /usr and /home
sudo bash wubi-move-2.2.sh --root-disk=/media/New\ Volume/ubuntu/disks/root.disk /dev/sda5 /dev/sda6
For full usage instructions and notes:
sudo bash wubi-move-2.2.sh /dev/sda5 /dev/sda6 --boot=/dev/sda1 --usr=/dev/sda7 --home=/dev/sda8
The code is now hosted on GitHub. You can keep track of new development or contribute. See https://github.com/bcbc/Wubi-move
bash wubi-move-2.2.sh --help
bash wubi-move-2.2.sh --notes
Known issues with script:
1. Running "update-grub" in the chroot doesn't pick up other linux installations on the same drive (same running the script or manual commands listed above). This is unlikely an issue for wubi users. Run sudo update-grub after booting the new install for the first time.
2. Only the current kernel's initrd.img is updated on the migrated install; if you require others you can update them with "sudo update-initramfs -u -k <kernel version>".
3. End of life releases that have grub-legacy must be upgraded to a supported release before migrating.
Other known issues:
1. Many older BIOSes cannot address more than 137GB from the start of the disk. If you try migrating to a partition that falls outside of this, then Grub2 will fail to load it's boot files. Even if only a part of the partition falls outside this range there is a possibility of grub failure in the future. Therefore, either confirm your BIOS is unaffected prior to partitioning, or ensure your target partition falls within this limit, or migrate to a separate boot partition within this limit.
2. The process that Wubi uses to boot (wubildr.mbr) cannot read ext3/4 partitions prior to release 11.10. It reads partitions in BIOS order looking for the wubildr file, so if finds an ext3/4 partiton before it finds the wubildr file - it will hang up. So, make sure you install the grub2 bootloader if you migrate to a partition lower than the one containing wubildr i.e. if Windows is on /dev/sda2 and you migrate to /dev/sda1
A note on hibernation:
The migration script will enable hibernation automatically, provided you migrate with a swap partition and the swap partition is large enough (must be > the size of your RAM).
For those interested, I've included the steps required to manually migrate in another post.