Posts Tagged ‘p2v’

VMM: Options for Offline Servicing, P2V, and Building Virtual Networks

August 23, 2014 1 comment

UPDATE: 10/21/2014: The MVMC 3.0 is now released with P2V functionality restored.

I work with SCVMM (System Center Virtual Machine Manager) frequently in many different contexts. I even do the occasional private cloud engagement specifically on VMM and Hyper-V. Most of the time however, I am using VMM in a peripheral context – be it personal lab work, proof-of-concept labs for customer or partners, etc. I have been very pleased with the evolution of Hyper-V and System Center products over the last few years. I find the largest issues that create pain points for me involve the constant need to service virtual machines, deal with physical-to-virtual conversions, and the cumbersome process of building test networks that demonstrate elements such as multi-tenancy that require me to super impose logical switches and other elements of software-defined networking on top of my switching fabric.

I field a lot of questions with regards to how to best go about these options with the most recent versions of SCVMM (particularly VMM 2012 R2.)

Virtual Machine Servicing

I don’t keep all of virtual machines running at the same time. In addition, I have many templates for which I reuse/import/export on a regular basis. In VMM 2012 there was the option of using a separate add-on utility called the Virtual Machine Servicing Tool. The problem is it only was for VMM 2012 RTM (or R1) and it does not work with VMM 2012 SP1 or VMM 202 R2. You will likely find many questions regarding this that appear in the comments section on my initial blog about the VSMT 2012 utility way back in 2012.

So with there being no newer version of VSMT for 2012 SP1 or R2 and the fact that you cannot use VSMT 2012 on VMM 2012 SP1 or R2, what are your options going forward for servicing – particularly offline servicing? You have a few options:

  • Customize a solution with DISM (Deployment Image Service and Management Toolkit) You should be very familiar with DISM as it is very useful for the consultant and IT Pro (like me) who does not always have access to System Center infrastructures. It can also be easily scripted to mount and service offline images for OS updates at the very least. You can become familiar with DISM servicing using the following link as it is a great introduction to the concept: This walkthrough tells you how to mount a virtual disk online and then apply various servicing commands using the DISM tool. You can then apply updates using the tool to apply individual Windows Update packages (.MSU’s) although this can be cumbersome for many sets of updates. This does require scripting for effectiveness but I have found that I can get away with one set per OS so long as I have access to the individual .MSU files [DISM /image:C:MyDirMount /Add-Package /Packagepath:<file_path>] This way is still way quicker than standing up a VM running WSUS, keeping it in sync and then booting up every single VM and updating it through the WSUS server. There are also additional scripts out there that work with live WSUS servers and DISM that you can also try – for example – Offline Servicing of VHDs against WSUS
  • Use Configuration Manager 2012 R2: Configuration Manager 2012 R2 has a VHD patching feature that allows you to apply software updates to VHDs that you created using task sequences. While this requires Configuration Manager, it is a great option for offline servicing. More information on this can be found here:
  • Orchestration: You can use a solution provided by a SMA (Service Management Automation) Runbook. The following blog posts talks about a feature in the gallery that allows you to automate the process of offline servicing: The specific runbook is found in the Technet gallery here:



The built-in Physical to Virtual conversion component of VMM was deprecated with the release of SCVMM 2012 R2. I wrote about this and the alternative options earlier this year: Many had hoped the feature would be included in the release of the Microsoft Virtual Machine Conversion utility (MVMC 2.0 ) but this was an erroneous speculation. P2V will be returning with the MVMC 3.0 release that will likely come later this fall. In the meantime use Disk2VHD as I mentioned in my post earlier as a viable alternative.

VMM Network Builder

