P2V of Windows 2003 fails with reference to SP2.cab

This is an issue we in support have faced for years. The information provided by ‘Warning (13257)’ is very thorough and step by step. The problem is that sometimes it does not work. There are various actions that can be performed to effectively add the needed file to SCVMM via the Add-Patch command, using an SP2.cab file. Please follow this article if you have not already as it may resolve the issue.

server     Right Green Arrow     Server Virtual 2U

New article.

SCVMM: P2V of Windows 2003 fails with reference to SP2.cab
https://support.microsoft.com/kb/2650412 (This link is not active yet. Article below)

The issue the above article does covers is the circumstance where .NET garbage collection is enabled, but the specific file mentioned does not exist. This might seem obvious, but it took some testing to verify this new method of combating garbage collection. Instead of simply removing the file which changes nothing, create a file with the correct name and explicitly specify that garbage collection is disabled. Restart the VMM Service and all should be well. Let me know in the comments below if this helps.

Here’s the article prior to its publish.

Symptoms

Physical to Virtual (P2V) conversion of Windows x86 or x64 fails with one of a few possible errors. Two common errors are 'An I/O error occurred' error 0x80131516, and 'required files are missing' error (13257).

Example 1

Warning (13257)
Virtual Machine Manager server is unable to convert <ServerName> because required files are missing.

Recommended Action
Copy the file SP2.CAB to "C:\Program Files\Microsoft System Center Virtual Machine Manager 2008 R2\Patch Import" on the Virtual Machine Manager server, run the Add-Patch cmdlet to add the required files to the Virtual Machine Manager patch cache, and then try the operation again. The file SP2.CAB is located either at %WINDIR%\Driver Cache\i386 on <ServerName>, or on the Microsoft(R) Windows(R) Server 2003, Standard Edition (ENU, i386) installation media.n/ If SP2.CAB is not available, locate dc21x4.sys (Version: 5.5.5.0) on the installation media, copy the file to "C:\Program Files\Microsoft System Center Virtual Machine Manager 2008 R2\Patch Import", and then run the Add-Patch cmdlet to add the required files to the Virtual Machine Manager patch cache.

Example 2

Error (2920)
An I/O error occurred while opening the file C:\Program Files\Microsoft System Center Virtual Machine Manager 2008 R2\Patch Import\atapi.sys on the <ServerName> server.
(Unknown error (0x80131516))

Cause

The .NET Garbage Collector prevents SCVMM from adding a required patch correctly.

Resolution

Create a file named 'vmmservice.exe.config' and place it in the same directory as vmmservice.exe, '%SYSTEMDRIVE%\Program Files\Microsoft System Center Virtual Machine Manager 2008 R2\Bin.' Place the information below in the file and nothing else. Restart the VMM Service and try the Add-Patch command in the error again.

<configuration
<runtime>
<gcServer enabled="false"/>
</runtime>
</configuration>

More Information

Many articles similar to this state to simply remove 'vmmservice.exe.config' if found in the same directory as vmmservice.exe, '%SYSTEMDRIVE%\Program Files\Microsoft System Center Virtual Machine Manager 2008 R2\Bin.' This is not enough if garbage collection has already been set. The resolution above reverses the 'gcServer enabled' setting from what may be 'true' to 'false.'

Garbage collection is required for SCVMM in some situations when there are over 150 Hosts. For more information see the articles below.

Configuring Garbage Collection on the Server
https://msdn.microsoft.com/en-us/library/cc165011.aspx

How to enable server-optimized garbage collector for VMM
https://blogs.technet.com/b/m2/archive/2009/02/04/how-to-enable-server-optimized-garbage-collector-for-vmm.aspx

 

 

  jonjor