Booting a boot from VHD VHD drive to Hyper-V

Now that Windows 8 beta is out for playing on, I decided to try booting my boot from VHD Server 2008R2 test server from the newly installed Hyper-V role.

As soon as I started up the server I received a Blue screen of death error: Stop 0x0000007B.

This error occurs when mass storage drivers are not available on the new machine.

As you may or may not be aware, Hyper-V only supports booting from IDE devices.

Even though my server had the necessary drivers, it still would not boot.

The following Microsoft KB article is applicable to the XP operating system but some of the resolution worked for me and might work for you.

What worked for me was the registry merge instructions, I merged the reg key and hey presto everything worked.

Hope it works for you.


Copy the following information into Notepad, and then save the file. Name the file Mergeide.reg, without the .txt file name extension.
********** Start copy here **********

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabaseprimary_ide_channel] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”atapi” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasesecondary_ide_channel] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”atapi” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabase*pnp0600] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”atapi” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabase*azt0502] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”atapi” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasegendisk] “ClassGUID”=”{4D36E967-E325-11CE-BFC1-08002BE10318}” “Service”=”disk” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#cc_0101] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_0e11&dev_ae33] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1039&dev_0601] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1039&dev_5513] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1042&dev_1000] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_105a&dev_4d33] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1095&dev_0640] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1095&dev_0646] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1095&dev_0646&REV_05] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1095&dev_0646&REV_07] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1095&dev_0648] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1095&dev_0649] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1097&dev_0038] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_10ad&dev_0001] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_10ad&dev_0150] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_10b9&dev_5215] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_10b9&dev_5219] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_10b9&dev_5229] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”pciide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_1106&dev_0571] “Service”=”pciide” “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_8086&dev_1222] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”intelide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_8086&dev_1230] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”intelide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_8086&dev_2411] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”intelide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_8086&dev_2421] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”intelide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_8086&dev_7010] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”intelide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_8086&dev_7111] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”intelide” [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlCriticalDeviceDatabasepci#ven_8086&dev_7199] “ClassGUID”=”{4D36E96A-E325-11CE-BFC1-08002BE10318}” “Service”=”intelide” ;Add driver for Atapi (requires Atapi.sys in Drivers directory) [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesatapi] “ErrorControl”=dword:00000001 “Group”=”SCSI miniport” “Start”=dword:00000000 “Tag”=dword:00000019 “Type”=dword:00000001 “DisplayName”=”Standard IDE/ESDI Hard Disk Controller” “ImagePath”=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00, 52,00,49,00,56,00,45,00,52,00,53,00,5c,00,61,00,74,00,61,00,70,00,69,00,2e, 00,73,00,79,00,73,00,00,00 ;Add driver for intelide (requires intelide.sys in drivers directory) [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesIntelIde] “ErrorControl”=dword:00000001 “Group”=”System Bus Extender” “Start”=dword:00000000 “Tag”=dword:00000004 “Type”=dword:00000001 “ImagePath”=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00, 52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,6e,00,74,00,65,00,6c,00,69, 00,64,00,65,00,2e,00,73,00,79,00,73,00,00,00 ;Add driver for Pciide (requires Pciide.sys and Pciidex.sys in Drivers directory) [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesPCIIde] “ErrorControl”=dword:00000001 “Group”=”System Bus Extender” “Start”=dword:00000000 “Tag”=dword:00000003 “Type”=dword:00000001 “ImagePath”=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00, 52,00,49,00,56,00,45,00,52,00,53,00,5c,00,70,00,63,00,69,00,69,00,64,00,65, 00,2e,00,73,00,79,00,73,00,00,00 ********** End copy here **********


  1. In Microsoft Windows Explorer, right-click the Mergeide.reg file, and then click Merge.The OS displays the following message:

    Are you sure you want to add the information in Mergeide.reg to the registry?

    Click Yes.



Windows 7 performance information

If you have noticed a decrease in performance on your shiny Windows 7 system try looking in the performance information and tools section within the control panel.

Within this control panel you can rate your computers performance, change your indexing, adjust visual settings.

If you click on advanced tools you open up another panel which will provide performance monitors and will also detail any performance issues detected on the system and recommend fixes.image

My videos on Windows 7 features and Application Compatibility

A couple of videos about how cool Windows 7 is and why you should migrate from XP to 7

Video: Why move from Windows XP to Windows 7

Why you should move from Windows XP to Windows 7


Quick video I produced for the Save SAM competition from Microsoft UK. Please be kind 🙂

To find out more about the competition click here..…

Please click on the video. Thanks

PowerShell Module 3.0 for Intel vPro Technology

Intel has released V3 of its vPro Powershell module.

The module has been updated to include a provider. Here is an extract from the website.


The 3.0 version of the Intel(r) vPro(tm) Technology module for Microsoft* PowerShell* has just released. Microsoft’s implementation of Windows PowerShell allows IT professionals to achieve greater control and productivity of their environment through a powerful command line shell and scripting language. Within this scripting language’s consistent syntax and utilities the PowerShell Module for Intel vPro Technology will allow IT professionals to extend their PowerShell reach to include direct manageability of Intel Core vPro Processor clients independent of power state or Operating System health.

This release of the PowerShell Module for Intel vPro Technology includes the following features in addition to all the features from prior releases:

