Wednesday, October 12, 2011

Oneric Ocelot 11.10 released

Update: Usually not much changes on the day of a release, certainly not on Wubi. However, it looks like a number of last minute changes were made, generating new revisions of wubi.exe, from revision 241 (which is the version on the current Oneiric CD ISOs) to revision 251, before it looks like they settled on release 245 (which is the version on the main Ubuntu.com download site). If you're wondering what that was all about, you're not alone, but from what I gather something to do with bugs installing Xubuntu/Kubuntu with Wubi. At any rate, my tests has been mostly on revision 241, and only on Ubuntu. If I become aware of outstanding issues, I'll create new posts to address that rather than redo my testing on multiple revisions of Wubi.

Now that 11.10 has been released there are a few things that can be documented:

Preinstalled images (1-stage install)
In the absence of an Ubuntu CD or downloaded CD image (ISO), wubi.exe will download a 'pre-installed' compressed image instead of the full desktop CD ISO. This saves about 200MB on the download and, more importantly, skips entirely the '2nd stage' install that Wubi users used to go through - a considerable time saving. Users will have to download and install some language packs separately though.

Differences
1. With the conventional 2-stage wubi install, you'd get a menu prior to the 2nd stage install - if you hit ESC during the 5 second countdown. From that menu you could select from 4 boot options, and also provide your own manual kernel boot option overrides. With the preinstalled image, this no longer works. If you need to supply kernel boot option overrides these will have to be done before rebooting by editing the file \ubuntu\install\wubildr-disk.cfg in Windows, specifically this line:
linux /vmlinuz root=UUID=$diskuuid loop=/ubuntu/disks/root.disk preseed/file=/ubuntu/install/preseed.cfg wubi-diskimage ro quiet splash <add options here>
Please note that if you don't have this file, you're likely doing the normal 2-stage install. For editing I recommend WordPad or write.exe as the line endings are linux style.

2. If you have Windows 7 and Microsoft Office's clickonce virtual drive Q: then you'll get a "Permission Denied" exception at the end of Wubi's windows (stage 1) installation. It's okay - it looks fatal - but it's not. Just reboot and it will work. (Note there are other reasons for getting Permission Denied - if you're unsure, review the log file wubi-11.10-rev24x.log in the %temp% directory).

3. There are still a couple of bugs on the preinstalled image. The /etc/fstab is not setup correctly, only containing a reference to the swap file, and even that is not valid (at least based on the traditional Wubi swap entry). The file system is also supposed to be ext4, but is currently still ext3. Fortunately, these 'preinstalled' images could probably be updated after release (although I have no idea if they'll be frozen like other release elements). 
FYI the current /etc/fstab looks like this:

# UNCONFIGURED FSTAB FOR BASE SYSTEM
/host/ubuntu/disks/swap.disk    none    swap    sw      0       0

It should look like this (once the image is corrected to ext4 you can adjust accordingly):

proc   /proc proc   nodev,noexec,nosuid   0 0
/host/ubuntu/disks/root.disk / ext3 loop,errors=remount-ro 0 1
/host/ubuntu/disks/swap.disk none swap loop,sw 0 0
Note: the bad /etc/fstab doesn't appear to cause any problems, at least, not that I've noticed in limited testing.



Normal 2-stage install
The conventional Wubi 2-stage install is still supported for offline installs, or when you run it from a CD. When wubi.exe detects a desktop CD ISO it will bypass the pre-installed image download (even if it rejects the local ISO it will download a new ISO).

Note: that the issue #2 for preinstalled images - the Permission Denied on the Q: drive - does not occur in this case.


Other notes
1. On Vista/Win7, when you reboot after the Windows intall stage is completed, it will boot into Ubuntu directly without presentation of the Windows Boot Manager (one-time only). This will happen even if you suffer from the bug where the 'Time to display operating systems' is set at zero (the symptom will be that it boots one time directly and after that, just straight into Windows) - for everyone else they'll see the windows boot manager at the next boot and thereafter (with Windows as the default).

2. Although Lubuntu is now an officially supported release 'flavour', and wubi.exe is included on the Lubuntu CD ISO - wubi will not support a Lubuntu install (although it is possible with some manual workarounds).

3. Ubuntu 11.10 introduces a new display manager (lightdm) which requires an update to the Wubi migration and resize scripts referred to in the Wubi Guide. These will be updated shortly following the release.

If you have any questions, go to https://answers.launchpad.net/wubi/+addquestion (launchpad account required) or http://ubuntuforums.org/newthread.php?do=newthread&f=331 (remember to prefix title with [wubi]). Also http://askubuntu.com/questions/tagged/wubi is a great resource - check if your question has already been answered first before posting on askubuntu.com.

Saturday, September 24, 2011

Oneiric beta and Wubi

I've been running Oneiric on Wubi since early on in development, and it has worked very well. But a few issues have come up with Beta1 and 2:
1. Offline installs are no longer working, and
2. The new Wubi pre-installed image doesn't work properly

Offline installs
When you're testing in development, it's best to use something like zsync to keep your Ubuntu installation CD ISO up to date - it changes pretty much daily as developers release package update frequently - and if you don't use zsync you have to download the whole desktop CD image (700MB) when zsync might only need 100MB. By placing the ISO and Wubi.exe in the same folder, you can install it easily and quickly. Even if the ISO isn't the latest, disconnecting from the internet will stop Wubi trying to download the latest.

But this is no longer working since Beta1. Wubi.exe no longer looks in the current directory - it just downloads the new pre-installed image (more about that later). There is a workaround... copy the ISO to the root of a partition e.g. E:\ and Wubi thinks it's a CD and will use it.

New install method
So what is this new install method? Wubi.exe used to download the desktop CD ISO when it was run standalone (and didn't find a suitable image in the current directory or other drives). Then it would preseed Ubiquity with some special instructions to format and install to the virtual disk. This means Wubi had a two stage install - first Windows, and second, the regular Ubuntu install (ubiquity).

New with Oneiric Beta, when Wubi.exe is run standalone, it downloads a pre-installed Ubuntu image and expands that on the virtual disk. So this removes the need for the second, Ubuntu install stage. It just boots the image it downloads, and the preseed file just contains the user info, which is used to setup the users account details.

So that's great - it's quicker to boot. But the problem is it's not quite working. The swap file is no longer setup, there is no /etc/fstab so performance can be sluggish. Another bug that didn't setup the grub.cfg on the new image has been fixed so hopefully these other issues will be fixed soon as well.
Note that the preinstalled image uses the ext3 file system (Wubi has used ext4 since release 9.10) - I'm not sure what the reason for this is.

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