Question: I've managed to get a Wubi installation onto my USB flash drive, which works on *both* VirtualBox and on a native computer. (The data is on the `root.disk` file.)

It works *completely fine*, except for one little caveat: the files I create or modify don't actually persist on the drive!

My grub.cfg:

```
menuentry "Ubuntu, Linux 2.6.38-13-generic" {
        insmod part_msdos
        insmod ntfs
        set root='(/dev/sdb,msdos1)'
        search --no-floppy --fs-uuid --set=root 02E8D1D3E8D1C4D7
        loopback loop0 /ubuntu/disks/root.disk
        set root=(loop0)
        linux /boot/vmlinuz-2.6.38-13-generic root=UUID=02E8D1D3E8D1C4D7 loop=/ubuntu/disks/root.disk ro acpi_sleep=nonvs acpi_osi=Linux acpi_backlight=vendor splash
        initrd /boot/initrd.img-2.6.38-13-generic
}

```

My fstab:

```
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>              <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid    0       0  
/host/ubuntu/disks/root.disk /  ext2    loop,errors=remount-ro 0       1

```

Ideas on why this is happening?

Answer: 
I feel so silly.

VirtualBox was never writing the changes to the file; it was discarding them after each boot.

It was fine on the native machine.
I see a read-only flag on the following line:

`linux /boot/vmlinuz-2.6.38-13-generic root=UUID=02E8D1D3E8D1C4D7 loop=/ubuntu/disks/root.disk ro`

on your grub.cfg. Have you tried removing this flag?