Powershell Drive Provider for Intel(r) vPro(tm) Technology
The PowerShell Drive provider enables the ability to "map" Powershell logical data stores the same as PowerShell physical data store such as a network drive or a directory on the local computer. Supporting Intel Active Management Technology(AMT) as a PowerShell Drive provides IT Professionals an easy, scriptable mechanism to interact with Intel(r) AMT Logs, 3PDS, and Configuration Settings.

Secure Credential Storage
Provides credential management for Intel(r) vPro(tm) devices. Enables secure storage of Intel(r) Active Management Technology credentials for automated access. Intel (r) AMT or Kerberos credentials can be stored into secure Powershell storage for retrieval later. Allowing credentials to be safely stored allows an operator can run Cmdlets without having to know what the Intel(r) AMT credentials are.

One-to-Many IDE-Redirection
New CmdLets (Start-AMTIDER, Get-AMTIDER, Stop-AMTIDER) enable multiple concurrent IDE-Redirection sessions.

User Consent
New CmdLets (Start-AMTUserConsent, Get-AMTUserConsent, Stop-AMTUserConsent) enable user consent features in Intel(r) vPro(tm) Technology.

The following new CmdLets are available:







-Get-AMTUserConsent, Start-AMTUserConsent, Stop-AMTUserConsent

-Write-AMTCredential, Read-AMTCredential


Find out more here..

UPDATE: Just had this link sent to me from Intel as the site isn’t displaying the link.



More posts on this coming soon

Troubleshooting MDT deployments with Trace32

Checking the logs during a deployment using MDT is a very powerful way to solve problems encountered during a build.

In older versions of MDT and BDD the deployments always came with a command prompt so you could at least work out something out.

With MDT 2010 that command prompt was taken out. Now to get a command prompt a user would have to press F8.

By looking at the logs we can find out a lot of information about your deployment.

The easiest way to view the logs is to use Trace32, Trace32 is a tool mainly used for SCCM deployments you can find it here within the System Centre Configuration Manager 2007 Toolkit V2 – You can find it here…

As you may know, when a deployment fails, it usual comes with a pink screen with some unrecognisable numbers and nothing else. By looking at the logs we can find out a lot more about the issues encountered during a deployment.

The deployment logs can be found in the following locations.

During deployment – before partition


During deployment – after partition


Once deployment ends


By using trace32 you can get meaningful logs instead of the normal jumble of words within a notepad.


How to add Trace32 to the litetouch image

Create a directory called Extras within your deployment share, and add the trace32 file to it.

Within MDT open the deployment share properties.

Within the Windows PE settings add the path to your extras folder within the extra directory to add field.

Click apply and regenerate your deployment share. Replace your boot images in WDS etc.

The next time you boot into PE, press F8 and type cd

Then open trace32 from that directory. You can then browse to your log files and see your logs populate in real time.

Dynamically viewing logs from a remote share

MDT has a property which allows logs to be added to a remote share.

By adding the following line to the customsettings file or to the deployment database, you can view your logs remotely.



Using these tools have helped me to troubleshoot my deployments, hopefully they should solve your deployment issues.

Changing network location awareness service with Powershell

My infrastructure currently uses Mcafee VirusScan Enterprise 8.7i as our AV solution

Since upgrading to 8.7i we have experienced slow login times. Turns out there is a problem with the NLA service when it is set to Manual. Here is an explanation from Mcafee

A computer running VirusScan Enterprise 8.7i is slow in starting up due to mfevtps.exe certification authenticity checks.
and the Network Location Awareness service contribute to slow computer startup times (between one and three minutes). If either of these is removed, startup is much faster.
To increase security, the McAfee Validation Trust Protection Service ( Mfevtps.exe) utilizes APIs from Microsoft’s Crypt32.dll. Some of the APIs in this library make network calls as part of their routine procedures and so, when the Network Location Awareness service is not yet started, a delay occurs each time Mfevtps.exe attempts to use these functions . When the Network Location Awareness service is already running, no delay is experienced.
McAfee is investigating this issue. As a temporary measure, implement the workaround shown below.

  1. Click Start, Run, type services.msc and press ENTER.
  2. Right-click Network Location Awareness.
  3. Modify the Start type to Automatic.
  4. Restart the computer.
  5. ___________________________________________________________________________

    SO the workaround is to set NLA to Automatic.
    Now how do we do this in Powershell?
    By using a couple of different Cmdlets we can find a service, and change its startup type in one line.

get-wmiobject –class win32_service -Filter “name = ‘NlaSvc'”|Where-Object {$_.startmode -eq ‘Manual’}|Set-Service -StartupType Automatic


This line will find the NlaSvc service using Get-Wmiobject – Pipe to

Where object to find if the objects startmode is set to Manual – then Pipe to

Set-Service to set the startuptype to Automatic

How to run this remotely on many machines

To find the Nla service and change the startup type on multiple machines. I would use the following command:

Note the –asjob and –throttlelimit parameters, these parameters are very handy when dealing with remote wmi queries against multiple machines.

$job = gwmi win32_service –ComputerName (Get-Content C:servers.txt) -ThrottleLimit 10 –AsJob -Filter “name = ‘NlaSvc'”|Where-Object {$_.startmode -eq ‘Manual’}|Set-Service -StartupType Automatic

A bit of a mouth full, but gets the job done. And anyway, try manually setting the start up type of a service on a few thousand machines.

You will soon turn to Powershell

    As usual, hope this helps somebody. Any comments would be grateful.