Comment 104 for bug 477169

Revision history for this message
Craig Van Degrift (craig-yosemitefoothills) wrote :

The following might be helpful. It summarizes Mark Albene's solution to this problem:

I did a fresh install of wubi-ubuntu into a Windows XP partition, performed all updates, and observed the boot problem.
I was able to reboot by typing in the commands at the grub prompt:
grub> linux /vmlinuz-2.6.31-15-generic root=/dev/sda1 loop=/ubuntu/disks/root.disk ro
grub> initrd /initrd.img-2.6.31-15-generic
grub> boot

I then did the following as instructed in the comments for this bug:

Brought in Mark Albene's patches for /etc/grub.d/10_lupin and /usr/share/lupin-support/grub-mkimage
and put them in /home/user/InstallationNotes/patches
$ sudo -s
# cd /etc/grub.d/
# apt-get install patch
# patch -b 10_lupin /home/user/InstallationNotes/patches/patch_to_10_lupin
# mv 10_lupin.orig /home/user/InstallationNotes/patches
  Note: failure to do the above mv will cause additional entries in the grub menu
# cd /usr/share/lupin-support
# patch -b grub-mkimage /home/user/InstallationNotes/patches/patch_to_grub-mkimage
# cd /host/ubuntu/disks
# dd if=/dev/zero of=boot.disk bs=4096 count=16384
# mke2fs boot.disk
  Note: mke2fs apparently sets up the necessary loop device when it is given a file instead of a device.
# cd /
# mkdir /vdisk.boot
# mount -o loop,rw /host/ubuntu/disks/boot.disk /vdisk.boot
# cp -a /boot/* /vdisk.boot
# umount /vdisk.boot
# mount -o loop,rw /host/ubuntu/disks/boot.disk /boot
# update-grub
# grub-install hd0
# vi /etc/fstab
Added the boot.disk entry line so that /etc/fstab looks like the following:

   # /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 defaults 0 0
   /host/ubuntu/disks/root.disk / ext4 loop,errors=remount-ro 0 1
   /host/ubuntu/disks/boot.disk /boot ext2 loop,errors=remount-ro 0 1
   /host/ubuntu/disks/swap.disk none swap loop,sw 0 0
   /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0

and then rebooted successfully from the menu provided by grub.

I hope I have not forgotten anything or have any typos in the above.
All commands executed without errors.