Running XP on Vista

January 19, 2007

I’ve been playing around with an RTM build of Vista the last few days (the benefit of having friends in IT departments), and since it runs everything I need quite well I’ll be sticking with Vista as my windows OS as I find XP to be intolerable.

Anyway, the point of this post is to address a need which any web designer upgrading to Vista will find. The lack of IE6 for testing designs. Previously I had been using MultipleIE which I found over at tredosoft.com. However, to my dismay it doesn’t work on Vista, or rather, I couldn’t find any way of making it work.

The solution is running XP in a virtual machine which sounds complicated, but it really isn’t and even better it’s completely free! Read on…

What you need

  • A copy of Windows XP (must be 32-bit)
  • A copy of VMware Player, available for free from vmware.com/

The Process

First you need to install VMware Player which is trivial and needs no explanation, you’ll also need your windows XP CD or if you have an ISO, use daemon tools to mount it.

Now in order to use VMware Player you need a Virtual Machine file (.vmx) and a Virtual hard drive file to store your windows installation on (.vmd). The player doesn’t allow you to make your own Virtual Machines but thankfully, you can make your own using notepad.

Here’s the VMX file that I use:

config.version = "8"
    virtualHW.version = "3"
    uuid.location = "56 4d 7f d1 45 d3 c3 3d-0c 43 f0 d9 6e b0 03 16"
    uuid.bios = "56 4d 7f d1 45 d3 c3 3d-0c 43 f0 d9 6e b0 03 16"
    uuid.action = "create"
    checkpoint.vmState = ""
    displayName = "XP Pro"
    guestOS = "winxppro"
    numvcpus = "1"
    memsize = "512"
    paevm = "FALSE"
    sched.mem.pshare.enable = "TRUE"
    MemAllowAutoScaleDown = "FALSE"
    MemTrimRate = "-1"
    nvram = "nvram"
    mks.enable3d = "TRUE"
    vmmouse.present = "TRUE"
    tools.syncTime = "TRUE"
    tools.remindinstall = "TRUE"
    isolation.tools.hgfs.disable = "FALSE"
    isolation.tools.dnd.disable = "FALSE"
    isolation.tools.copy.enable = "TRUE"
    isolation.tools.paste.enabled = "TRUE"
    gui.restricted = "FALSE"
    ethernet0.present = "TRUE"
    ethernet0.connectionType = "nat"
    usb.present = "TRUE"
    usb.generic.autoconnect = "FALSE"
    sound.present = "FALSE"
    ide0:0.present = "TRUE"
    ide0:0.fileName = "PATH_TO_VMDK_FILE"
    ide0:0.deviceType = "disk"
    ide0:0.mode = "persistent"
    ide0:0.redo = ""
    ide0:0.writeThrough = "FALSE"
    ide0:0.startConnected = "FALSE"
    ide1:0.present = "TRUE"
    ide1:0.fileName = "DRIVE_LETTER_OF_CDROM_ ( D:\ )"
    ide1:0.deviceType = "cdrom-raw"
    ide1:0.autodetect = "TRUE"
    ide1:0.startConnected = "FALSE"
    floppy0.present = "FALSE"
    serial0.present = "FALSE"
    serial1.present = "FALSE"
    parallel0.present = "FALSE"
    ethernet0.addressType = "generated"
    ethernet0.generatedAddress = "00:0c:29:b0:03:16"
    ethernet0.generatedAddressOffset = "0"

The two important settings are ide1:0.pfileName which needs to be drive letter of your CD drive where your XP disk is and ide0:0.fileName which needs to be the path to the VMDK file (D:\xpdisk.vmdk for example).

I made a 2Gb vmdk file which you can download here (4Kb download)

Once you’ve put the .vmdk file somewhere and edited and saved your .vmx file it’s simple. Start up VMware Player, point it at your .vmx file and it should start up the virtual machine, find your XP CD and then start installation, 15 minutes later you’ve got your XP machine for testing!

Simple!

Feedback?

If you’ve found errors or have some feedback please . Comments aren’t currently enabled due to spam but I’m sure they’ll return in the future.

More Reading

Previously: MacWorld '07 - What we Didn't See

Coming Up: Transcending CSS