Creating Virtual Windows

Ever since I got my current notebook computer (over three years ago), I have wanted to install Windows into a virtual machine. A virtual machine is a computer environment that runs inside of another operating system. For example, my main computer operating system is Linux. With a virtual machine installed inside of Linux I can run another operating system as if I had an extra computer. However, because I was not sure on how to set up a virtual machine I have continued to dual boot between Linux and Windows. This means that each time I turn on my computer I have to decide which operating system I want to use. I have just a couple of programs that I use in Windows that won’t work in Linux and therefore I have continued to dual boot just to run those programs.

Last weekend I finally decided to tackle the task of installing Windows into a virtual machine. And by doing this, I would also free up 150 GB of hard drive space that had been dedicated to my Windows installation. To get started I needed to do a complete backup of Windows and Linux. After doing a standard backup, I then cloned each one of my operating systems which were installed on two separate partitions of my hard drive. Cloning a hard drive means that I made an exact bit by bit copy of one hard drive onto another. In my case I cloned each partition on my internal hard drive onto an external hard drive. To do this I used the live CD made by Clonezilla.

VirtualBox imageThe virtual machine that I am using is a free piece of software called VirtualBox made by Oracle. I have had VirutalBox installed on my computer for almost 3 years but have never been brave enough to actually try to install Windows in the virtual machine.

After having both hard drive partitions backed up and cloned on the external hard drive I used Parted Magic to resize my Linux partition. The program Parted is a nondestructive hard drive partitioner. I was able to delete the 150 GB partition where Windows was installed and increase the size of my Linux partition to use the whole hard drive. I was very pleased to reboot my system and find that my Linux installation worked perfectly without having to make any adjustments.

My original plan was to create a virtual machine by installing the cloned a Windows partition. But I realized that there were many programs and add-ons that I have collected through the years. Therefore, I decided to install Windows from scratch into the virtual machine. I then installed the few programs that I needed.

While this probably sounds like it only took a couple of hours, it actually took me close to three days. Cloning the two partitions took several hours each. The Windows partition took over 10 hours, and the Linux partition took seven. In the end, I did not need to have cloned either partition since I installed Windows from scratch and my Linux installation continued to work after resizing the hard drive. However, having the partitions cloned gave me great security and confidence as I continued through the project. Another 6 hours were spent migrating data from the external hard drive into the Windows virtual machine. While there really wasn’t that much data to bring back into Windows, I was constantly fighting the system because Windows had to install more than 130 updates. If I wasn’t monitoring the computer it would randomly reboot to install updates which would break my data transfers. Fortunately only the virtual machine had to reboot, not the actual computer which was running Linux.

I won’t be doing any gaming with this Windows installation. A virtual machine runs on limited resources. The few programs that I use Windows for are neither real-time critical nor processor intensive.

It is nice to use Windows without having to reboot my computer. I would normally have to boot into Windows once a week to do certain tasks, but am now able to turn on Windows for a few minutes to do what I need to do whenever I want.

While VirtualBox seems to work well for my needs, it may not be for everyone. There was quite a bit of reading that I needed to do to understand how to get some of my hardware working inside Windows. If you are needing to use the virtualized operating system for processor intensive tasks, then a virtual machine may not be your best option. Since I have 3 GB of RAM on this computer, I dedicated 1/3rd of that to the Windows installation.

Have you played around with virtual machines? Run into any major reasons why you would tell people to avoid them? I was afraid some of my needed hardware would not work, but everything works as if I was running Windows natively on the computer.

Kubuntu 10.04 upgrade

Today I did an upgrade to the newest version of Kubuntu Linux. So far I have been pleased with everything. Since the install of the last version of Kubuntu I have had sound problems. This was caused by a buggy PulsAudio implementation. It affected many, but not everyone. I guess they finally got it worked out because everything works so far.

The only issue I have run into is the wireless card was not recognized by default. I have to run a proprietary driver for the wireless card on this notebook. Now I just have to see if I ever documented how I got it working after the last few upgrades.

Download KubuntuI downloaded the .iso file of the CD and burned it onto a DVD (I did not have any CD-R media handy). It worked just fine. While doing the install/upgrade I chose my drive partition for the install, but did not format the partition. This installed the new OS on top of my old install, but left my data intact. When doing this the old OS is erased and the new is installed in place. This allows a clean install, but again, leaves your data untouched. It also keeps all your old settings on your software configuration. There is one downside to this: if you had software that was configured badly before, it still will be. To get around that you can delete the hidden configuration directory of the offending software from your home directory.

