Wednesday, December 22, 2010

Natty Narwhal 11.04 Alpha 1 with WUBI

So the adventurous often want to try out development releases of Ubuntu and what better way to test than with Wubi - in theory. In practice though, Wubi isn't the main focus and usually only gets considered closer to the release.

But curiosity killed the cat... so here goes:

1. Windows install
I use zsync to keep a current copy of the daily live image of the Natty desktop-i386.iso. Since the .iso change so frequently it saves time and ensures you always have an up to date copy. I extract the wubi.exe from it and copy both the .iso and wubi.exe to the same folder in Windows. Then run wubi.exe.
The Windows install GUI looks good - it's identical to previous releases except it shows 11.04 - and when finished, asks to reboot.

2. Ubiquity install
  • Bad WUBILDR
So the first problem is the wubildr is bad. When you select Ubuntu from the Windows Boot Manager it hangs at Try (hd0,0) Wubildr. Replacing this with a wubildr from a Maverick install works fine and gets you to the second phase of the installation. (Note, in my case I had to replace wubildr on my first partition - a hidden rescue partition - not just the wubildr on my Windows partition. I did this via Ubuntu as it's not visible from Windows.
  • Grub error during installation
After fixing the wubildr, the Ubiquity installer proceeds as normal with the slideshow. Until a popup appears entitled
Bootloader install failed.
Sorry, an error occurred and it was not possible to install the bootloader at the specified location. How would you like to proceed?
  • Choose a different device to install the booloader on (empty drop down box)
  • Continue without a bootloader (PICK THIS ONE)
  • Cancel the installation
You'll be warned "You will need to manually install a bootloader in order to start Ubuntu" 
3. Booting the installed Natty
After installation, the first attempt to boot Natty drops you at a grub prompt.
GNU GRUB version 1.98+20100804-5ubuntu2.
I attempt to boot the install:
grub> configfile (hd0,msdos2)/ubuntu/winboot/wubildr.cfg
error: no such device: /ubuntu/install/boot/grub/grub.cfg
error: no such device: /grub.cfg
It is not possible to boot from the Ubuntu image.
Please verify blah blah blah and run chkdsk /r
So it turns out - after some investigation - that there is no /boot/grub/grub.cfg - when I skipped installing the bootloader it failed to create it. OK, no prob, just do a manual boot:
insmod ntfs
set root=(hd0,msdos2)
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /vmlinuz root=/dev/sda2 loop=/ubuntu/disks/root.disk ro
initrd /initrd.img
boot

Voila...
I then chose the classic desktop, as my last experience with the new Unity desktop didn't go so well:
Apart from a bunch of Error popup windows for panel objects that failed to load everything looks good.

First experience...
It looks pretty much the same as Maverick, but I notice there's now a "Root terminal" in Accessories. Love it! This is where I found the actual problem with the booting: there is no grub.cfg. I guess the grub error in ubiquity caused that part to be skipped. There's a grub.cfg.new so I just renamed that.

I decided to try out the new Unity desktop again, but it didn't work - I'm testing on my old junk PC with an ATI radeon 9000 card!

So now it's time to reboot and I discover that the Maverick wubildr is not compatible with the new Grub - every time I select Ubuntu the computer reboots. Back to the manual boot (I have another Ubuntu install so I can get to a grub prompt).

Rebuild wubildr...
Clearly Grub has changed radically - surprise surprise. It now refers to the drive as /dev/sda instead of hd0. So, that's probably why it's rebooting. Let's try regenerating the wubildr file. Oops logged in to the Unity desktop by accident... PS to logout I had to create a launcher on the desktop with command: /usr/bin/gnome-session-save --kill as I couldn't access any menus.
Then, to rebuild wubildr from root terminal: grub-install /dev/sda2 (don't try this on non wubi installs, also don't try it on wubi installs that aren't on the same partition as Windows's C: drive).

SUCCESS!
GNU GRUB 1.98
Ubuntu, Linux 2.6.37-10-generic
...

And it boots! Happy testing everybody*

(*And by everybody, I mean, those that consider their computers to be test machines - this is an early alpha release so you need to be prepared for disaster).

PS my windows is on /dev/sda2 - all places that refer to (hd0,2) or (hd0,msdos2) and /dev/sda2 are based on that.

Tuesday, December 21, 2010

Grub and real user experience

So I've focused mostly on highlighting technical issues from the Grub developer side that affect Wubi installs. Now I'd like to look at some real user experience.

First the meaning of Ubuntu... not the OS. One definition I like by Leymah Gbowee (according to Wikipedia.org) is "I am what I am because of who we all are". So when I see new users to Ubuntu staring into their broken computers - well, I think it reflects on everyone that is part of the Ubuntu (OS) community. 


Today there have been a flurry of requests for help with broken installs on ubuntuforums.org. One of them reads as follows:
Grub 2 Error. Deleted Windows XP. URGENT!!!

HELP PLEASE! URGENT!

I installed ubuntu 10.04 on my dad's laptop. I had partioned the HD, placing the ubuntu partition in FAT32 format. The install went through without a hitch. But then it began to update and halfway through, it asked me if i wanted to update the grub file. Knowing nothing about Linux, but thinking that if i didnt update it with the rest, it would be outdated and wouldnt work, i clicked yes and clicked the only HD i saw there as the option, as the forward button was unhighlighted when it was unselected. The rest of the install went through fine....Then the computer restarted.  And instead of getting to choose my OS's, i got a grub rescue screen. IDK what to do. My dad is ok with ubuntu being on it without XP. But the CD drive doesnt work and it cant boot from a USB so i cant reinstall. How do i fix this???

Please help.
Now, the fix as I mentioned elsewhere is simply to reinstall the bootloader. In this user's situation the complicating factor is that the CD drive is broken and the computer can't boot from USB. It's still not necessarily the end of the world - a trip to the computer store, or a visit to a friend who can extract the hard drive and fix it.


But it highlights something the developers don't seem to notice - the user experience: The panic; The fear; And hopefully the relief when it's resolved. But it's not really the ideal welcome to Ubuntu.

Wubi and grub problem update

It's been one month since the latest grub-pc update in version 10.04.1 Lucid Lynx, started breaking Wubi installs. And that's a good time to reassess the situation.

I'm not sure how I noticed it - maybe I was browsing Wubi bugs that day - but my quick alert to the issues didn't help. Again, I was hoping for a quick response, maybe the update being pulled - I don't know. But apparently launchpad doesn't have a recall mechanism. At the time I thought it would only affect users who didn't install on the same partition as Windows - the usual grub trick that gets users to install the grub bootloader to their drive masterbootrecord MBR caused by a bug in the 'lupin' package (see here, or here).
But quickly it became apparent that it also affected users who installed on the same partition - a problem we already knew about as it was discovered in the Maverick upgrade. But for 10.04.1 the problem is worse, and requires a manual loop mount of the virtual disk and an edit of the grub configuration file from a live CD.

So now we are on the Christmas break, and the developers get a well-needed rest from all the Natty development, but sadly noone has taken the time to patch lupin, for the many existing users on the supported releases. Still, the volunteers on ubuntuforums.org will soldier on, steering Wubi users to the solution... the Wubi megathread. It's interesting to note that since this thread was created 2 weeks ago, it's had over 2600 visits. And that's not including the number of people who had to be helped before it was created.

So... where are we at? There's not much really to be done to warn users unless they happen to post a support request for an unrelated Wubi question. I'm loathe to join the Wubi-bashing crowd  (although it's tempting): there's still a niche market for users that might cause more damage trying to do a proper partitioned Ubuntu installation. In fact, the new Ubiquity installer has it's own issues and has already caught out a few users and overwritten Windows and all other partitions - see bug 659106.
And in any case, despite all the Wubi-bashing, Wubi appears to be growing in popularity, fueled by its new prominent place on the ubuntu.com download page.

So... I guess we just wait it out, and hope that eventually the grub devs will grace us with their attention and provide a fix.

Thursday, December 16, 2010

Canonical has a strange sense of priorities

So it's nearly a month since the latest Grub update in the current Long Term Release, Lucid Lynx 10.04, put the boots to Wubi installs. In addition to the usual alarming, but generally harmless, grub rescue> prompt problem,  which has been around since Lucid was first released in April, the newer failure to boot issue has been totally ignored by Canonical.
This boot failure problem started cropping up in July with grub errors about 'loadfont', but didn't seem to affect everyone. With the November 20 release it now appears to be much more widespread - a fresh install of 10.04.1 with the updates applied does not boot. (*Ubuntu must be installed to the same partition as Windows for this problem to occur).

The reason that it only affects Wubi installs on the same partition as Windows is that it is the grub-install command that is corrupting the /boot/grub directory, and when you update package grub-pc it runs grub-install to try to update the wubildr (Wubi bootloader) - believed by the grub devs to be a required action; BUT, Wubi installs on a different partition slip through the net as the buggy code fails to identify them as Wubi installs. This means that grub-install aborts and the wubildr is not updated - but ironically these still boot.
So the whole idea of updating wubildr and breaking Wubi installs in the process is pointless - why don't they just bypass the update altogether.

So... why haven't the devs rushed to fix this? Even the Ubuntu Release Manager Steve Langasek was notified of the 'critical' issue... but no response at all. The devs appear to be hard at work preparing for the next Ubuntu release (11.04 Natty Narwhal) - in the meantime, unsuspecting users who decide to try out Ubuntu are left to discover what a grub rescue prompt is, or why their new OS fails to boot.

So, in summary, Canonical doesn't seem to give a hoot about the current users who are breaking their computers trying out the 'user friendly' Wubi option. Are they just blindly churning out (buggy) release after (buggy) release as though this is a strategy for long-term success? Hard to say, but let's just say - I'm confused. If they don't want to support Wubi, why don't they just pull it from their main download site to protect the computers of unsuspecting users?

And thanks to everyone on Ubuntuforums.org who are working hard to help the affected users. It's great to have such strong community support, but if Canonical is relying on this for current release support it's pretty pathetic.

Thursday, December 9, 2010

Where in the world is Ago

Agostino Russo, the person responsible for creating and maintaining Wubi, seems to have disappeared from sight. Since the run-up to the release of Ubuntu 10.04 (in April this year), he has been conspicuous by his absence.

From Ubuntu IRC logs, it seems that Colin Watson is now responsible for Wubi, but is either unable or unwilling to deal with seemingly minor, showstopper-type bugs that Wubi has suffered from lately. In fact, the bugs appear to be from Colin's own code changes in Grub2.

So what is Canonical's strategy on Wubi? If I were a conspiracy theorist I would suggest that the developers wish to have Wubi removed by making it so unstable as to be unusable. But I am not into conspiracy theories, and I instead believe that it's more likely due to lax maintenance/testing standards.

So that brings me to my point. Where is Ago? He's clearly the only one who has been able to keep Wubi going, and hopefully he can find the time to get things back on track.

Anatomy of an Ubuntu update

So you probably figure that any mainstream OS would do some pretty major testing before releasing "Recommended" updates (these updates are set by default to notify users and are recommended for download).

Well, after the most recent Wubi-killing grub update I decided to investigate how exactly the Canonical approval process works examining the bug report and browsing the IRC logs. This update breaks a new 10.04 Wubi install. The results are shocking:

In the following quotes, bug 671097 is one that developer Scott Moser (smoser) was working on - regarding running Ubuntu Server in the Cloud - and bug 581760 is a cosmetic Wubi fix.

16 November: Comment from bug 671097
Just mentioning here, that cjwatson said this upload will wait for bug 581760 getting tested and moved to -updates.
This prompts Scott Moser to try and get bug 581760 verified in order to unblock his own work, despite not having any experience with Wubi (or else he'd know it required Windows to test)

16November: #ubuntu-devel on IRC
[20:49] <smoser> cjwatson, is bug 581760 testable without a windows installation ?
[21:52] <cjwatson> smoser: no
19November: #ubuntu-devel on IRC
[22:25] <smoser> cjwatson, i tried to verify the fix for bug 581760 but apparently missed something. see my comments there.
Finally, it appears that a single test case has succeeded.
19 November: Comment from bug 581760:
I tried above again, this time disconnecting the network cord.
- Installed from the same media mentioned.
- rebooted, hitting escape at the grub loader after windows loader and verified it was 1.98-1ubuntu5
- let the install run to completion
- reboot, verify still at 1.98-1ubuntu5
- did not add -proposed, 'apt-get install grub-pc' and saw confusing prompt (installing 1ubuntu7)

Then, I uninstalled wubi and repeated above except for this time *did* add -proposed.
I did *not* see the confusing prompt going from 1.98-1ubuntu5 to 1.98-1ubuntu8, verified that on reboot 1.98-1ubuntu8 was installed, and that reboot succeeded.
The developer does not seem overly confident about the single test case, but reports it as verified.
20November: #ubuntu-devel on IRC
[01:26] <smoser> cjwatson, so, if you see this, i've now (i think) sufficiently verified bug 581760
[01:28] <smoser> now we can get on to important bugs like bug 671097
The (apparent) lead developer figures he can release the fix, despite the deficient testing.
20 November: Comment from bug 581760
Sounds good to me. Thanks!
[Fix released on 20 November]


Summary
It appears that a developer unfamiliar with Wubi seems to stumble to a single successful test case. This is then considered sufficient to release the patch, which, when applied, breaks any default 10.04.1 Ubuntu Wubi install.

It appears that:
  • Ubuntu maintenance on live releases are done without any formal test phase. Testing of patches are done on an ad-hoc basis and no testing plan is followed
  • No independent QA testing or review/sign-off step is performed
  • No facilities exist to remove a patch that is clearly fatally flawed, neither does there appear to be any interest from the developers in doing so, or at even, releasing a follow up fix.

Wubi Mega-help-thread

There is now a one-stop Wubi 'megathread' on ubuntuforums.org to repair the grub issues Wubi users have been experiencing. Recommended reading if you are using Wubi, even if you haven't had any issues yet.

The thread is: http://ubuntuforums.org/showthread.php?t=1639198

Tuesday, November 30, 2010

Wubi and Grub issues Part II

In case you missed all the excitement on ubuntuforums.org, a new bug (I mean grub update) has arisen affecting Wubi installs. This bug is the same one that is breaking Wubi upgrades from 10.04.1 to 10.10 and has been passed down to the 10.04 Lucid Lynx LTS now due to a totally unnecessary cosmetic grub update.

Any Wubi install that is on the same partition as Windows i.e. the C: 'drive' is impacted. Shockingly it appears the grub update wasn't even tested - a brand new install of 10.04.1 followed by the grub update renders it unbootable.

So what can I do to fix it?
Unfortunately the fix (Problem #2, Solution #1) is complex, especially for a new Ubuntu user. This fix has been developed by users on Ubuntuforums.org without the help of the developer. This isn't really surprising based on his comment here regarding the 10.10 upgrade issue:
[14:38] <jibel> cjwatson, did you saw my update on bug 653134  ?
[14:38] ...
[14:38] <ubottu> Launchpad bug 653134 in lupin (Ubuntu Maverick) "Can't boot Ubuntu after an upgrade from 10.04.1 to 10.10" [High,Triaged] https://launchpad.net/bugs/653134
[14:39] <cjwatson> jibel: I doubt there is anything else I can do now
[14:39] <cjwatson> loopback loop0 /ubuntu/disks/root.disk <- don't see how it could boot at all without that
[14:40] <cjwatson> lang=fr/lang=en> hmm
[14:41] <cjwatson> I guess I could try a non-English installation, since that sounds like a serious contributor to the problem
[14:41]  * cjwatson hates life
[14:41] <jibel> cjwatson, I must admit that I don't understand either, I commented the lines one by one until I've found the one that's blocking the boot.
[14:42] <cjwatson> wubi upgrades have never worked right before.  it would have been nice to say that they worked this time, but I have a hard time considering it a blocker
[14:43] <cjwatson> (this is not to say I don't appreciate efforts to get them to boot ...)
[14:43] <cjwatson> er, to work
[14:43] <cjwatson> wubi really needs a maintainer who isn't me.  Agostino has been mostly lacking in time
[14:44] <cjwatson> I'm only doing it by default

Could this be the final nail in the coffin for Wubi?
It's ironic that those careful users, who read the 10.10 release notes and stayed wisely on 10.04, but religiously install all Important updates can no longer boot. Even Wubi's most ardent supporters must find it hard to defend the product in the face of such unreliability.

All in all, Canonical should either relegate Wubi to the unsupported fringe, or else shake up their development staff: releasing production fixes without any testing!!!???? Hello!?

Friday, November 19, 2010

Resizing your WUBI install

When you first run WUBI it asks you how much space to allocate to it. It will default to a reasonable value based on the space available on the target partition, but you can override it if you wish. For many people this is the first look at Ubuntu and they accept the default.

Others select a windows partition (or 'drive') that has lots of space, believing that Ubuntu will be able to access this directly. It cannot. Once you've fixed the size of the install it creates a virtual disk (root.disk) that is the selected size, and will remain that way.

Of course you can store and access files on the Windows host partition, in the /host directory - but that's not always enough.

So, how to resize the virtual disk? Basically you create a new virtual disk in the size you want, and copy the old one to it. This doesn't allow you to 'add a couple of GB to your existing disk' - you need enough room for the entire new size (plus enough remaining space for Windows).

You can use this guide on ubuntuforums.org to do the resize.

My personal recommendation is not to resize, but instead to bite the bullet and migrate to a partition install. But if this is not possible, a resize is always an alternative, provided you have the space.

Friday, November 12, 2010

How to install Ubuntu using WUBI

Installing Ubuntu with WUBI is really easy. You download the wubi.exe installer from www.ubuntu.com/desktop/get-ubuntu/windows-installer and when prompted, save and run it. You need to be an administrator (on Vista/7 you can right click and select 'Run as administrator').

That's by far the easiest way, but it's not always ideal...

Download time
Wubi.exe is only 1.4MB to download, but it has to download the Ubuntu CD image which is 699MB, and it's not very efficient. You can save time by downloading the CD .iso image yourself. If you need to reinstall you'll save even more time.

Picking your release
You don't get to pick which version you want. Currently the version supplied is 10.04.1 Lucid Lynx (the first update of the current long term release version). Maybe you want to have the 10.10 Maverick Meerkat instead, or maybe you want to try an older release. If you download the Ubuntu image yourself at the desired release, and burn it to CD, then you will automatically get the version you wanted.

The 10.04.1 looping download bug
The windows installer is very particular about which release it will install. If you download the 10.04.1 version of wubi.exe, it can only install a 10.04.1 version of Ubuntu (or variant) with it. The problem is that not all variant's of Ubuntu have a 10.04.1 release. The windows installer knows this and proceeds to download the 10.04 image of the variant. Then it checks it and discovers - gasp - that it's not 10.04.1. Then it loops back and proceeds to download the image again. If you happened to have left your computer during the download you could come back to discover it's downloaded and rejected the same image 3 or 4 times. This is another one of those simple bugs that could probably be fixed in a day, but 4 months following the release of 10.04.1 it's still sitting untouched.
PS avoid the Netbook-edition and Xubuntu with the 10.04.1 version of wubi.exe

What other options are there?
You can download the image you want using bittorrent. Then download and place wubi.exe in the same folder as the .iso file and run it from there. The windows installer will find the image and use it (provided it meets the release requirement and the MD5 checksum is a match). This is also useful if you want the 32-bit version of Ubuntu, but your computer is 64-bit capable (Wubi.exe will always download the 64-bit version in that case).

Better still, download and burn the .iso image to a CD. This is very useful as not only will the version of wubi.exe always match, but now you can boot Ubuntu from the CD and try it without changing anything on your computer. This will tell you whether Ubuntu is compatible with your hardware. The other important thing is you now have a rescue disk to bail you out if and when something goes wrong. (e.g. some of those grub prompts I mentioned in my other post).

Final notes...
The windows installer is written in python and - whether an issue with python or wubi I can't say - it complains about certain types of hardware. E.g. certain multimedia card readers, iPhones, and certain other peripherals. It's best to remove everything you don't need before running wubi.exe, otherwise you'll get irritating popups about disk errors that you have to continually click to get through (it's not an infinite loop, but it appears that way). Also, if you're running Windows 7, don't try and install Ubuntu to a dynamic drive that is not also listed in the partition table.

Pick the size of your Wubi install carefully. It's not easy to change the size of the virtual disk once you've created it. When you run out of space, there are options to resize, but at that point - it's probably better to migrate to a direct partition install.

Remember that the Wubi Ubuntu is running off a virtual disk that is a single file. It's much easier for a single file to be corrupted. Avoid hard shutdowns even if it looks like the computer is hanging (use Alt+SysReq R-S-U-B instead), and take care to backup your data.

Thursday, November 11, 2010

WUBI and GRUB Issues

Edit Dec 16: If you're currently having problems with Wubi booting or get a grub rescue prompt when booting, see this post: Wubi Mega-help-thread

Since version 9.10, Ubuntu has used Grub2 as the default bootloader. (I'll refer to Grub2 as Grub, as the previous version is now referred to as grub-legacy. )

Grub stands for GRand Unified Bootloader. And it's so grand that everyone is talking about it. You shouldn't notice a good bootloader or need to know it's name, but once you've turned on your computer and seen the Grub prompt screen, or the optimistically named Grub rescue prompt (which means you're totally messed), it's hard not to take notice.

Let's look at some of the significant Grub problems with Wubi:

Karmic Koala 9.10
Problem: Select Ubuntu after running system updates and the result is a grub prompt.
Reason: The wubildr (Wubi bootloader) file can't address files that are 4GB or more from the start of the partition.
Fix: Users must manually download a new copy of wubildr.
Note: This bug is part of the release, so every new 9.10 install will be affected by this.

Lucid Lynx 10.04
Problem: Many users render their computer unbootable, destroy their Windows partition bootsectors. In some cases Windows can not be repaired and requires a reinstall. Some users inadvertently end up losing all their data through bad repair attempts.
Reason: Running the upgrade to 10.04 or even the standard grub updates asks you to select a device to install grub. It confusingly lists all drives and partitions in a user unfriendly way (/dev/sda, /dev/sda1, /dev/sda2 etc.) and then cautions to 'select all drives if uncertain'.
Fix: If you got the right help, reinstalling the windows bootloader and restoring the partition bootsector was all you needed to do. This worked for most people, but as I mentioned, some were not so fortunate.
Note: the developers didn't even respond to the bug report for about 2 months following the release, despite hundreds of affected users (documented cases, but probably thousands were affected). Even non-wubi dual boot installs were affected.

Lucid Lynx 10.04.1
Problem 1: Many users render their computer unbootable.
Reason 1: A fix for the 10.04 grub issue has been released. For 10.04.1 you cannot overwrite your drive bootloader with a grub update if you have a wubi install. Problem is, the means of identifying a wubi install is buggy - only those who installed to drive 'C:' (or their main windows partition) are safe.
Fix 1: Reinstall windows bootloader.
Note 1: The bug that prevents grub from identifying a wubi install is still present in release 10.10.

Problem 2: After selecting Ubuntu, you see errors listed and either hang, reboot, or end at a grub prompt.
Reason 2: Grub now has the ability to update the wubildr on the fly. Since grub is a rapidly evolving product, it needs to update the wubildr to be compatible with all the changes. Somewhere between updating the modules, the grub menu and the wubildr file things go bad. Exact cause unknown. Only affects installs capable of updating the wubildr (on the same partition as Windows)
Fix 2: Loop mounting the root.disk from a 'Live CD' and manually editing the /boot/grub/grub.cfg file (just leave the parts you need to boot i.e. anything on or after the first line starting with "menuentry". For some reason, after booting and running "sudo update-grub" the problem disappears. [Edit: a subsequent grub update in November, is not permanently fixed by running update-grub. Manual clean up of the /boot/grub directory is required - see later posts for info]


Maverick Meerkat 10.10
Problem: After upgrading from 10.04.1 to 10.10, your computer either hangs, reboots, or drops you at a grub prompt.
Reason: Same reason as for problem 2 on 10.04.1 - for installs to the same partition as Windows, the wubildr file is updated and corrupted.
Fix: Copying the backup wubildr from the c:\ubuntu\winboot directory over c:\wubildr seems to fix it. Or loop mounting the root.disk and manually editing the /boot/grub/grub.cfg file (just leave the parts you need to boot i.e. anything on or after the first  starting with "menuentry".
Note: There is no permanent known fix to this and the bug report has not been addressed by the developers since before the release. (Unlike for the 10.04 bugs, more proactive testing by community members identified the problems, early - but unfortunately once 10.10 was released the developers seem to have lost interest and moved on to Natty Narwhal 11.04).

So what can you do to avoid these problems?
Don't update grub-pc, grub-common or lupin-support packages. Don't play with grub unnecessarily. Don't upgrade to a new release without taking a full backup and having a repair CD handy.
The ultimate prevention is to migrate your Wubi install to a normal partition install.

Wednesday, November 10, 2010

Ubuntu with WUBI

If you're wondering about trying Ubuntu, but all you've ever known is Windows (and it came preinstalled) - then likely the thought of partitioning and setting up a dual boot is not pleasant.
Fortunately for you, it isn't necessary either... it is possible to install Ubuntu from within Windows and experience it as a dual-boot without any partitioning. If you don't like it, you can simply go to Add/Remove programs and uninstall it (like any other Windows application).

Q. Does it run Ubuntu within windows?
No, only the WUBI installer/uninstaller runs within windows. Ubuntu runs as a proper dual-boot. This means it has full access to all your system resources and can run on as little as 256MB RAM (although I'd say a minimum of 512MB is probably a good idea).

Q. Is it slower than Ubuntu?
Yes, but not noticeably so. It's a lot faster (and simpler) than running Ubuntu in a virtual machine under Windows.

Q. How does it work?
In simple terms, WUBI creates a virtual disk that is simply a large file under the Windows file system. It then runs the standard Ubuntu installer, but instructs it to install to the virtual disk. This avoids the need for creating a separate partition.
It also adds a special form of the Grub bootloader into the Windows boot manager, which allows you to select either Windows or Ubuntu when you start up the machine.

Q. What's the down side?
WUBI is mostly used by newcomers to Ubuntu. That means it doesn't get as thorough testing coverage or support as regular installs. Many Ubuntu community members are dead-set against WUBI and can be very unhelpful e.g. you regularly see advice to uninstall as soon as you ask for help, which makes them feel better but doesn't address any of the issues.
I'll address the sorts of problems that are WUBI-specific in other posts, but what you need to know is that once a WUBI install is booting (once you are past the GRUB menu), any issue you see is likely an issue between Ubuntu and your hardware and is unrelated to WUBI.

Q. How do I safeguard my WUBI install
Do not ever install the Grub bootloader to any devices. Grub updates have a very misleading interface and although you need it for WUBI, you do not need to install it's bootloader yourself ever. When you see a screen popup for you to select where to install it, leave all boxes unchecked.
Try and avoid hard shutdowns on your computer. Since WUBI places the entire Ubuntu install on a virtual disk (a single file) it can corrupt if a write is pending and the computer is turned off. If something hangs, then try anything and everything to regain control. The last resort is the following: hold down Alt+SysReq and then slowly press the following keys R-S-U-B.
As for all computer use, backup your data. If you want to be cautious you can back up the entire virtual disk C:\ubuntu\disks\root.disk (change drive letter if required).
Read the release notes before trying to upgrade to a new Ubuntu release. Take special precautions to backup all c:\wubi* files and the c:\ubuntu directory before upgrading.

How to migrate a WUBI install to partition

If you've used WUBI for a while, you've likely spent a lot of time customizing it: playing with settings, installing and configuring programs, and saving data. If you planned ahead you made notes along the way and could reinstall fairly easily, but chances are it'd take a lot of effort to do this again.

When you refer to the Wubi Guide, it points you towards LVPM to do the migration, but LVPM hasn't been updated since Ubuntu 8.04, and doesn't work out of the box without some tweaking. The Wubi Guide's own script is in a similar state.

Fortunately it is still possible to migrate, and you can find a script and a step-by-step guide(if you want to do it manually) on ubuntuforums.org. *

Before you migrate you'll need to partition your drive. That's something you'll have to do beforehand, but it's fairly straightforward on Windows Vista or 7 - use the built in Disk Utility. For XP, you can use Gparted that is part of the Ubuntu 'Live CD'.

* This can be used to migrate Ubuntu versions 9.10 and later. If you installed on an earlier version of Ubuntu (even if you later upgraded) you have a different boot loader and the guide does not apply.