Jump to content


Sign in to follow this  
matt_isda_bomb

XP Deployment Issues

Recommended Posts

HI Guys,

 

I'm literally pulling my hair out with this one!

 

I have created an image using SCCM on a VMWware virtual machine (so no HAL/driver issues)

 

I am now attempting to deploy the image to HP DC7800. As soon as the machine reboots after the Setup Windows and ConfigMgr TS step. It goes just reboots even before the XP splash screen. If i press F8 during boot up into advanced boot up and select "No reboot on error" i can see the STOP error 0x000007B.

 

I have tried everything recreating Driver packages, removing mu Nlite built XP Files and replacing with normal XP files. I have implemented categories and have an Apply Driver Package and Apply Device Drivers TS step.

 

I have also switched off RAID mode in the BIOS and use IDE instead, still get the same error. I have also put in the BIOS fix OSDDiskpartBiosCompatibilityMode=TRUE.

 

I've attached an SMSTS.log

 

This below is from SCCM report.

"The task sequence execution engine successfully completed the action (Apply Device Drivers) in the group (Install Operating System) with exit code 0 Action output: 5988AE59F9D36E63EBC52913B22C28_72FBC442A267FE46E66EE739FF03179649C49C04 (SMS Driver Rank = 0x0001) Driver "High Precision Event Timer" has already been installed. Failed to find a suitable device driver for device 'HID\VID_050D&PID_0119&MI_00\7&33543E70&0&0000'. Ranking compatible drivers for IDE Controller SCOPEID_0FADB8DF-4D53-45E0-9EC1-DF86012F9B47/DRIVER_4995498348C395CA471F508ADBCF5467D1C1E226_72FBC442A267FE46E66EE739FF03179649C49C04 (SMS Driver Rank = 0x2001) SCOPEID_0FADB8DF-4D53-45E0-9EC1-DF86012F9B47/DRIVER_EA91CCCCF1EFDEB3D57DC742DE92CD2F839A4B25_9AAE6CF85E96E6CD7B09BA9982654A69D90A3596 (SMS Driver Rank = 0x2001) Driver "Intel® ICH9 4 port Serial ATA Storage Controller 1 - 2920" has already been installed. Driver "Intel® ICH9 4 port Serial ATA Storage Controller 1 - 2920" has already been installed. Failed to find a suitable device driver for device 'ACPI\PNP0200\4&38240245&0'. Failed to find a suitable device driver for device 'ATA Channel 1'. Exiting with return code 0x00000000. "

 

 

 

Please someone help I'm totally stumped!!

smsts.log

Share this post


Link to post
Share on other sites


hi can you show me a screenshot of your Apply Driver Package step, and what hardware are you deploying this onto (laptop/desktop ?)

Share this post


Link to post
Share on other sites

HI AnyWeb,

 

Thanks for your quick reply, and nice one on all the brilliant guides that you've put out. I've based pretty much my entire SCCM deployment on your guides :)

 

I've attached the screenshot and this PC is a HP DC7800 Small form factor Desktop PC.

 

Also last night i attempted to do a Build from a fresh XP, but got the error "File \$WIN_NT$."BT\$OEM$\iastor.sys could not be loaded. The error code is 4. Setup Cannot continue, Press any key to exit."

 

I have also now used nlite to slipstream the AHCI driver into the XP Image (I know its not recommended), and i get the same error "File \$WIN_NT$."BT\$OEM$\iastor.sys could not be loaded. The error code is 4. Setup Cannot continue, Press any key to exit."

 

Hope you can help!

 

Cheers

Matt

post-5653-12868642427713_thumb.png

Share this post


Link to post
Share on other sites

thanks Matt,

 

verify that your sysprep.inf, unattend.txt files don't reference any mass storage device drivers and try again, I wou;ldn't use nlite'd media, it will cause you headaches, guaranteed, stick with original media and resolve the issues one by one, you'll thank yourself for it later.

 

