Fixing the –startvm Error Message

After upgrading Ubuntu from 18.04 to 20.04, I noticed that my VM .desktop shortcut throws the error message

–startvm is an option for the VirtualBox VM runner (VirtualBoxVM) application, not the VirtualBox Manager.

Before the upgrade, it simply started the virtual machine referenced as parameter value.

It seems that VirtualBox moved the --startvm parameter from the previous VirtualBox executable to VirtualBoxVM. More infos and links can be found in this VirtualBox ticket.

The (easy) solution was to open the .desktop file in an editor, and change the line

Exec=/usr/lib/virtualbox/VirtualBox ....

to

Exec=/usr/lib/virtualbox/VirtualBoxVM ....

Handling NOT_IMPLEMENTED in VMware Player log file

I moved a VMware VM from one PC to another, and could not start the VM on the new machine any more.

The player’s log file contained a couple of Access Denied messages, and the line

NOT_IMPLEMENTED C:/ob/bora-80004/bora/apps/lib/cui/vmDeviceSCSICtlr.cc:129

After the backtrace section and a set of CoreDump files, the log file ends with

[msg.log.error.unrecoverable] VMware Player unrecoverable error: (player)
NOT_IMPLEMENTED C:/ob/bora-80004/bora/apps/lib/cui/vmDeviceSCSICtlr.cc:129
[msg.panic.haveLog] A log file is available in 
    "C:\Users\username\AppData\Local\Temp\vmware-username\vmware-username-81964.log".

Background info: the VM contains a 64bit Windows server, the original PC runs 64bit Windows 7. The target machine runs on 32bit Windows 7, and a quite dated version of VMware Player (2.0.x).

After finding the VMware community post Error running 64 bit guest OS on a 32bit windows XP with processor supporing 64bit OS I upgraded to the lastest version of VMware player (5.0.x), installed VMware Tools as prompted, and the 64bit VM ran on 32bit Windows.

Virtualizing a Windows 2000 Installation

If you want to save your applications that do not run under Windows 7, you sooner or later need to migration them into a VM.

First, you need to create a disk image of the original installation: I removed the boot disks from the PCs, and connected them to W7 using an IDE-to-USB converter.

To take a snapshot of the disk, I used vConverter and disk2vhd on different occasions. vConverter creates .vmdk files, where disk2vhd uses the .vhd format. Both file formats can be used by VirtualBox.

Before you start your favorite snapshot tool, you should

  • uninstall any software you do not need in the VM
  • clean up unused files on the disk: temp files, downloads, browser history, recycle bin, etc.
  • defrag the harddisk

After preparing the harddisk, create the image.

Start VirtualBox and create a new Virtual Machine. Add the image as boot disk.

In the System tab, I had to enable the IO-APIC setting to get the VM to boot. Add a CD drive in the VM configuration to allow for mounting and installing the Extension Pack once the VM is running.

After installing the extensions (previously called Guest Additions), you can adjust the display settings to a higher resolution. (you will be prompted to set color depth to 32-bit)

If you could not perform the uninstall or cleanup operations on the original harddisks, you can now clean the harddisk inside the VM.

Note that if the VM is offline, you can mount the disk image using Windows 7’s Disk Management and resize the volumes inside the image file.

However I could not find any information on how to shrink VHD files reliably using VirtualBox: VBoxManage modifyhd does not support the –compact option for vhd’s.

The following links did not sound very reassuring, so I did not try them:

VHDResizer can shrink a vhd file, but may leave you with an unbootable image. Virtual PC seems to have an option to compact a vhd file, but the “empty” space needs to be filled with zeros.

So it’s best to clean up before creating the image to avoid complications later on.