Comment 33 for bug 610898

Revision history for this message
Mayukh (mayukh-mukherjee) wrote :

This thread is about the issue in wubi due to grub-pc updates, but I think I should mention here another case where it happened, WITHOUT ANY UPDATES at all.

This post is intended for guys who develop and maintain wubi or grub2, so I would go into detail to provide you most information.

Couple of days back I mentioned @ https://bugs.launchpad.net/grub/+bug/477104/comments/185 (which is on same issue in karmic) that by copying wubildr and wubildr.mbr from X:\ubuntu\winboot\wubildr onto X:\ solved the issue. After this change I updated ubuntu (I was on maverick), and could boot fine.

But I was wrong. Yesterday I couldn't boot again, and got the same old "Alert! /host/ubuntu/root.disk not found. Dropping to shell!" followed by (intrafms) prompt. Here I tried a few recovery steps mentioned in Wubi megathread (http://ubuntuforums.org/showthread.php?t=1639198). After trying to manually boot, I got an "ata10: SATA link down" error. I thought something was wrong with my partition, so I rebooted to windows, and uninstalled wubi. I deleted the partition and formatted afresh. I have two drives - sda is where I have windows, sdb is where I install ubuntu (both in 1st partitions). The exact partitions are verified by boot-info-script.

I did a 20GB clean maverick wubi install on the 22GB sdb1. I logged in to ubuntu desktop fine, and unlike other occasions, did not update anything. I shut down ubuntu. I booted again, and found myself at intrafms prompt!

So it is not because of only grub-pc "update". It seems to be the "combination" of grub2 and wubi that causes the problem.

In the intrafms prompt, the contents of /host were found to be same as that of sda1, i.e. C drive. To make the bootloader find ubuntu root disk in it, it must point to /dev/sdb1, because there is no root.disk in C:. Now I mounted /dev/sdb1 to /mnt/win1. When I checked its contents, it was same as /dev/sda1, and NOT sdb1.

Hence it makes sense why this issue is for a diff wubi partition than C:. If wubi was installed in C:, /host would have always found root.disk.

When I see my devices, I see all partitions of sda and sdb, so effectively all the partitions that matter in this business are shown in /dev. The fact is the drives are not mounted properly.

In the last 4 days, I have tested all ubuntu >= 9.10 as they ship with grub2. I found the issue in all of them. What is of most concern is the recent finding that even without any update, ubuntu maverick failed to boot. Therefore I think it's just a matter of luck if by following one of the several solutions in forums, you are able to boot. The problem is elsewhere.

We can argue about why wubi should be used in the first place if we are serious about ubuntu. But since we officially include wubi, we must address this problem. If wubi is not compatible with grub2, then why not ship it with grub-legacy? Or maybe a wubi-specific ISO having grub legacy? No matter how important security updates need to be installed, a bootloader should be undisturbed. And in the first place, a "compatible" version of the most important program in an OS should be used.