are you sure that the chipset values are correctly set in your apply driver package step (i don't have that hardware to verify)

 

if you manually install xp on one of those desktops you can verify the sata controller settings in device manager by looking at this post

 

cheers

niall

Share this post


Link to post
Share on other sites

Hi Niall,

 

I am actually using one myself, built with Windows 7 on it. Here is a screenshot of my device manager and i've attached the TXTSETUP.OEM. I'm a bit confused, i assume that the PCI\VEN name is set on the hardware so no matter what OS you use it should be the same? If i try to find the PCI\VEN value in the textsetup.oem file it isn't there?

 

PCI\VEN_8086&DEV_2920&CC_0101

 

I found one for

 

[HardwareIds.scsi.iaAHCI_ICH9R]

id = "PCI\VEN_8086&DEV_2922&CC_0106","iaStor"

 

Is it worth modifying that line. It is worth noting that i downloaded this driver directly from HP's site for DC7800 SFF XP Pro.

 

As far as sysprep.inf goes i don't have one anymore, i deleted it so it shouldn't have any record of it or Unattend.txt.

 

Cheers

Matt

post-5653-12868697928747_thumb.png

txtsetup.zip

Share this post


Link to post
Share on other sites

Hi Niall,

 

I am actually using one myself, built with Windows 7 on it. Here is a screenshot of my device manager and i've attached the TXTSETUP.OEM. I'm a bit confused, i assume that the PCI\VEN name is set on the hardware so no matter what OS you use it should be the same? If i try to find the PCI\VEN value in the textsetup.oem file it isn't there?

 

PCI\VEN_8086&DEV_2920&CC_0101

 

I found one for

 

[HardwareIds.scsi.iaAHCI_ICH9R]

id = "PCI\VEN_8086&DEV_2922&CC_0106","iaStor"

 

Is it worth modifying that line. It is worth noting that i downloaded this driver directly from HP's site for DC7800 SFF XP Pro.

 

As far as sysprep.inf goes i don't have one anymore, i deleted it so it shouldn't have any record of it or Unattend.txt.

 

Cheers

Matt

 

Every time I get a 7B it's becuase I either didn't specify a mass storage controller, or I gave it the wrong one. If you downloaded the driver direct from HP, it doesn't mean that you have the correct one. Textmode setup drivers usually contain drivers for more than one controller, so not only do you have to find the right package, you have to specify the correct dirver. This is how I do it:

 

1. Download the driver from the vendor. Copy it to a network location -- what I call the driver repository. They are stored in a directory like this:

\\Server\Share\SCCM\Drivers\<Make>\<model>\<os>_<arch>\<hardware> or

\\Server\Share\SCCM\Drivers\HP\DC7800\WinXP_x86\Mass_Storage

 

2. I then run a script on the machine. It generates a text file and tells me a little bit about the hardware. It also generates a WMI query from the BIOS that helps me identify the machine later. I'll attach the script below.

 

3. I rename the text file that the script generates to <os>_<arch>_<make>_<model>. In this case, WinXP_x86_HP_DC7800

 

4. I copy the text file into each of the drivers that I've copied to in step 1 -- usually it's just the Mass Storage Driver, but sometimes it's a NIC too. Putting this file into the directory makes it unique to SMS so I can have multiple copies of it for different pieces of hardware. This is important since I don't use the Auto Apply Drivers.

 

5. I have folders in my Driver Packages that break the driver packs up by OS and Architecture. Something like this:

WinXP_x86

Win7_x86

Win7_x64

 

I will create a new driver package in the apropraite folder. The name is based on the machine type and model. In this case, I would create:

WinXP_x86\HP_DC7800

 

 

4. I have duplicated the folders from my Driver Packages into the Drivers Folder. This helps me keep drivers organized. I then import the drivers into the apropriate folder and assign them to the correct driver package. I never assign them to boot media becuase, if the import fails, it can cause problems with your boot media. I do that manually if necessary (and with XP, it's usually not necessary).

 

5. Make sure you assign and update a distribution point for your driver package -- if you don't, it will fail to deploy the driver later!!

 

6. Now I edit my task sequence. I add a Drivers > Apply Driver Package task named (in this case) HP_DC7800. I put a check in [x] Select the mass storage driver within the package that needs to be installed before setup on Pre-Vista operating systems and choose the Driver. Under the driver drop down, I usually see two drivers. One of them is a RAID controller, and I don't usually select this one. I then refer to the text file that the script generated in step 2. This helps me pick the right model.

 

7. I now click the options tab of the task I just added. I add a new condition and choose Query WMI. I then paste the query from the text file generated in step 2. This makes sure it will only apply to this model of machine.

 

I now PXE boot and deploy the OS to the machine. After the WIM is deployed, the drivers will be injected by the Apply Driver Package task. It will then inject the correct driver and (hopefully) prevent the Stop 7B error from occurring.

 

Hope this helps!

 

' OSD New Machine Prep
'   This script will collect certain information that is required
'   and/or helpful to quickly add a machine to OSD.
' ================================================================================
Option Explicit
 Dim report        : report        = ""
 Dim wmiModelQuery : wmiModelQuery = ""
 Dim model         : model         = ""
 Dim manufacturer  : manufacturer  = ""
 Dim reportName    : reportName    = ""
 Dim storageReport : storageReport = ""
 Dim NICReport

 wmiModelQuery = getWMIQuery
 reportName = manufacturer & "_" & model & ".txt"
 storageReport = GetStorageReport
 NICReport     = GetNICReport
 buildReport

 saveReport

Sub SaveReport()
 Dim oFSO
 Dim Result
 Dim oFile

 Set oFSO = CreateObject("Scripting.FileSystemObject")

 If oFSO.FileExists(reportName) then
    Result = msgbox ("Report already exists: " & reportName & vbcrlf & vbcrlf & "Would you like to overwrite it?", vbYesNo + vbQuestion, "Save Report")

 If result = vbNo then
    reportName = inputbox("Please enter a new name for the report:", "Save Report:", reportName)
	SaveReport
	wscript.quit
 End If

    oFSO.DeleteFile(reportName)
 End If

 oFSO.CreateTextFile(reportName)
 Set oFile = oFSO.OpenTextFile(reportName, 2)
 oFile.Write Report
 oFile.close

 msgbox "Report was saved as" & vbCrlF & reportName, vbOkOnly + vbInformation, "Save Report:"
 wscript.quit

End Sub


Sub buildReport()  
 report = report & "OSD Deployment Information" & vbCrLf 
 report = report & "[" & reportName & "]" & vbcrlf
 report = report & "Date: " & date & vbcrlf
 report = report & "===============================================================================" & vbcrlf
 report = report & "|WMI Query|--------------------------------------------------------------------" & vbCrlf
 report = report & "This query is used to uniquely identify this machine type.  Drivers will be    " & vbcrlf
 report = report & "assigned based on the results of this query.                                   " & vbcrlf
 report = report & "-------------------------------------------------------------------------------" & vbcrlf
 report = report & "" & vbcrlf
 report = report & "===============================================================================" & vbcrlf
 report = report & wmiModelQuery & vbcrlf
 report = report & "===============================================================================" & vbcrlf
 report = report & vbcrlf
 report = report & "|Storage Controllers|----------------------------------------------------------" & vbcrlf
 report = report & "The following table shows a list of storage controllers in this workstation.   " & vbcrlf
 report = report & "It can be used to help identify a storage controller for legacy OS Deployment. " & vbcrlf
 report = report & "-------------------------------------------------------------------------------" & vbcrlf
 report = report & vbcrlf
 report = report & storageReport
 report = report & vbcrlf
 report = report & "|NIC Configuration|------------------------------------------------------------" & vbCrLF
 report = report & "The following is a list of all network controllers in this machine.            " & vbCrLF
 report = report & "-------------------------------------------------------------------------------" & vbcrlf
 report = report & NICReport
 report = report & vbcrlf



End Sub  

Function GetWMIQuery()
 Dim objWMIService
 Dim colSettings 
 Dim objComputer
 Dim Query

 Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
 Set colSettings = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem")

 For Each objComputer in colSettings
     query = "Select * From Win32_ComputerSystem Where Manufacturer=" & chr(34) & _
             objComputer.Manufacturer & chr(34) & " AND Model=" & chr(34) & _
             objComputer.Model & chr(34)

		  manufacturer = objComputer.Manufacturer 
		  model        = objComputer.Model 

  getWMIQuery = query
 Next
End Function

Function GetStorageReport()
 Dim strComputer   : strComputer = "." 
 Dim objWMIService
 Dim colItems
 Dim objItem
 Dim buffer        : buffer = ""

 Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
 Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_IDEController",,48) 

 For Each objItem in colItems 
   Buffer = buffer & "Caption      : " & objItem.Caption & vbcrlf
   Buffer = buffer & "   Device ID : " & objItem.DeviceID & vbcrlf
Buffer = buffer & vbcrlf
Next

 GetStorageReport = buffer

End Function

Function getNICReport()
 Dim objWMIService
 Dim colItems
 Dim objItem
 Dim Buffer        : buffer = ""

 Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") 
 Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter",,48) 

 For Each objItem in colItems 
   Buffer = buffer & "Caption        : " & objItem.Caption  & vbCrLf
Buffer = buffer & "  Manufacturer : " & objItem.Manufacturer & vbCrLF 
Buffer = Buffer & "  Device ID    : " & objItem.PNPDeviceID & vbCrLF  
   Buffer = buffer & vbCrLf	
 Next  

 getNICReport = Buffer
End Function

Share this post


Link to post
Share on other sites

Like NDPetty, i'm having issues with this too. Installing XP on the HP DC7800 SFF, I know the image works as it works with a HP 8000 Elite SFF. I'm using SCCM 2012. I assume my issue is a combination of having the incorrect Mass Storage Driver defined in the Driver Package or the BIOS config is incorrectly set.

 

There are 2 choices in the BIOS, RAID or Emulated IDE.

 

If i boot in safe mode after a failed OSD deployment attempt, it doesn't make it pas iastor.sys.

 

If i look on a machine that has XP installed correctly, the device manager looks the same as matt_isda_bomb's post.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...