Getting virtual networks set up properly in VMM and having everything in sync with the Hyper-V virtual switches, Host configurations, and the underlying switch fabric can be a cumbersome task. Up until now, I have been longing for a simplification of the process of setting up networking in VMM. Now we have the greatest single add-on utility (in my opinion) to come to SCVMM 2012: The VMM Network Builder. This is a free download that just became available from the Download Center ( This is a tool that will simplify the process of creating virtual networks that utilize VLAN isolation through VMM.

This will ensure that the Host NICs have the proper consistent settings for all of your virtual networks so all of your virtual machines will be able to be set properly to the appropriate virtual network associated with the correct VLAN. This will reduce the instances of having to troubleshoot network configuration which can be a common pain point given the many levels where things can be set incorrectly. With this utility, you can do a simple basic networking setup that can be applied to all of your hosts.

Virtualize! But How? P2V? I thought you took that feature out of VMM!

January 17, 2014 2 comments

UPDATE: 10/21/2014: The MVMC 3.0 is now released with P2V functionality restored.

One of the most asked questions I have received regarding the latest release of VMM 2012 has been “Where is the P2V conversion feature? Did it go away?” Well yes, The P2V (Physical-to-Virtual) conversion process was deprecated from System Center Virtual Machine Manager 2012 R2. My colleague Mike Briggs wrote about this in an excellent blog:  which also outlines a very specific process with a very helpful architectural diagram to get around this for those who still need to get servers migrated.

What was the objective of P2V?

The primary reason for P2V was to bring legacy physical servers into private cloud. Now that many of the operating systems that were commonly virtualized (Windows 2000 Server, Windows Server 2003, Windows Server 2003, and Windows Server 2008) are either out of support or in extended support. Newer operating systems housing business workloads are more hypervisor-aware and more often than not these days, they are being deployed to private clouds and corporate data centers as provisioned virtual machines as opposed to being deployed directly to bare metal installations.


If you are planning to deploy Virtual Machine Manager 2012 R2 as part of your System Center hybrid/private cloud and are looking for a strategy to migrate all of your physical servers aboard, consider you have these options:

Use VMM 2012 SP1 in parallel: Setting up a parallel VMM server (just like specified in the above mentioned blog post) and a Hyper-V Host Running Windows Server 2012 can still serve as a viable staging environment as this will continue to be supported in the immediate future. Windows Server 2012 Hyper-V VM’s can be easily imported/migrated over to Windows Server 2012 R2. This will be especially important if you are looking to do on-line P2V’s with active servers and you want to minimize downtime. Documentation for performing P2V in VMM 2012 SP1 can be found here:

Disk2VHD: This free utility from the Sysinternals group ( can also perform online P2V’s completely originating from the source operating system creating a VHD or VHDX file ready for virtualization prime time. The latest version adds support for VHDX-formatted VHDs, WinRE volumes, removable media (for capturing,) and includes an option to capture live volumes instead of relying on volume shadow copy (VSS).

3rd-Party Solutions: There are P2V converters out there. Some are rudimentary and inexpensive while others integrate this feature into their enterprise backup and recovery solutions (such as Acronis.) These are also viable options to consider.

SCVMM 2008 R2: VMM Service Crash with UnauthorizedAccessException while Gathering Information on the Source Machine

November 30, 2011 Leave a comment


When click clicking “SCAN SYSTEM” in the SCVMM P2V (Physical to Virtual) conversion wizard, the following error occurs:

“The connection to the Virtual Machine Manager server <SERVERNAME> was lost.”

 The job results will show the following error:

 “Error 1700”

“The Virtual Machine Manager service on the <HOSTNAME> server stopped while this job was running. This may have been caused by a system restart.”

Further analysis will reveal that there was not a system restart, but a VMM Service crash and restart.


This can occur if there is a failure to access WMI on the source server or the source machine fails to initialize its WMI classes properly. You can verify specifics by browsing to some of the required WMI classes (Win32_processor, Win32_operating system, etc.) using a WMI browser (WMIC, WBEMTEST, etc.)

For example, you can test basic access by using the Computer management snap-in. Browse to Service and Applicatons – then to WMI control. Then right click and select properties and attempt to browse the common namespaces.


If WMI returns error messages, be aware that they may not indicate problems in the WMI service or in WMI providers. Failures can originate in other parts of the operating system and emerge as errors through WMI. See the URL below with common error codes

  • 0x800410xx and 0x800440xx are WMI Operational Errors
  • 0x8007xxxx are Win32 errors, not WMI errors (Often DCOM security-related)
  • 0x80040xxx are DCOM errors, not WMI errors (Often DCOM configuration-related)
  • 0x80005xxx are ADSI errors (LDAP), not WMI errors

There is also a web site that contains these codes in detail:

If the entire WMI repository is corrupt, try salvaging and/or rebuilding the repository using the following method:

1.  Open an elevated command prompt.

2.    Verify the WMI repository is not corrupt by running the following command:

 winmgmt /verifyrepository

If the repository is not corrupted, a “WMI Repository is consistent” message will be returned. If you get something else, go to step 3. If the repository is consistent, perform a repair.

3. Run the following commands to repair WMI:

 winmgmt /salvagerepository

If the repository salvage fails to work, then run the following command to see if it resolves the issue:

winmgmt /resetrepository

After the last command, there should be a “WMI Repository has been reset” message returned that verifies the command was successful.

Categories: Uncategorized Tags: , , , ,

SCVMM: Avoid STOP 07XB Issues Post-P2V Migration by Ensuring Registry Hooks to Physical Storage Filters are Removed

September 13, 2011 Leave a comment

Sometimes P2V migrations fail in SCVMM after the 70% completion phase. This is usually post copy/post virtualization fixup. This could also be a situation where it seems the job is hanging at 70% in the VMM console.  Another symptom that might be noticed would be that the P2V job has completed w/ Info. Often you will see this error:

Warning (13210)

Timeout occurred while waiting for VM integration services to be installed on virtual machine <name> residing on host <host>

Recommended Action

Ensure that the version of the VM integration services binaries matches the version of the guest operating system in the virtual machine and then try again.

The issue can be confirmed by starting the VM in Hyper-V. This will show it crashing upon bootup with a STOP 0x7B error. This may occur if certain registry entries that are added by 3rd-party storage providers or physical hardware providers when these were installed are not removed because the software was not uninstalled prior to P2V process, the software was installed but these settings were not removed prior to P2V, or these were not removed during the P2V fixup phase. These registry entries are preventing your computer from starting correctly.

When this happens, you can do one of two things. Prior to P2V on the source machine search your registries for “UpperFilters” and “LowerFilters.” You can usually track down culprits of post P2V STOP 0x7B’s this way.

For example, you may find the following:


UpperFilters = snapman timounter



LowerFilters = ZetSFD

Simplay removing these values prior to running a P2V, will resolve the issue although this could be time consuming. You could also mount the VHD in another OS (such as Windows 7 or Windows Server 2008 R2) and load the hives. Then you can search and make the same changes. Bear in mind, you will need to make sure the right ControlSet hive is actually modified (check HKEY_LOCAL_MACHINESYSTEMSelect first) or modify all ControlSets.

SCVMM: Service Principal Names (SPNs) Required for Proper SCVMM 2008 Functionality

April 30, 2011 8 comments

SCVMM 2008, 2008 R2, as well as future versions of SCVMM rely on kerberos and kerberos delegation functionality for its security and authentication model. You may encounter various problems with SCVMM related to authentication and authorization if the underlying platform service principal names (SPNs) are not properly set.

There are all sorts of problems ranging from console authentication, to SQL access, or even host access for the purposes of accessing virtual machines managed by SCVMM. All of these problems cann be caused when delegation is failing possibly due to incorrect or missing SPNs (Service Principal Names.)
The resolution is to verify and correct any configuration issues with kerberos delegation, often correcting problems related to SPNs not being registered – or even duplicate SPNs.
You can use the SETSPN command to check for duplicate SPNs and to create missing ones if needed. Please note not all SPNs may be required as that will vary based on what server roles are installed. SETSPN is a default external command in both Windows Server 2008 and 2008 R2. For Windows Server 2003, I would recommend downloading the SETSPN update for Windows Server 2003. More information and download links are found here:
The following list below lists all of the SPNs that may be required relating to their corresponding components. Since SCVMM is a management interface that sits on top of so many different platform components, incomplete or improper delegation at these component layers will cause problems in SCVMM functionality.
Hyper-V Virtual Consoles:

For Virtual Console Support for Hyper-V Hosts (VMCONNECT.EXE) – This will be required on Hyper-V Hosts. Use the following command to set and verify SPNs.

setspn -s "Microsoft Virtual Console Service/HOSTNAME" computername 
setspn -s "Microsoft Virtual Console Service/hostname.fqdn.etc" computername 

For P2V Support.

Use the following command to set and verify SPNs.

setspn -s "Microsoft Virtual System Migration Service/hostname.fqdn.etc" computername 
setspn -s "Microsoft Virtual System Migration Service/hostname" computername 

 For VS2005 Hosts and the VMRC utility

– This will be required on Virtual Server 2005 Hosts. Use the following command to set and verify SPNs.

setspn -s vmrc/hostname.fqdn.etc:5900 computername 
setspn -s vmrc/hostname:5900 computername 
setspn -s vssrvc/hostname.fqdn.etc computername 
setspn -s vssrvc/hostname computername 

For RDP Support.

Use the following command to set and verify SPNs.

setspn -s TERMSRV/hostname.fqdn.etc computername 
setspn -s TERMSRV/hostname computername 

 For all Hosts.

Use the following command to set and verify SPNs.

 setspn -s HOST/hostname computername 
setspn -s HOST/hostname.fqdn.etc computername 

 HTTP (may needed for authentication on SSP if VMM server is using Remote SQL.)

Use the following command to set and verify SPNs.

setspn -s HTTP/hostname.fqdn.etc computername 
setspn -s HTTP/hostname computername 

 SQL VMM Database

Depends on port and instance type: 

Named Instance.

Use the following command to set and verify SPNs.

 setspn -s MSSQLSvc/hostname.fqdn.etc:Port computername

setspn -s MSSQLSvc/hostname.fqdn.etc:InstanceName computername 

 Default Instance.

Use the following command to set and verify SPNs.

setspn -s MSSQLSvc/hostname:1433 computername 
setspn -s MSSQLSvc/hostname.fqdn.etc:1433 computername 

Here are some links to some excellent articles: