Jump to content


Sign in to follow this  
CorradoGuy

Windows XP Gold Image not working on all machines

Recommended Posts

I am having a problem with my Windows XP image and I was hopeful someone could help me with this. We ise a mix of Lenovo machines and Dell T3400/T3500 machines so I wanted to build a base image to work on all machines. I have looked at all of our machines and they all have ACPI BIOS's so I thought I could use a basic machine to use as they seem to use the same HAL. We are using Dell T3400/T3500 machines and Lenovo T60, T61, T400, T410, T420, X200, and X201 laptops and Lenovo S50, S51, M52, M55, M57, M58, M90 and M91 desktops. I decided to use a T60 laptop to create my base image and loaded no drivers and used SCCM to build the image and inject our default software such as Office and so forth. I had to manually add some software so I didn't use SCCM to capture the image and instead used Imagex to capture it.

 

So here's the problem, all of these machines work great with the exception of the oldest machines which are the S50 and S51. All of the other machines use newer SATA controller drivers starting with the ICH7 and in the BIOS I can set all machines to either AHCI or Compatability mode through the BIOS with the exception of the S50 and S51. On these three machines I only have the choice of enabling 'Serial ATA' and choosing Native Mode Operation with 'Automatic' or 'Serial ATA.'

 

I know my problem is with the hard drive driver as the machine will take the image and once it reboots the OS starts to load and then it blue-screens and reboots. I am not sure how to get these older guys to image, I don't think it is a HAL issue although I may be wrong on this one. After reading a lot of different posts I created my task Sequence for these machines as per most guides but I had to partition the disk in Compatability Mode using MDT variable 'OSDDiskpartBiosCompatibilityMode' and then force the AHCI driver as per this thread.... http://usjensen.wordpress.com/2008/12/08/how-i-handle-boot-critical-drivers-mass-storage-drivers-for-windows-xp-in-configmgr-os-deployment/

 

I have tried to get these 2 machines to boot in Serial ATA mode or in regular mode and it fails to boot after the image is applied. There are no specific ATA drivers on these machines so I tried to force the chipset drivers into these machines as the ATA drivers are included in there and same thing. I know I am missing something so I was hopeful that someone could help. The machines use the following Ultra AHA Storage controllers....

 

S50: Intel 82801EB

S51: Intel 82801FB

 

Thanks, Dennis

Share this post


Link to post
Share on other sites


I am pretty sure this issue is with the ATA controller and how it is implemented on these older systems. My image was based off of an IBM/Lenovo T60 and I looked at the HAL on the T60 and the S50, S51, and M52 (this machine fails as well, I tested it yesterday with the same results) and they all use the same one. On each machine the HAL being used is 'acpiapic_mp' so I do not think this is the issue. I am sure if I created another image based off of the machine listed above it would work for these three problem machines but I have gotten 15 machines to work off of the same image so I would like to add these as well instead of having a second image for 3 machines.

 

The machine will reboot after the image is applied and then blue-screen really quickly and go through a constant boot-blue screen-reboot sequence over and over. because it is not seeing the drive it is not leaving dump files I can go through and I tried boot logging with the same result, no drive - no useful information.

 

I have tried searching high and low for information the S50, S51, and M52 with OSD and there are few threads because these machines are so old.

Share this post


Link to post
Share on other sites

Do you have an option of using a virtual machine to capture your image from? The problem I'd assume is that the image has version x.x.x of the driver, and the older devices have to have an older version and simply can't run the newer one. Even though you may not have intentionally installed a driver when capturing your image, Windows may have in order to function. If using a VM is not an option, try using your oldest machine to capture the image. You should have better luck with newer drivers overwriting older ones. Also, when I used to capture XP images I always blew away any C:\Windows\inf\oem*.inf files (where "*" is a single digit number) that had gotten added as I set up the reference system. So you might try deleting those from the .WIM and see what happens (first back up your .WIM somewhere of course)

 

And lastly, since XP is phasing out, decide how much time you need to spend on it, and maybe skip some work and retain two images - one for older stuff that the first image won't work with. Just my two cents though...

Share this post


Link to post
Share on other sites

Do you have an option of using a virtual machine to capture your image from? The problem I'd assume is that the image has version x.x.x of the driver, and the older devices have to have an older version and simply can't run the newer one. Even though you may not have intentionally installed a driver when capturing your image, Windows may have in order to function. If using a VM is not an option, try using your oldest machine to capture the image. You should have better luck with newer drivers overwriting older ones. Also, when I used to capture XP images I always blew away any C:\Windows\inf\oem*.inf files (where "*" is a single digit number) that had gotten added as I set up the reference system. So you might try deleting those from the .WIM and see what happens (first back up your .WIM somewhere of course)

 

