PC Multi-boot Configurations
This page is for advanced users, and contains my notes on how you can set up a PC to run multiple operating systems. As CPUs become more powerful and hard disk capacities continue to increase, more people will be interested in running multiple operating systems on a PC. Why would you wnat to do this?
- To run different operating systems for test purposes. For example, I sell and support a small database application, and I have users who install the software on different operating systems. This means I potentially need to have access to Windows 98, Windows ME, Windows NT 4, Windows 2000, Windows XP, Windows Vista, etc. to verify that the software installs and runs ok. I can't afford to have dedicated PCs, and a great deal of effort is required to wipe the disk and install new applications each time I need to test something.
- For testing new operating systems. For example, Windows 7 has just been released (beta). I'd like to test it out, but don't want to trash my main PC.
- To create a separate environment for development purposes. I like to completely separate my VB6 / VB.NET development environment from my general PC where I install and deinstall applications. This is so that when I create a setup file for my VB applications they will be as close to "clean" as I can get.
- To run a separate environment for downloading files from P2P file sharing sites (eDonkey, eMule, Bittorrent, Limewire, etc.), or for surfing those sites you wouldn't surf at work. The reason for the separate environment is to isolate you from viruses or malware. Similarly, if I download an application or utility I have doubts about, it is good to run it first in a test environment with minor consequences if it trashes the operating system.
- To separate work from home. If you work from home you may want to VPN in to work from a separate work environment.
There are many ways to run multiple environments. I will cover the different options briefly here. These are not intended to be detailed notes, rather ideas for you to consider and decide which approach is best for you.
Multiple PCs
The easiest way to run multiple environments is to have multiple PCs! Great isolation between machines. This is also the most expensive method and the least resource friendly. If you have an old PC at home it can be used for downloading off the internet, or for testing purposes. However, this isn't really the subject of this web page.
Changeable hard disks
I don't know if these are still available, but at one time I had my hard drive sitting in a removable 5.25" bay. A small key unlocked the bay and allowed me to remove the main hard disk and replace it with another hard disk. This allowed me to have several operating systems pre-installed on several hard disks. I could boot one up, use it, then power down and boot up off another hard disk with a different operating system. Today the same could probably be achieved by booting up off external USB hard drives (I haven't done this, but it should be possible if you can install an O/S onto a USB drive ok). I mention this for historical reasons, you probably wouldn't do this any more.
Multi-boot off one hard drive
Windows allows you to install two (or more) operating systems onto a single hard disk drive. Generally, you install the older operating systems first, then the newer operating systems. Microsoft describes the process here for DOS to Windows XP. (I don't know what Vista does). There are many caveats, and you have to watch the format of the underlying file system. Large disks are not supported by older operating system - ie don't expect to be able to use a 200 GB C: drive with Windows 98! This method can work well if you just want to swap between two operating systems, eg Windows 2000 and Windows XP, or Windows XP and Windows Vista (which isn't straightforward - see here for a good discussion on mutliboot Windows XP, Vista and Ubuntu Linux). Generally you have to boot all the operating systems off one hard disk - ie don't think that because you put two separate hard disks into your PC that you can install and boot one o/s from one hard disk, and a different operating system from the other. It doesn't work like that! I've been brief here because although it is possible to multiboot with Windows, or Linux LILO, it isn't very easy and as flexible as you will probably want.
PartitionMagic, BootMagic
I used PartitionMagic to successfully partition my hard disk into multiple partitions, install multiple operating systems, and used BootMagic to select the appropriate operating system at bootup. There are some limitations based on the O/S you are installing and you have to read the manual carefully and plan before you install operating systems. For example, you will need some FAT-16 partitions, some FAT-32, NTFS, etc. if you want to install older versions of Windows. Note that PM 8 (the latest version) does not support Vista (but I don't care because I wouldn't use Vista). I can confirm that this method works well, and is much easier than trying to use the facilities of Windows for multibooting. You can stuff things up, but if you make up the PM and BM recovery disks you can usually get yourself out of any trouble that occurs.
HyperOS
HyperOS provide a different method for allowing you to have multiple versions of the operating system installed. I used this software for a while, having several different versions of Windows plus a "clean" Windows 2000 partition that I could quickly clone for testing purposes. With most multi-boot situation all partitions are hidden other than the one you boot off. With HyperOS all the partitions are visible, so if you stuff up one partition you can boot up off another partition and go in and edit/restore files from the drive partition that you broke. The HyperOS method is particularly suitable for developers who need to test their application with all the different flavours of Windows. It is expensive compared to other methods. I used it for a while, but my enthusiasm for it dwindled.
VMware
VMware provides a different method of running multiple operating systems, using techniques that have been employed on large mainframe computers for decades. There are a number of different VMware virtualisation products:
- VMworkstation - after installing VMworkstation on your Windows (or Linux) PC, you can create multiple partitions and install an operating system in each partition. Thus you run an operating system in a sandboxed enclosure as an application within your Windows (or Linux) environment. In contrast to all the other methods so far, this means you can simultaneously run multiple operating systems and hot-key between them. You can have Windows 98, Windows 2000, Windows XP all running applications at once within VMworkstation, whilst your normal PC is running. If any of these operating systems goes wild, gets a virus, or crashes it only affects that environment and not the rest of your PC. Many advantages of this approach. You can create a "clean" operating system install and then clone it multiple times, thus you can quickly test software against a clean environment. Disadvantages - you do need a grunty PC with plenty of memory if you want to run several VMs (and note there are issues with 32-bit Windows and more than 3 GB memory - if you are serious, install 64-bit Windows XP or Vista and then you can install 8 GB memory on your desktop and run many o/s under VMworkstation). VMworkstation also costs around US$200, though there are cheaper options below. VMworkstation supports just about every o/s that has ever existed, and you can run them at the same time - no rebooting the PC every time you need to change o/s. I highly recommend this approach over the other methods above.
=> VMs can be moved (as large files) to other machines. You can't do this with other methods above. So once you have created your Windows 98, Windows ME, Windows 2000, etc. guest VMs (as I have done) you can move them to another machine and boot them up without further consideration of drivers or other compatibility issues. - VMServer 2 - this product is free. It is designed for for Windows servers (eg Windows 2003 or 2008 server), but it will run on a desktop with Windows XP. It isn't quite as flexible as VMworkstation and doesn't support as wider range of guest o/s, but it now has a web interface and will probably do what you want without purchasing VMworkstation. It is a cut down version of the professional GSX and ESX server products.
- VMplayer and VMappliances - once you have created a virtual machine using VMworkstation (or other VM product) you can run it for free using VMplayer on other platforms. There are some clever utilities that allow you to configure up a VM partition so that you can install an o/s under VMplayer, but it is much easier to use VMworkstation or VMServer to set it up. You can also download pre-built VMapplieances, and the reason I specifically mention this is because you can download a browser appliance so that you can surf the internet safely using a sandboxed application on your main PC. Any virus, malware or any other stuff that enter the browser window in the appliance can do no worse than stuff up the browser appliance. Data and files on your main PC cannot be affected.
Microsoft Virtualisation
Microsoft have a Virtual PC product which is free, and allows you to partition your hard disk and run multiple versions of Windows (and one or two versions of Linux). I haven't used this product. It is much less flexible and limited compred to the VMware products, but expect to see significant advancements from Microsoft in the coming years.
Other Matters
Right now I recommend VMware as the most flexible and versatile way of running multiple operating systems on your PC. Unfortunately, if you want to run four copies of Microsoft Windows XP under VMware, you need to pay Mr Gates the license fees for four copies of Windows XP. This is very annoying, and hence the interest in alternate operating systems such as Linux, or interest in copies of Windows XP that do not require registration. If I want a temporary test o/s I don't want to pay Microsoft $250. This is something Microsoft will need to address with its Virtualisation solutions.
© In the Light, 18 March, 2011 , Disclaimer, Son of Suckerfish drop-downs from HTML dog
