Saturday, August 13, 2011

Oneiric Alpha3 Wubi

I've been running Oneiric with Wubi since early on in the development cycle - but it was an upgraded Natty. I finally got around to doing some installation testing on Oneiric - a week or so after the Alpha3 was released.

The first thing I tried was just running off the latest daily ISO. I downloaded the latest wubi.exe from here and let it download the ISO. It took a long time, probably because the bittorrent download isn't very fast when there aren't many seeds. I guess it's faster to download through the browser. At any rate, a couple of hours later, I did the install (wubi.exe and the oneiric iso in the same folder) and let it run. Once I rebooted to complete the install, it failed. Apparently the kernel and initrd on the ISO were bad as it couldn't mount my windows partition. There was a helpful message to run chkdsk /r and reboot twice into Windows, but that was wishful thinking. This is part of alpha testing - probably if I tried on Monday it would work. I'll find out later and create a bug if it doesn't.

So I decided to drop back to the alpha3. The only issue with this is that the ISO is oversized so it won't fit on a CD (and I downloaded it on another machine). So rather than burn a DVD I reused an Ubuntu USB stick I had sitting around. Note, I just copied the ISO to the root of the USB - installing Wubi from an Ubuntu USB doesn't work (in most cases), but it's okay if you just copy the ISO to the root. Note: if you're trying to install an older version of the ISO like this you have to disable your internet connection or wubi.exe will try to download the latest available ISO.

Anyway - the install went fine. The only issue was that it took a long time 'detecting file systems'. I had a peek in the logs and it seemed that it was trying to mount the root.disk, but whether this was the cause of the delay I cannot say. I'll dig into that in more depth later.

Then I ran all updates (250MB since Alpha 3 was released) - because there are some cool changes to Unity that I read about and I wanted to check out.


I've been running Oneiric on my another computer (i3, 4GB RAM) and it's been great. For the alpha test I used an older machine (core 2 duo, 1GB RAM) and it's very sluggish. But it works okay, and Unity 3D is working on the X1300 ATI card.

So in summary, Oneiric Alpha 3 worked fine with Wubi. The more testing the better - so try it out, file some bugs, help make it better for everybody. If you have questions, post them at https://answers.launchpad.net/wubi/+addquestion

Tuesday, August 2, 2011

Missing the root.disk

I wrote earlier about the Mystery of the disappearing root.disk. I've seen a number of additional cases since that post - and not all have been catastrophic, so thought I'd discuss what the steps are to attempt recovery.

My belief is that this problem is largely the result of manually shutting down your computer when the Wubi install is hanging. But there have been cases where corruption has occurred without manual poweroffs and I've noticed that some files I delete from within Wubi are 'recovered' later by Windows.

But it is important for users to resist the urge to 'hit the restart/power button' when the Wubi install is hanging. For any OS this is a bad idea and can lead to problems. For Wubi installs it can be fatal. Instead refer to the Wubi Guide for other options.

The first thing you'll notice may be Windows running an automatic CHKDSK or when you try to boot Ubuntu you end up at a GRUB> prompt.
Then when you boot Windows and look in the C:\ubuntu\disks directory you'll notice the root.disk is missing. In some cases, the \ubuntu\disks directory is missing completely or is corrupted.

Running chkdsk
Depending on the problem, Windows may have run an automatic chkdsk or you may need to run it manually. It's not always necessary, but it will never hurt, so the first thing is to run it.
Go to My Computer on XP or Computer on Vista/7, right click the drive you installed Ubuntu on e.g. right click on C:, select Properties, select the Tools tab, then under Error-checking click Check now. Select to Automatically fix file system errors or Scan for and attempt recovery of bad sectors (I usually don't use this, but if you hard drive has problems it's a good idea). When the drive you installed on is C: the computer will tell you it has to schedule the scan for the next time you start your computer. Reboot to complete.


