Using VirtualBox to run Windows apps that will not run on WINE
I’m a big fan of WINE and an even bigger fan of CrossoverLinux. This is the commercial implementation of WINE by CodeWeavers. For many Windows apps it works very well indeed. In many ways I prefer it to using a virtual machine (VM) because firstly one does not have to start a VM just to run an application and secondly, Windows apps behave exactly as if they were Linux apps – thus integrating seamlessly into Linux. Here’s a list of all the Windows apps I have made run using Crossover:-
In fact, I am one of Codeweavers so-called advocates – users in charge of little sub-projects to get certain favourite Windows applications working well under CrossoverLinux, whilst documenting and sharing this knowledge with other CrossOver users. I’ve even got some pretty obscure stuff working such as the software for my Icom IC-R20 communications receiver. And I like the concept of WINE bottles – little preconfigured Windows subsystems that can easily be transported to other Linux boxes – thus making installed Windows apps effectively portable.
Trouble is there are some applications that simply will not run on WINE whatever you do with them. Example, VideoReDo, an excellent linear MPEG editor that does not require transcoding before editing – ideal for topping & tailing (& removing commercials from) TV programmes. Despite many requests on its user forums for a Linux version, seems we are stuck with Windows for the time being. In this instance, a virtual machine is the only answer until a either VideoReDO’s developers get their act together or an open source Linux equivalent becomes available. That’s when the ability to run Windows in a virtual machine becomes very useful. And one of the most interesting products around is Sun’s VirtualBox.
VirtualBox really is a fantastic product. Sun Microsystems bought the company in 2008 but the core product is based on the work of a pair of German developers. And despite Sun’s dabblings, it is still open source and free of charge. But it has a lot of other advantages too that may not be immediately obvious:-
1. You can effectively isolate Windows from the outside world. Many of the problems associated with Windows occur when you connect it to the internet. On its own, XP is actually not a bad operating system really. Running Windows on a VM means it is dead easy to switch on & off its network access as required. Therefore, you can do your netty stuff in Linux (thus enjoying the intrinsic security and stability of Unix) whilst simultaneously granting Windows a nice, safe, internet-free environment where it cannot hurt itself!
2. Like Linux itself, VirtualBox allows you to mount CD & DVD *.iso image files as if they were the real thing – in fact they actually run faster this way. Means you can save all your CD ROMs to a big hard disk as *.iso files (using K3B or similar to rip the *.iso image files) and mount them as you need to use them – including the bootable ones. So you can keep all your operating systems, applications, dictionaries, encyclopaedias etc, in one place. You can also mount floppy disk images too which is brilliant for really old OS’s such as MS DOS & DR DOS etc. where many of the installation floppies are starting to die. Also means you can create identical DVD, CD & floppy disks from the image files. Note if you do make *.iso files from CD, DVD etc, make sure the ripping software actually creates genuine ISO 9660 files (like K3b does), not its own proprietary format (like Nero does).
3. You can run many VM’s on the same computer. Currently I have MS DOS 6.22, Windows NT version 4, Windows 98 SE, Windows 2000, Windows XP & Windows 7 Beta 7000 all running happily in VM’s on Kubuntu Linux. I’m even planning to have a crack at OS2 Warp when I have a quiet afternoon – just for old time’s sake!
Top left to right:- Windows XP, Windows 7 beta, Windows NT4
Bottom left to right:- MS DOS 6.22, Windows 2000, Windows 98 SE
Click image to see enlarged version.
4. The VMs actually are big single files. So you can easily back them up and copy them. Many people rely on Windows as their gateway to their computer which means that users are often scared and in awe of Windows. That is, if you mess about with Windows, then your PC may stop working. By relieving Windows of this responsibility really does demystify it. So if you want to experiment with viruses, hack the registry, install some iffy software or generally muck about then you can do so without fear because you can so easily restore a damaged VM from backup. Meanwhile the rest of your PC – the part run by Linux – keeps working perfectly. Nice!
5. Because the VM provides the virtual hardware, Windows authentication seems unperturbed by changes in real hardware. I have always deeply resented being forced to tell a foreign company in a foreign jurisdiction every time I change a hard disk or a upgrade a mother board. In fact, that was one of the many reasons I dumped Windows and went for Linux in the first place.
6. You can mount EXT2 & EXT3 (or any of the many other file systems that Linux supports) from a Windows VM. Basically VirtualBox tricks Windows into seeing these as network drives so Windows is oblivious to the real file system running on the disk. You can also decide exactly which parts of your Unix file system Windows can see and whether it has read-only access or read-write access to it. And you can do this on-the-fly. You do not need to restart the VM. I really like this feature because it means you can allow Windows access to the files you need it to work on, without putting any of your other data at risk.
7. Whatever Microsoft would have us believe, Windows is simply not as stable as Unix. Period. However if you run Windows in a VM, and it does crash, hang or BSOD, then you simply restart its VM. You do not have to restart your computer just because Windows decides to have a funny five minutes!
Now, I have been using PC’s since 1986. I have a lot of files and a lot of seemingly redundant software. But with VirtualBox I can run whatever I chose, from whatever era I please. I should just add that VirtualBox is also available for Windows and Mac OS. However it seems happiest running on Linux and keeping Windows purely as a guest OS.
Which version of Windows should one use in a virtual machine (VM)? IMHO Windows XP or even Windows 2000 is perfectly adequate for the Windows apps most folks want to run. In fact, if you switch off all the fancy stuff on XP, it actually looks & feels like Windows 2000 and runs very fast indeed in a VirtualBox VM. Don’t forget:-
- Windows 2000 = Windows NT version 5.0
- Windows XP = Windows NT version 5.1
- Windows Vista = Windows NT version 6
It’s a shame there is not an off-the-shelf scaled-down Windows with just the bare bones just for VM’s. As Linux becomes more popular, Microsoft may even see that as a marketing opportunity, who knows? However, IMHO XP is good enough. And as many people have an OEM license for XP then I guess that is the road many new Linux users will go down.
- Sun Microsystems VirtualBox
http://www.virtualbox.org - CrossoverLinux
http://www.codeweavers.com