Jump to content

Recommended Posts

Posted

Hi,

I have a couple issues that I hope someone can assist with.

I setup Win7 on a VM and manually captured an image with Imagex successfully. When I drop that image on to a different VM on the same physical machine the imaging process completes successfully however at bootup I get the NTLDR is missing” error

Commands:

Capture: imagex.exe /flags "Enterprise" /capture /compress maximum c: IMAGE.wim "Win7 Image"

Deploy: imagex.exe /apply IMAGE.wim 1 C:)

I know that the VM is going to only have basic drivers and I wouldn’t be surprised if it didn’t drop on physical hardware, but shouldn’t it drop onto another VM on the same machine that first VM was created on? A NTLDR error is often indicative of a missing storage controller driver but both the original source VM and the target VM I dropped the image on should have the same storage controller because they are on the same physical hardware, right?

My goal is to be able to drop this image on physical hardware using MDT 2010. This brings me to the second issue. The hardware that I am working with is the HP Z400 workstation. I created the original VMs and image on a Z400 and via MDT I am trying to drop the image on to another identical Z400.

I know that my MDT task sequence and imported drivers are working because I can successfully drop a different custom Win7 image on to a Z400 using MDT. I imported the new VM image (Image.wim) in to MDT and changed the operating system in the working Win7 task sequence to the new VM image. (Task Sequence Properties > Check Disk Label (OSDisk > Install > Install Operating System..and then Browse to the imported VM image). I boot the client pc to the MDT PE environment, choose the task and the imaging process begins. The setup process continues for a while and then the system reboots. Normally the setup process should pick up where it left off continue but in this case Windows starts to load and then resets about 3 seconds after you see the Windows7 logo and ‘Starting Windows’. Now the system reboots in a continuous loop.

I thought the problem might be due to that I did not initially sysprep the machine before capturing the image. So to rule that out I created a new Sysprep/Capture task in MDT, booted the VM to the PE environment and captured a new image using the new Capture Task Sequence. I imported the new sysprepped .wim and then I point the same working Win7 task sequence to it. Now when I deploy the new sysprepped image the imaging process goes for a while and then fails with this MDT Error:

Windows could not parse or process the unattend answer file for pass [specialize]. The settings specified in the answer file cannot be applied.

The error was detected while processing settings for component [Microsoft-Windows-Shell-Setup].

The only logs with relevant errors are Setupact.log and Setuperr.log

From Setupact.log

UnattendErrorFromResults: Error text = Windows could not parse or process the unattend answer file for pass [specialize]. The settings specified in the answer file cannot be applied. The error was detected while processing settings for component [Microsoft-Windows-Shell-Setup].

IBSLIB PublishCriticalError: Publishing critical error message [Windows could not parse or process the unattend answer file for pass [specialize]. The settings specified in the answer file cannot be applied. The error was detected while processing settings for component [Microsoft-Windows-Shell-Setup].]

From Setuperr.log

2010-10-25 13:31:13, Error [setup.exe] [Action Queue] : Unattend action failed with exit code 4

2010-10-25 13:31:13, Info [setup.exe] [Action Queue] : ProcessActionQueue finish (hr = 0x1f2000)

2010-10-25 13:31:13, Error [setup.exe] Execution of unattend GCs failed; hr = 0x0; pResults->hrResult = 0x8030000b

2010-10-25 13:31:13, Info [0x0606cc] IBS Flushing registry to disk...

2010-10-25 13:31:15, Info [0x0606cc] IBS Flush took 1513 ms.

2010-10-25 13:31:15, Warning IBS Callback_Unattend_InitiatePass: Runtime error occurred while applying unattend answer file; hrResult = 0x8030000b

2010-10-25 13:31:15, Info IBS UnattendErrorFromResults: Hit an unattend error; dumping any info we have about the failure...

2010-10-25 13:31:15, Info IBS UnattendDumpSetting: ------Unattend setting error / warning------

2010-10-25 13:31:15, Info IBS UnattendDumpSetting: Error code = 0x8030000b

2010-10-25 13:31:15, Info IBS UnattendDumpSetting: Pass = specialize

2010-10-25 13:31:15, Info IBS UnattendDumpSetting: Component name = [Microsoft-Windows-Shell-Setup]

2010-10-25 13:31:15, Info IBS UnattendDumpSetting: --------------------------------------------

2010-10-25 13:31:15, Info IBS UnattendErrorFromResults: Error text = Windows could not parse or process the unattend answer file for pass [specialize]. The settings specified in the answer file cannot be applied. The error was detected while processing settings for component [Microsoft-Windows-Shell-Setup].

2010-10-25 13:31:15, Info IBSLIB PublishCriticalError: Publishing critical error message [Windows could not parse or process the unattend answer file for pass [specialize]. The settings specified in the answer file cannot be applied. The error was detected while processing settings for component [Microsoft-Windows-Shell-Setup].]

2010-10-25 13:31:15, Info [0x0a013d] UI Accepting Cancel. Exiting Page Progress.

2010-10-25 13:31:15, Info [0x0a013e] UI Current and destination pages are the same. Aborting navigation.

This is the content of the Microsoft-Windows-Shell-Setup section in the unattend.xml file. The product key is correct. I will replace it with X’s for privacy

- <settings pass="specialize">

- <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">

- <Identification>

- <Credentials>

<Username />

<Domain />

<Password />

</Credentials>

<JoinDomain />

<JoinWorkgroup>Workgroup</JoinWorkgroup>

</Identification>

</component>

- <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">

<ComputerName>QCTWIN7Z400</ComputerName>

<ProductKey>XXXXX-XXXXX-XXXXX-XXXXX</ProductKey>

<RegisteredOrganization>My Company</RegisteredOrganization>

<RegisteredOwner>My Company</RegisteredOwner>

<DoNotCleanTaskBar>true</DoNotCleanTaskBar>

<TimeZone>Pacific Standard Time</TimeZone>

<CopyProfile>true</CopyProfile>

So two questions I guess…

1) Why can’t I drop the non-sysprepped image (created on a VM) back on to a different VM on the same computer.? This error is generated at startup ‘NTLDR is Missing’

2) Why can’t I deploy the non-sysprepped and the sysprepped images to another Z400? The non-sysprepped one gets stuck in a reboot loop after the first reboot and the sysprepped one stops due to a problem with the unattend.xml file.

Thanks for taking the time!


Posted

You need to sysprep /generalize an image for deployment. Why can't you do it? Its because Microsoft made Windows 7 deployment more versatile in comparison to XP Deployment. XP was dependent on hardware, Windows 7 isn't, providing you do it properly. And by "properly" I mean you need to generalize the image.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...