Locate recovered files/directories
The first thing to do is to look for the \found.000 folder on the drive in question i.e. C:\found.0000. This is hidden by default and (on my Windows 7 install) I also had to tell Windows not to "Hide protected OS files" just to see it. You may also have to recover from an administrator command prompt on Win7 (see below).

So now you look for your root.disk (or other .disk files) and copy them back to the \ubuntu\disks folder. If the entire \ubuntu\disks folder is missing, you'll likely find a dir0000.chk directory and within that the root.disk, swap.disk and empty \boot\grub folders. Copy this back to \ubuntu renaming the directory to disks.

If you're missing the root.disk but there is no file of that name, it may have been renamed chk0000.chk. Rename this to root.disk and copy back to \ubuntu\disks.

If the corruption was minor, then likely everything will work fine. If the corruption is major Windows may not even recover the root.disk at all.

Win7/Vista command line instructions
Hit the START key, enter CMD, then look above and right click on CMD.exe and select "Run as Administrator", as shown below. From Windows 8, type "CMD" on the Metro page, right click, and then look on the bottom for "Run as administrator.

Check for the hidden recovery directories: dir /a:h

Check each \found.??? directory:
C:\>cd \found.000
C:\found.000>dir
 Volume in drive C is OS
 Volume Serial Number is B4B7-99A8

 Directory of C:\found.000

19/07/2011  02:02 PM    15,000,000,000 file0000.chk
               1 File(s) 15,000,000,000 bytes
               0 Dir(s)  222,258,069,504 bytes free

C:\found.000>move file0000.chk \ubuntu\disks\root.disk
        1 file(s) moved.

Or if the whole \ubuntu\disks folder is missing:
C:\>cd \found.000

C:\found.000>dir
 Volume in drive C is OS
 Volume Serial Number is B4B7-99A8

 Directory of C:\found.000

19/10/2012  04:51 PM    <DIR>          .
19/10/2012  04:51 PM    <DIR>          ..
19/07/2011  02:02 PM    <DIR>          dir0000.chk
               0 File(s)              0 bytes
               3 Dir(s)  222,258,069,504 bytes free

C:\found.000>dir dir0000.chk
 Volume in drive C is OS
 Volume Serial Number is B4B7-99A8

 Directory of C:\found.000\dir0000.chk

19/10/2012  04:51 PM    <DIR>          .
19/10/2012  04:51 PM    <DIR>          ..
24/02/2012  12:22 AM    <DIR>          boot
06/11/2012  09:28 AM    13,000,000,000 root.disk
15/11/2011  09:28 PM       268,435,456 swap.disk
               2 File(s) 13,268,435,456 bytes
               3 Dir(s)  127,904,968,704 bytes free

C:\>move dir0000.chk \ubuntu\disks
        1 dir(s) moved.


I hope this helps you to recover your files. Remember to backup important data on your Wubi install. There's no reason to install important personal files on a root.disk - you can access them easily on the /host partition.

Updated 2012-11-06: added some more screenshots, enhanced DOS commands

Thursday, July 28, 2011

Wubi boot issues a thing of the past