This has been a much anticipated upgrade for me. I was disappointed in the last 2 upgrades of Kubuntu because previously working items became broken. So far, once I get the wireless running again, everything works as expected. I have not put it through its paces, but I don’t anticipate any problems.

Why is PulseAudio so stupid?

PulseAudio screenshotI have had a hate-hate relationship with PulseAudio on Ubuntu/Kubuntu over the last few months. Today I finally got fed up with a problem I was having and out of frustration just asked Google “why is pulse audio so stupid.” Without it being a serious inquiry I eventually made my way to a debugging page at the Ubuntu wiki that helped me out.

Here is what it had me do. Enter this command in a terminal window:

sudo fuser -v /dev/dsp* /dev/snd/* /dev/seq*

Anything other than “pulseaudio” appearing in the right column is the problem. Use the killall command to kill those other items. I ended up issuing a:

killall kmix

After that my sound started working as expected. I will now have to figure out how to keep kmix from starting at boot each time, but I at least know how to solve the problem quickly when it does come up.

If you are an Ubuntu (or variants) user it appears that PulseAudio is here to stay. I have read why it is supposed to be better, but don’t understand it or really care. I will let smarter people than me argue the finer points of sound servers. I just want the thing to work.

Dodged a bullet in the shape of a hard drive

A few months ago I had trouble installing a newer version of Linux on my computer. This is my main machine and houses the vast majority of our data. After the install failed I tried a different distribution of Linux. While most everything worked fine, there was one issue that haunted me. The hard drive partition that we have our photos stored on would not mount (I could not read from it). In fact as soon as I tried to mount the partition the whole machine would lock up instantly. Two other partitions on that drive worked without any problems.

I was hoping that the newer version of Kubuntu would take care of the problem. After installing it I was still getting the same behavior I had experienced with Slackware; instant lockup as soon as I tried to touch the partition.

In preparation for a new external hard drive purchase I decided to dig into this problem.

With the drive completely unmounted (even the partitions that were working fine) I ran an fsck check on the partitions. Since the partition is an ext3 file system I ran the following command:

sudo fsck.ext3 /dev/sdb2

Western Digital External Hard DriveSudo gives me root privileges. fsck.ext3 is the fs (file system) ck (check) specific for ext3 formatted partitions. The /dev/sdb2 means that I ran it on my second drive and second partition of that drive.

After putting in my root password I got a bunch of output that said:

Free blocks count wrong for group #XX ...

It asked it I wanted to fix it and I replied yes to the couple of hundred requests.

Apparently the drive was not cleanly unmounted. By running fsck I allowed it to clean up the corrupted table that said where all the data lived. While my drive is a traditional internal drive, this is a good lesson as to why you should always eject USB drives, or any type of media, before popping them out of your computer. That is true for whatever operating system you are running.

I am pleased to have recovered the 28 GB of photos that I had on there. I have most of them backed up in various locations, but do not have a full backup in one place. Since today is Thanksgiving I guess I should say I am thankful for having finally gotten to the bottom of this and that tomorrow is Black Friday and I am able to pick up an external HD that will back up all the computers on my network with room to spare.

Now, where is that coupon code for those online backup solutions?

Installing Twhirl on Kubuntu

My friend Gordon needed help installing Adobe AIR and Twhirl on Ubuntu. I just installed it on my notebook running Kubuntu 8.04. These steps should work almost the same on Ubuntu. I don’t know of any changes in the 8.10 release that would make this any different. But I have not tried it.

  1. Download Adobe AIR from http://labs.adobe.com/downloads/air_linux.html
  2. Navigate to the folder you downloaded AIR to. In Kubuntu you can use Konqueror or Dolphin, in Ubuntu you would use Nautilus. Right click on the downloaded file and select Properties. Select the Permissions tab and select the little check box that says “Is executable”, or “Allow executing file as program”.
  3. Click the file to start the Adobe AIR install. It took a few seconds before the installation started on my machine, be patient.
  4. Step through the prompts to install AIR. You may need to give it your user password at some point.
  5. Download Twhirl from http://www.twhirl.org/ I clicked the “Download and install” link in the section that says “Manual Installation” instead of trying the automatic install.
  6. Click (or double click) the Twhirl application that you downloaded to start the installation.
  7. Install using all the default settings that AIR gives you.
  8. Configure as necessary.

It really was that simple. I did it last week on my desktop and installed it on my notebook as I was writing this.

There are optional ways to set the permissions and install using the command line. That is the way I did it on my desktop. But since I was trying to write this in a simplified manner, I used the GUI the whole time and it worked just fine.