And lastly, since XP is phasing out, decide how much time you need to spend on it, and maybe skip some work and retain two images - one for older stuff that the first image won't work with. Just my two cents though...

 

Thanks for the input, I use VMWare Workstation for Windows 7/Vista and it works great but Windows XP is a pain to get configured. I have set-up a TS to do a build and capture on VMWare and it blue-screens as well so I thought a physical machine would make life easier. The physical machine works pretty well and it is the oldest machine we have that is still running a SATA drive. I may try a build and capture with one of my old machines to see how well that works with the newer hardware.

 

When I built the T60 for the master image it is a basic Windows XP build with only the network and AHCI driver installed and no hardware drivers other than those that come with a default Windows XP build. I did check the 'C:\Windows\inf' folder on the master machine and there are no subfolders under the main one and the same with the Wim. I had read people had issues with HAL and VM's so I decided I would avoid it for now by basing the machine off of the physical machine and not virtual.

 

I decided to try creating a Mass Storage list in sysprep but the machine doesn't make it to Sysprep so this is not really going to work either. I copied my working TS and have made a few changes and when I go through the SMSTS logs it looks like the ATA driver is not making on the M52 which I just started testing...

 

Driver "Intel® N10/ICH7 Family Serial ATA Storage Controller - 27C0" has already been installed. OSDDriverClient 6/30/2011 1:31:15 PM 1764 (0x06E4)

 

Preparing to install driver "Intel® N10/ICH7 Family Serial ATA Storage Controller - 27C0". OSDDriverClient 6/30/2011 1:31:16 PM 1764 (0x06E4)

 

Resolving content for driver "Intel® N10/ICH7 Family Serial ATA Storage Controller - 27C0" OSDDriverClient 6/30/2011 1:31:16 PM 1764 (0x06E4)

 

Successfully installed driver "Intel® N10/ICH7 Family Serial ATA Storage Controller - 27C0". OSDDriverClient 6/30/2011 1:31:19 PM 1764 (0x06E4)

 

Driver "Intel® N10/ICH7 Family Serial ATA Storage Controller - 27C0" has already been installed. OSDDriverClient 6/30/2011 1:31:19 PM 1764 (0x06E4)

 

Failed to resolve content for driver "Intel® 82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller - 27C0". Code 0x80040102 OSDDriverClient 6/30/2011 1:31:20 PM 1764 (0x06E4)

 

Preparing to install driver "Intel® 82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller - 27C0". OSDDriverClient 6/30/2011 1:31:20 PM 1764 (0x06E4)

 

Resolving content for driver "Intel® 82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller - 27C0" OSDDriverClient 6/30/2011 1:31:20 PM 1764 (0x06E4)

 

Failed to resolve content for driver "Intel® 82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller - 27C0". Code 0x80040102 OSDDriverClient 6/30/2011 1:31:20 PM 1764 (0x06E4)

 

It would seem it finds the base driver but isn't finding the advanced driver and the error message I am getting is a content error but I don't have any packages built for this. The ATA driver comes in the chipset package on these machines as there is no AHCI drive available but it is not seeing it.

 

I think the end of life is around 2014 for Windows XP so it will still be around for a bit so it would be nice to get this all working. I still have MDT going so it is not like I can't image them machines but it would be nice to get 1 image working with all machines. I will have to dig a little deeper on the driver side and see if I can import the chipset drivers for the desktops and see what happens.

 

Thanks for the feed-back and I will post what I find.

Share this post


Link to post
Share on other sites

So I gave this another try, I thought that I would do a build and capture on the IBM S50 and see if I could push this image out to the newer machines but it blue-screened during the build. I think my problem is with the hard drive controller drivers but oddly enough these are not listed on the Lenovo site. I will give it another try with just the Windows CD and see if it will take it that way.

Share this post


Link to post
Share on other sites

