POSTS FOR 2009

Run Internet Explorer 6 (or IE7, or IE8) images in VirtualBox on Mac OS X

Software962 words5 minutes to read

These days I’m looking to save money anywhere I can. How about you? Whereas VMWare Fusion (as awesome as it is) runs around $80 USD per copy, Sun’s VirtualBox is a free, open-source product for virtualization that runs on Mac OS X, Linux, and Windows.

Update: Microsoft’s images are broken, and don’t work on anything except VirtualPC now. Mac and Linux users are out of luck for the time being. More information on the subject can be found at MSDN. If you’ve not yet read the related post, “Run Internet Explorer 6 (or IE7, or IE8) images in VMWare Fusion on Mac OS X, you should. This is a follow up on how to take those virtual machines (which we’ve already done a lot of work on), and convert them for use VirtualBox.

Prerequisites

  • You need to have access to a Mac OS X machine.

  • A broadband connection would be quite helpful.

  • A USB flash drive (or some other way to copy files to the VM before you have network access enabled).

VMWare Fusion uses the .vmdk disk format for its virtual drives. VirtualBox uses the .vdi format. Although VirtualBox can use the existing .vmdk images, you get better performance if you convert them to .vdi.

Downloading and Preparing stuff

  1. Download and install VirtualBox. It should live in the /Applications directory.

  2. Download and install Q (a Mac version of Qemu). It should live in the /Applications directory.

  3. Download and decompress an IE6, IE7, or IE8 VMWare Fusion image that I’ve posted previously. If you need ALL of them, you can save yourself the bandwidth by downloading the IE6 image, making a copy of the file, and upgrading that copy to IE7 or IE8.

Extracting the disk image

  1. When you decompress the VMWare Fusion image, you should end up with a folder containing 3 files: Two text files, and a .vmware file.

  2. Right-click (or command-click) the .vmware file and choose “Show package contents.” This will open up a new window.

  3. Find the .vmdk file and drag it some place that’s easy to find. In this tutorial, we’ll use the desktop.

Converting the VMWare image to a VirtualBox image (Optional)

This step is optional. VirtualBox can read the VMWare Fusion disk image format if you’re short on time. However, you get better performance if you convert to the native VirtualBox format.

  1. Fire up Terminal.app. It lives inside your /Applications/Utilities directory.

  2. Move to your desktop directory:

    cd ~/Desktop
  3. We’ll convert the .vmdk file into a raw hard drive file, then convert that raw file into the native .vdi format:

    /Applications/Q.app/Contents/MacOS/qemu-img convert -O raw IE6-XP.vmdk IE6-XP.raw && \
    /Applications/VirtualBox.app/Contents/MacOS/VBoxManage convertdd IE6-XP.raw IE6-XP.vdi && \
    rm IE6-XP.raw
  4. Wait. Depending on your computer, this will probably take 20–45 minutes.

  5. Once it’s done, you can delete the IE6-XP.vmdk file.

Configuring the VM

  1. Move the new .vdi file to wherever you’ll want your virtual machines to live.

  2. Launch VirtualBox. You’ll be presented with the “Welcome to VirtualBox” dialog.

  3. Click “New.” A “Create new virtual machine” dialog box will pop up. Click “Next.”

  4. Name your virtual machine. I named mine “IE6-XP.”

  5. Operating system is “Microsoft Windows.” Version is “Windows XP.” Click “Next.”

  6. Determine the amount of RAM you want to allow the virtual machine to use. I have 4 GB of RAM, so I allow 512 MB. Adjust as necessary, but I wouldn’t go below 192 MB. Click “Next.”

  7. Here, you select the disk image to use. Choose “Use existing hard disk.” There is a pull-down menu that says “<no media>”. Click the icon to the right of it.

  8. The “Virtual Media Manager” dialog should pop up. Click “Add.”

  9. Find where you saved the .vdi file to, and select it. Once that’s done, click the “Select” button. This will close the Virtual Media Manager” dialog.

  10. Back on the “Create new virtual machine” dialog, the pull-down menu that used to say “<no media>” should now say something along the lines of “IE6-XP.vdi (Normal, 16.00 GB).” Click “Next,” then “Finish.”

  11. From there, click “Settings” along the top of the application.

  12. Click the “Audio” tab, and deselect “Enable audio.” We don’t have the drivers for this, so we’ll save ourselves the nag-ware.

  13. Click the “Network” tab, and choose “Intel PRO/1000 MT Desktop” from the Adapter Type pull-down.

  14. Leave everything else as default, and click OK.

  15. Click “Start” along the top of the application to start the virtual machine.

Installing the drivers and Guest Additions

  1. When the virtual machine starts, the viewport will be very small. Windows also may be asking you to find drivers. Make it go away for now.

  2. In the “Devices” menu, choose “Install Guest Additions.” This will load a virtual CD-ROM.

  3. The setup should begin automatically. If it doesn’t, go to the Start Menu, choose “My Computer,” then double-click on “VirtualBox Guest Additions.”

  4. Go through the process and install the software, then restart your VM.

  5. While that restarts, switch back to Mac OS X and download the driver for the Intel PRO/1000 MT ethernet card. Download the version for Windows XP (32-bit). Copy it to your USB flash drive.

  6. When the virtual machine comes back up, you’ll need to connect your USB flash drive to your virtual machine. To do this, you’ll need to drag the flash drive icon to the trash from Mac OS X (but leave it physically connected). In VirtualBox, go to the menubar and choose DevicesUSB DevicesUSB Flash Drive.

  7. Navigate to the installer on your flash drive, and install the Intel drivers.

  8. Lastly, go to Start MenuRun, then in the dialog type the following so that you can keep the additional drivers on your VM:

    D:\VBoxWindowsAdditions-x86.exe /extract /D=C:\Drivers

Done!

You should be all set! If you want to get all super-hacky, you can check out “Create IE VBox” for geekier details.

Ryan Parman

Ryan Parman is an experienced Software/DevOps/Security engineer, currently living in Seattle. He is the creator of and , patented multifactor-authentication-as-a-service at , and came up with the idea of “serverless, event-driven, responsive functions in the cloud” while at AWS in 2010. Ryan's aptly-named blog, , is where he writes about ideas longer than . Ambivert. Curious. Not a coffee drinker.