With the release of the third update of Lucid Lynx (10.04.3) last week, this finally puts to bed the problems with Wubi and Grub2 (Ubuntu's bootloader) that resulted in many Wubi boot failures. The issue that allowed the user to overwrite the Windows bootloader is also taken care of.

These issues were fixed prior to the release of Natty Narwhal earlier this year, however, the patches to the active stable releases (Lucid and Maverick) were only released as an Update in June, and finally in 10.04.3 last week.

This was certainly a big problem that has plagued Wubi users for over a year; longer if you include the problem in 9.10 Karmic Koala. It kept many on ubuntuforums.org busy and led to the successful Wubi megathread (thanks to Rubi1200 for that).

I have been quite critical of Canonical and the developers on this blog for not addressing this sooner (this problem was probably the driving force behind the blog in the first place), however, I think it's true that my focus is quite narrow and the developers have many issues to deal with, and Wubi wasn't always on the top of that list.

It appears that now there is a strong development effort to improve Wubi for 11.10 Oneiric Ocelot - which I'll write about later. So far, I've been running a development Oneiric Ocelot Wubi install from early on in the development cycle without any issues.

One thing seems certain - Wubi is popular as ever with new users and a great tool to introduce Windows users to Ubuntu.

Tuesday, May 3, 2011

Installing Wubi - common problems

Since the release of Natty Narwhal 11.04 a few days ago, I've been monitoring various support forums looking for issues. The good news is that I'm not seeing anything new and exciting, just the standard problems users have with installs. So that's good, but I realised that now is probably a good time to catalogue some of these common problems - and their solutions (if they exist).

Preamble
Wubi installs involve two distinct processes. First the Windows install where you select the user name and password, the target drive, and the size of the install. Wubi then finds a local desktop CD image or downloads one, creates virtual disks, modifies the Windows boot manager, sets up a special file with installation instructions and tells you to reboot.
The second part is when you reboot and select Ubuntu from the Windows boot manager. This boots a linux kernel (through grub4dos and grub2), and then runs the standard Ubuntu installer (Ubiquity), which uses the special installation instructions created in Windows - so that no user interaction is required  (usually).

Important info
If you want an Ubuntu CD/USB: go to http://www.ubuntu.com/download/ubuntu/download (step 2, click on medium, and then SHOW ME HOW)
You can run wubi from the CD or standalone. If you run it standalone you can download the desktop CD ISO yourself and place it in the same folder as wubi.exe and it will use it (must be the same release).
You cannot install from an alternate ISO or a DVD ISO (burning a CD ISO to DVD is okay). Installing from a USB will fail if the USB partition is > 890MB (and it will copy the entire partition to your hard drive before failing - and that could be an 8GB file, so be careful).

When Wubi fails in Windows you should check the log file or post it on a support forum for help. To find the wubi log file, go to the %temp% folder (enter %temp% in your Windows explorer address bar) and open the file wubi-nn.nn-revnnn.log (n's represent release and wubi.exe revision)

Windows issues
  • Failure to download the metalink. Either you don't have internet access or you are installing 11.04 and you select Ubuntu-netbook. I mentioned the 11.04 Netbook problem in my last post, so nothing further to add there. 
  • You select to install to a drive that is actually a Dynamic disk. These are Windows specific and it won't let you 'boot from them' - and Ubuntu cannot see or boot from them either (unless they also happen to reside in the MBR partition table - in which case you run the risk of destroying data on dynamic drives that do not).  Solution: DO NOT INSTALL on dynamic drives. Either get rid of them or find an external drive.
  • You get a firewall notification asking whether to allow "pyrun.exe". This is the python executable that is actually running Wubi - and it is uses a bittorrent downloader to retrieve the desktop CD image. You need to give it access or the install will fail. Alternatively download the desktop CD ISO and place it in the same folder as wubi.exe (and ALSO remove the bad CD or wubi.exe will find it and fail again).
  • The CD was not created correctly (a bad burn). If you look in the wubi log it will tell you the md5sum failed or some other error (Errno13, 22). Solution: create a new CD or run wubi.exe standalone.
  • It's downloading the wrong version 64bit. It's not actually the wrong version. Wubi defaults to 64bit when the computer is capable (and some users do not know that their computers are 64bit). If you want 32bit then download the 32bit version and a) place it in the same folder as wubi.exe, b) burn it to CD or c) specify the command line option --32bit when running wubi.exe
  • IOError: [Errno 22] or [Errno 13]. This error can be associated with a bad burn, bad image, or even an optical drive incompatibility. Most likely a bad burn. You can either boot from the CD and get it to check itself, or remove the CD, and run wubi standalone (with or without the downloaded desktop CD ISO in the same folder). If you are not running from a CD, Errno13 can be associated with a permissions error (run as an administrator) or a corrupted file (run chkdsk).
  • Pyrun.exe says "No disk". This looks like a tight loop but it's not. Usually it's caused by a disk 'drive' assigned to an empty drive like a multimedia card reader. Either remove the cardreader or other peripheral or click cancel many times to get through it. To kill the install process open up task manager and kill pyrun.exe.