When setting up the XP VMware machine, make sure to select "Windows XP Professional" from the OS drop-down menu. Then, once you get it finished, go to the Hardware tab and select the NIC. Try switching it to "Bridged:Connected directly to the physical network". See if that helps. Other than that, I pretty much use the same steps that I use for setting up my Win7 VMs (http://myitforum.com/cs2/blogs/rbennett806/pages/using-sccm-to-capture-and-deploy-windows-7.aspx)

 

And concerning the INF note... You're not looking for a subfolder, but "OEM#.inf" and "OEM#.pnf" files within the "C:\Windows\INF" directory....

Share this post


Link to post
Share on other sites

Thanks for the help with this, I have just gotten the M52 to boot from my Gold image so it is happy times. The bad part is I am not 100% sure at this moment what fixed it. I deleted all of the "OEM#.inf" and "OEM#.pnf" files from C:\Windows\INF so this may be the fix. I have also added the MassStorage switch in the sysprep.inf file.....

 

[sysprepMassStorage]

PCI\VEN_8086&DEV_27C0=C:\Drivers\M52\ATA\ich7ide.inf

 

One of the two of these settings have corrected the issue so on Monday I will try a S50/S51 with no changes and if it works the OEM#.inf/pnf did the trick and if it fails the changes to sysprep.inf made the difference.

 

Thanks for the help, Dennis

Share this post


Link to post
Share on other sites

Odd, I got the M52 to work but when I test the S50 and the S51 they both fail.

 

Bummer, I've deployed an S51 but I was using smartdeploy platform packs. There is a multiple OS pack for the S51 on the smartdeploy downloads page. There's nothing for the S50. Maybe you could dig thru there and find out what you're missing. There's a free trial or there are binaries that are free if you're up for some vbscript. Post back if you figure it out.

 

jofus.

Share this post


Link to post
Share on other sites

Just to bring this thread to a close I did get all of our machines to image off of one Windows XP image.

 

The first step was to ensure all machines used the same HAL which ours did, they are all ACPI Multiprocessor machines so there was no messing around with the HALs on these machines. You can check this by opening the Device Manager and under 'Computer' you can see what HAL is installed.

 

The second step was to find the AHCI drivers for each machine and add an extra line in the sysprep.inf that pointed to the specific driver for the machine. To do this I got the AHCI drivers from Intel but you could use the OEM ones as well. I created the following entries in the sysprep.inf and then added the drivers in the C:\Drivers folder.

 

[sysprepMassStorage]

PCI\VEN_8086&DEV_2825=C:\Drivers\Lenovo\M55\ATA\ich78ide.inf

PCI\VEN_8086&DEV_27C0=C:\Drivers\Lenovo\M52\ATA\ich7ide.inf

PCI\VEN_8086&DEV_24DB=C:\Drivers\Lenovo\S50\ATA\ich5ide.inf

PCI\VEN_8086&DEV_2651=C:\Drivers\Lenovo\S51\ATA\ich6ide.inf

 

The last step I made was to add the following entry to have the machine go through and build the driver list....

 

[sysprep]

BuildMassStorageSection=Yes

 

In the end that was all it took, for the machines that SCCM couldn't inject the AHCI drivers I simply remotely connected to an existing machine and found the PCI\VEN number and then supplied its driver. I created a program in C# to do all of the finishing steps with the machine and delete the temp files and the drivers folder then assign the machine to the user and delete/modify the user accounts on the machine. I also do all of the steps recommended in this thread as well as a number of other steps to clean the base image up which I found on in a number of threads I found on the internet. This thread is really good, there are about 7 parts and it is really good to read through this for machine prep.... http://remyservices.wordpress.com/2007/09/28/sysprep-in-depth-part-1-adding-drivers-to-our-image-pc/

 

Note: I do not set the local administrator password, if I set this in Sysprep SCCM fails to apply the Windows XP image. Instead I leave the password blank and have SCCM set it through my Task Sequence which works properly.

 

 

------------------------------------------------------------------------------------------------------------------------------------------------

 

;SetupMgrTag

[unattended]

OemSkipEula=Yes

InstallFilesPath=C:\sysprep\i386

UpdateServerProfileDirectory=1

NonDriverSigningPolicy=Ignore

TargetPath=C:\WINDOWS

KeepPageFile=0

[sysprep]

BuildMassStorageSection=Yes

[GuiUnattended]

AdminPassword=*

EncryptedAdminPassword=NO

OEMSkipRegional=1

TimeZone=4

OemSkipWelcome=1

[userData]

ProductKey=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

FullName="xxxxxxxxxx"

OrgName="xxxxxxxxxx"

ComputerName=PCCLONE

[TapiLocation]

CountryCode=107

[setupMgr]

DistFolder=C:\sysprep\i386

DistShare=windist

[identification]

JoinDomain=DomainName

DomainAdmin=DomainName\User

DomainAdminPassword=Password

[Networking]

InstallDefaultComponents=Yes

[sysprepMassStorage]

PCI\VEN_8086&DEV_2825=C:\Drivers\Lenovo\M55\ATA\ich78ide.inf

PCI\VEN_8086&DEV_27C0=C:\Drivers\Lenovo\M52\ATA\ich7ide.inf

PCI\VEN_8086&DEV_24DB=C:\Drivers\Lenovo\S50\ATA\ich5ide.inf

PCI\VEN_8086&DEV_2651=C:\Drivers\Lenovo\S51\ATA\ich6ide.inf

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...