Virtuozzo: Fixing Windows VPS Container Start Errors

Due to the way the Virtuozzo virtualization platform works, all VPS containers are linked to the Host Node Operating System. For this reason, Windows updates are specifically disabled in Virtuozzo VPS Containers as any changes or updates to Windows System Files or Drivers, that differ from the host node can render the VPS Container unusable – All Windows Updates must be approved by SWSoft/Parallels and offered as Virtuozzo updates, which have to be applied on the Host Node.

Unfortunately, some users not familiar with Virtuozzo will often attempt to manually override the disabled Windows Update options, for example by downloading and manually installing Windows Updates. All will be fine until a container restart is attempted which will fail with the following errors or something similar:

Failed to start Virtual Private Server ‘21656’. System error 1:
Virtuozzo API function call ‘VzkrnlStartVps’ failed dwErr = 0x000004FB

This generally means the VPS was updated using Windows update, as above – with Virtuozzo you can only install approved patches from SWSoft/Parallels (http://www.parallels.com)

In order to fix this, the easiest method would be to restore a recent VPS Container backup. However, this may not always be an option with users either having no backups, or backups which are out of date.

In order to begin fixing this, we will need to resynchronize the problem Container’s system files with that of the Host Node Operating System. If these file differs from the Host Node, the VPS Container simply cannot start ie. Copying the “c:\Windows\System32\drivers\” folder.

To do this you must log into the Virtuozzo Host Node via RDP, open a command prompt, and perform the following, which simply replaces what was patched/replaced with what the Host Node is using:

copy c:\WINDOWS\system32\drivers\ c:\vz\privte\VEID\root\c\WINDOWS\system32\drivers\

Where “VEID” is the VPS Container ID.

Now, because the VPS Container is down, Virtuozzo will most likely have unmounted the root file system for this container. Which means you will have to temporarily mount the file system in order to make changes to the file system, which you can perform with the following steps:

1) Make sure the container is stopped

vzctl stop VEID

You may also wish to backup the containers file system at this point eg. Do copy of z:\vz\private\VEID\root.efd for emergency cases.

2) a) Mount the root.efd file

vzdskctl mount z:\vz\private\VEID\root.efd GUID – making sure the root.efd path is correct for this container.

2) b) To obtain the container’s unique GUID required above:

vzcfgt get VEID GUID

This will return the unique GUID in the form “{799251BE-720C-468E-B877-913F49476001}”

3) Once the vzdskctl mount command returns “SUCCESS”, the file system for the container is mounted and you can copy the Windows System files over.

4) Once you’ve finished copying:

vzdskctl umount GUID

This will unmount the file system, so you can attempt to start the container again. However, you may also want to assimilate the VPS Container by running the following command from the Virtuozzo BIN folder (usually C:\Program Files\SWsoft\Virtuozzo\BIN):

vzfsctl assimilate VEID

Now to restart the container either via PIM or command line

vzctl start VE