Please note - if you have an Ubuntu CD (matching the release and flavour of wubi.exe) in a disk drive, Wubi.exe (even if run standalone) will find it and use it. If the CD has a bad checksum or bad burn, it will cause the installation to fail - Wubi.exe might go through the motions of downloading a new CD, but often the first error will be fatal. 


When you reboot from Windows to complete the installation, and select Ubuntu the errors you encounter are related to the Windows boot manager, grub4dos, linux/hardware compatibilites, and the Ubuntu installer (Ubiquity).

Ubuntu/Ubiquity issues
  • If you find it boots straight back into Windows, then either Wubi failed to add an entry to the Windows Boot Manager, or the Windows boot manager Timeout is set to 0. In both cases, let it boot, right click on (My) Computer, Properties, Advanced, Startup & Recovery settings... and check the Timeout - make it 15 or more. Check the drop down box to see if the Ubuntu entry is there. NEVER set Ubuntu as default and the Timeout to 0 or 1 or Windows won't boot.
  • "Try hd(0,0): xxxx: No wubildr". This is not an error. Ignore it unless it accompanies "grldr not found". See one of my previous posts on this.
  • Reboots back to the Windows boot loader or grub> prompt. See the Wubi megathread, problem #2 (This won't happen on an initial install)
  • Grub rescue> prompt. See the Wubi megathread, Problem #1. (This won't happen on an initial install).
  • If you never get to see the installer, then you are having a problem booting the linux kernel. There could be a number of reasons... graphics card, other device incompatibilities. The best thing to do is search the support forums (e.g. ubuntuforums.org) for your particular computer brand/model and the specific release - often someone else has figured out what you'll need and published it. See here for how to supply boot workarounds.
  • You installer starts, but you get the message "no root file system is defined"This is often caused by Ubiquity failing to read the target partition. This message can also occur on a normal install,for a different reason (user error) but with Wubi there is no user interaction to select the target root partition. Some common causes are: you have some leftover GPT partition table data when you're using an MBR partition table; you have some fakeraid metadata but are not using raid, or you're using an unsupported Raid. In all cases, it's best to run the bootinfoscript and create a request for help on the forums to find a solution.
  • Other problems. If the installer halts for any reason, you have to collect logs otherwise no one will be able to do anything about it. Drop to terminal (CTRL+ALT+F2) and collect the logs (to \ubuntu\installation\logs.zip): 
sudo sh /host/ubuntu/install/custom-installation/hooks/failure-command.sh

    Friday, April 29, 2011

    No more Netbook-edition on Natty Narwhall 11.04

    Good news for Wubi users - Natty Narwhal 11.04 is out and it is probably the safest Wubi install for some time, mainly due to all the grub2 fixes that came out recently.

    There's one gotcha that was missed during development and this is that Wubi, when run standalone, will still give you the choice between Ubuntu and Ubuntu-netbook. However if you choose Ubuntu-netbook you'll get an error message that it couldn't download the metalink.

    What's the reason? The netbook-edition in Maverick was basically the same as 32-bit Ubuntu except it included the Unity interface. With 11.04 the newly rebuilt Unity interface is now standard on regular Ubuntu, so there's no need for a separate Netbook-edition.

    Friday, April 8, 2011

    Wubi Natty will be ready for Beta2

    Wubi has seen some major focus from Canonical's developers (Colin Watson) in the past week or so, finding and fixing major bugs including long-standing Grub-related bugs affecting 10.04 Lucid Lynx and 10.10 Maverick Meerkat (these releases will see the fixes a little later). But for 11.04 Natty Narwhal, Wubi is looking stable now for Beta2 - or if you're using the current-daily CD images.

    This means that both new 11.04 installs as well as upgrades from 10.10 to 11.04 are now working!

    PS There's just one innocuous message you'll see before the grub menu is displayed, regarding the prefix not being set.