Oracle’s VirtualBox

I still have customers running software I wrote more than 35 years ago. It requires WinXP (or maybe it doesn’t require it, but I’m reluctant to invest the time and energy it would take to get it to run on more modern systems). I have a customer who needs to retire his old WinXP system soon, because it’s becoming unreliable, so I want to give him a VM alternative.

I run a few WinXP virtual machines using VMWare Player, but I’d like to move away from VMWare. Oracle’s VirtualBox looks like it might be what I need.

I have a WinXP installation CD. I’m going to try to install it in VirtualBox on a Win11 system (via a CD-ROM shared from a Debian Linux box via Samba) to create a clean VM I can use to host the old software. If that works I’ll walk the customer through the VirtualBox setup process and give him a VirtualBox VM preconfigured with WinXP and my software.

Anyway, that’s the plan. Let’s see how it goes.

Creating the WinXP VM

VirtualBox (VB) does not require an ISO image, and says I can install the OS later. I pointed it to the CD-ROM containing the WinXP installation media and it pre-populated the Operating System as Windows XP (32-bit) (or 64-bit; I chose 32-bit). I assume that it did so because it recognized the CD contents. (The installation media does not contain an ISO image.)

Tried starting the empty VM. VB started the machine and told me that it failed to boot (surprise), and asked me to give it a path to boot media. Still seems to require an ISO file….

Changed the boot order to list Optical first, but don’t see a way to point it at my networked CD-ROM. The online resources seem inevitably to reference an ISO image. So…

Creating an ISO Image from my WinXP Installation Disk

Downloaded AnyBurn to my Win11 machine. Unfortunately, while it offers an option to copy a physical disk to an ISO image, it doesn’t seem to allow me to specify a remote CD-ROM drive: it simply complains that no DVD or CD-ROM drive is detected.

So…

Installed brasero on the Linux machine. The CD-ROM is locally attached there, so maybe that’s the best place from which to burn the ISO.

Running brasero. The choices are a little misleading. To create an ISO, I select the Disk Copy option, which says it will copy one disk to another. Then, on the dialog, I change the “disk to write to” to Image File. It looks like it defaults the file name to the CD-ROM label with a .toc extension, and places it in my home directory. Not sure why it isn’t an .iso extension. But we’ll try it.

Clicked Create Image and…

… it’s working on it. 676 MB, which sounds about right for the installation disk. It’ll take three or four minutes.

Meanwhile, what I’m reading about .toc vs .iso isn’t giving me confidence. They aren’t the same thing, and a .toc doesn’t necessarily (or perhaps ever) contain the full image of the disk.

Okay, mea culpa. I didn’t select the appropriate image type when I ran the program. Select ISO from the file save type and we’re off again. It should work this time.

Copied the ISO to a folder on my NAS storage, pointed VirtualBox to it, made sure Optical was the first boot choice, and hit Start.

And Windows Setup is running on my VM. Nice.

Accessing Shared Folders on Host Computer

  1. Create a shared folder by going into Devices -> Shared Folders and browsing to a folder on the host machine.
  2. With the VM powered off, go into the Storage section and create an optical disk linked to the VBoxGuestAdditions.iso file, which is in the VirtualBox installation folder.
  3. Start the VM. From the Devices menu, select the Insert Guest Additions CD image. (Not sure this step is necessary.)
  4. Open the VirtualBox Guest Additions disk in the CD drive. The installation program should start. Accept defaults. Reboot.
  5. The shared folder(s) should appear as networked drives.