The information in this thread has been moved to https://help.ubuntu.com/community/Re...licateWubiDisk
A thread for discussion of the wiki page only can be found here http://ubuntuforums.org/showthread.php?t=2012404
This HOWTO has been moved to community-maintained Wikis:
For the reason why, see here.
This HOWTO describes how to resize a Wubi virtual disk. There are two distinct techniques.
The first, described here, is not strictly a resize, but rather a duplication to a larger virtual disk. E.g. if you have a 7GB root.disk, and you want to make it 10GB you need 10GB of free space (plus leave enough for Windows). This is safer than attempting to expand the current root.disk.
This technique must be run from within the booted Wubi install.
The second technique is a true resize, which must be performed from a live CD. This is much faster and can make better use of the available space. See post #2 for details.
Download the attached file wubi-resize_1.5b.sh and save it to your Downloads directory.
The rest of the resize is run from the Terminal:
For usage instructions:
To create a new 10GB virtual disk:
bash wubi-resize_1.5b.sh --help
After the script is completed it will instruct you to reboot into windows, rename the file \ubuntu\disks\root.disk to \ubuntu\disks\OLDroot.disk and then ename the file \ubuntu\disks\new.disk to \ubuntu\disks\root.disk
sudo bash wubi-resize_1.5b.sh 10
Do not delete the OLDroot.disk until you have confirmed the new root.disk is working (or keep OLDroot.disk as a backup).
Note: the script will merge separate virtual disks into a single virtual disk and automatically adjust /etc/fstab accordingly. If this is not desired, use the manual method. The script limits the size of the new virtual disk to 32GB. Please refer to the usage instructions for options if you require a larger size (although I would recommend migrating to a normal install if this is the case).
How long does it take?:
To create a 5GB disk from a freshly installed Ubuntu on my machine, "dd" takes 4 minutes, "mkfs" takes 9 seconds, and "rsync" takes 6 minutes. On an older install with lots of files or a fragmented partition, the rsync will take a lot longer.
New with version 1.5b is the --resume option. You can use this if the initial resize failed to complete normally due to an rsync copy error e.g. file corruption. After fixing the corruption rerun with this option.
It can also be used to keep an up to date copy of the root.disk (it synchronizes the new.disk with the current install).
NOTE: the root.disk is a single file stored on the /host partition. There is a higher risk storing data within this file and I strongly recommend maintaining regular backups. Also avoid hard shutdowns that can lead to filesystem corruption.
CREDIT... I used the LVPM guide by Gena Kovaks and the scripts by Agostino Russo from the Wubi guide (and lupin package) as reference material.
The code is now hosted on GitHub. You can keep track of new development or contribute. See https://github.com/bcbc/Wubi-resize
For those interested, I've included the commands to perform the resize manually.
WARNING... the commands "dd" and "mkfs" are very dangerous if used incorrectly (they can destroy all the data on your computer). It is recommended to use the automated resize (the attached script) as there are additional checks and safeguards against errors.
Please ensure you have enough space for the new virtual disk before proceeding. E.g. for a 10GB disk you'll need 10GB free as well as enough space for Windows to operate. Do not use this if your /host is a FAT32 partition.
1. Unmount any partitions that are not mounted under /host or /media. (e.g. sudo umount /windows )
2. Run all commands as root; check free space on /host
3. Create a new virtual disk of e.g. 10GB (10,000 MB)
df -h /host
change count= parameter as appropriate.
4. Format the disk with the ext4 file system
dd if=/dev/zero of=new.disk bs=1MB count=10000
5. Mount and copy files to new virtual disk
mkfs.ext4 -F new.disk
6. You're done!
mkdir -p /media/newdisk
mount -o loop new.disk /media/newdisk
rsync -av --exclude '/sys/*' --exclude '/proc/*' --exclude '/host/*' --exclude '/mnt/*' --exclude '/media/*/*' --exclude '/tmp/*' --exclude '/home/*/.gvfs' --exclude '/home/*/.cache/gvfs --exclude '/root/.gvfs' --exclude '/var/lib/lightdm/.gvfs' / /media/newdisk
Reboot into windows, rename the file \ubuntu\disks\root.disk to \ubuntu\disks\OLDroot.disk
Rename the file \ubuntu\disks\new.disk to \ubuntu\disks\root.disk
Reboot back into Ubuntu -- only delete the OLDroot.disk if you are sure it worked.
NOTE: if you have previously created separate virtual disks e.g. for /home, this process will merge /home back into the new virtual disk. That means you need to remove the separate entry for /home from your /media/newdisk/etc/fstab (before the umount command) (or change the rsync command to --exclude '/home/*' altogether).
If you are ready to resize you might also consider migrating the Wubi install to a normal dual-boot (to partition).