I wanted to dual boot my new Sony Vaio T13 laptop with Windows 8 and Ubuntu 12.10, as it turned out I found it challenging to setup a true dual boot but I have a satisfactory solution.
This process is not straightforward because the T13 uses the Insyde H2O UEFI instead of a old-style BIOS furthermore since Windows 8 was pre-installed SecureBoot is switched on, these factors mean that only the most recent, 64-bit version of Ubuntu (12.10) has any chance of installing. Also the T13 has no optical drive so I would need to boot from a USB memory stick.
I’ve installed various Linux distributions over the years but they tend not to be my primary OS, I considered three methods for this operation.
Method 1 – install using Wubi
The Wubi installer is a way of installing a Linux distribution effectively as an application in Windows but apparently this doesn’t work because of incompatibilities in with UEFI. I’ve used Wubi in the past – I like it because it reduces the chances of me rendering my Windows install inoperative via a partitioning mistake.
Method 2 – conventional dual boot installation
As of the 64-bit 12.10 version of Ubuntu it should be possible to do a fairly conventional dual boot installation of Ubuntu onto a machine preloaded with Windows 8. The instructions for this are here, essentially they are:
1. Download the appropriate ISO
2. Transfer the ISO to a USB stick using Universal USB Installer
3. Boot from the USB stick (Shift-restart in Windows 8 gives you lots of options for the necessary fiddling to achieve this) and follow the installation instructions (here).
However when I did this I kept getting this error:
(initramfs) unable to find a medium containing a live file system.
This error persisted through various combinations of enabled/disabled SecureBoot and boot orderings. I don’t know why this doesn’t work, I suspect that the Universal USB Installer is not creating an appropriate boot device perhaps if I flagged the USB drive as legacy rather than UEFI it might work. I was feeling slightly nervous about this because there were some indications (here) that if I had succeeded in producing a new disk partition for Ubuntu then I may have lost my Windows partition! Doing clean installs of both Windows 8 and Ubuntu onto a machine looks like it might be a bit simper (here).
Maybe I should have followed the instructions here, the trick seems to be to create your Ubuntu partition using Windows 8 rather than trying to do it with the Ubuntu installer.
In some ways the problem here is finding an excess of instructions!
Method 3 – install on a virtual machine
Following a suggest on twitter my third method was to try installing Ubuntu onto a virtual machine inside Windows 8, if I’d have splashed out on Windows 8 Pro then I could have used Hyper-V as my virtual machine. However, I’m using VirtualBox. The instructions for installing Ubuntu inside VirtualBox are here, I switched on hardware virtualization support which was disabled by default.
This worked pretty smoothly, you don’t even need to produce a USB stick from which to boot, simply mount the ISO you downloaded as a virtual optical drive in VirtualBox. After initial installation Ubuntu was rather slow and unresponsive, I think this might have been due to downloading updates but I’m not sure. The only problem was that Ubuntu inside the VirtualBox couldn’t display at full screen resolution. This problem should be fixed by installing “Guest Additions” – this is software that lives on the guest operating system (the one inside the VirtualBox) and helps it interface with the host operating system. You can install the Guest Additions from an ISO image supplied with VirtualBox, the instructions for this are here. I failed to do this by not reading the instructions, in particular I didn’t install Dynamic Kernel Module Support (DKMS) properly. This was a recoverable mistake though, I learnt here that I needed to do this commandline first:
sudo apt-get install build-essential linux-headers-$(uname -r)
and then I re-installed using this commandline:
sudo apt-get install virtualbox-guest-utils
And it worked nicely on rebooting the virtual machine. So now I have Ubuntu 12.10 running in a VirtualBox inside Windows 8 aside from a hint of the VirtualBox menu bar at the bottom of the screen I could just as well be dual booting. Theoretically I might experience reduced performance by not running Ubuntu natively but I have 8GB of RAM in my laptop and an i7 processor so I suspect this won’t be an issue.
Now my eyes have been opened to the magic of virtual machines I want to install more! Sadly Apple’s OS X is not supported for such ventures.
I don’t claim to be an expert in this sort of thing so any comments on my understanding and technique are welcome!
The Ubuntu in the virtual machine doesn’t find my monitor resolution (1920×1080), so I apply this fix (link)
Also I use this technique, adding vboxvideo to modules, to improve performance (link).
Possibly I need to do this thing in the host machine (link):
VBoxManage setextradata global GUI/MaxGuestResolution any