7 Replies Latest reply on Aug 5, 2009 4:45 AM by koenhuntink

    Troubleshooting Hardware independent imaging rev 9.1 (ICH8R Raid controller)


      Dear reader,


      I'm trying to implement hardware independent imaging within our organization by using Landesk provisioning. Currently this works like a charm, but I'm encountering some problems with sata raid drivers. I cant get computers with raid enabled working properly.


      First off some information about my configuration.


      Currently we have Landesk version 8.8 with SP3 installed. For my image creation I used a "HP DC7700 Convertible minitower" system with the sata mode in IDE emulation.


      The hardware specs of the HP DC7700 are:


      Intel Core 2 duo 6300
      Intel Q965 express chipset (I think)

      Intel ICH8R Raid controller


      I have executed the following steps:


      1. Installed the system with Windows XP SP3 and sata mode in IDE emulation.
      2. Installed the latest windows updates,configured some windows settings and sysprepped the machine
      3. created an image with Imagew Version 2.06
      4. Implemented hardware independant Imaging rev 9.1 by following the attached documentation
      5. Created and tested the Landesk Provisioning task


      This configuration works like a charm. I tested this succesfully on 3 different systems with different hardware, but all three with ide(or sata in IDE emulation) But we also need sata drivers. I configured the DC7700 with a raid setup and started the provisiong task. After deployment of the image, the sysprep file and the other pre-configure tasks the machine reboots to start the mini-setup. The windows XP loading screen pop-ups for a second and the machine reboots again. After this reboot the "windows hasn't closed properly" screen pops-up where you can choose safe mode etc. This screens is then closed after 30 seconds and the system keeps repeating this process. I figured this was logical because there where no sata drivers in place.


      To get sata working I tried the following steps:


      1. Turned the IDE emulation of my DC7700 system off and configured it as raid and created a raid setup (tried 0 and 1)
      2. Installed Windows XP SP3 (used nlite to merge the sata drivers in the windows installation media)
      3. After installation I executed msdcaputure. The output of this is attached to this topic (msdcapture.zip)
      4. Created a MSD folder in the DC7700 driver folder, and placed the output of capturemsd here
      5. Created a sub-folder "windows" under the msd folder were I placed the cat files.
      6. Updated the Winpe image with the proper sata drivers
      7. Started the provisioning task again


      After the deployment of the image etc, the machine reboots and starts the mini-setup. The mini-setup now executes all tasks successfully and the machine reboots for the first run of Windows XP. During the booting I get the same problem as described before. The Windows XP loading screen pops-up for one second and the machine reboots again.


      I cant figure out what's causing this. The provisioning task works great on other hardware with IDE. The DC700 driver folder is also updated with the proper sata drivers, witch is working because without these the mini-setup doesn't start at all. So far I tried the following:


      1. Updated the reg file with all the pnp ID's in the inf files
      2. removed the cat files from the windows folder
      3. Removed all the pnp drivers to make sure there is no conflict
      4. removed al the drivers that require a setup to make sure there is no conflict.


      Do you guys have some pointers where I can troubleshoot next?


      Thanks in advance!


      I attached the following files.



      Msd capture

      The HP drivers

      The edited hp drivers(reg file)

      My provisiong template

        • 2. Re: Troubleshooting Hardware independent imaging rev 9.1 (ICH8R Raid controller)

          I also found out the following. The original HP drivers has the following files:









          The msdcapture program captured the following files:






          The reg File adds the following line to the register:




          The pci id pci#ven_8086&dev_2822&cc_0104 can only be found in the iaStor.inf (and not in the iaahci.inf) with the following line:


          ; ICH8R
          %PCI\VEN_8086&DEV_2822&CC_0104.DeviceDesc% = iaStor_Inst_RAID, PCI\VEN_8086&DEV_2822&CC_0104


          Is it possible this is the problem? Did msdcapture somehow captured the wrong inf file? Or the is the inf file irrelevant and does it only need the right sys file and the right pnp id's in the critical device database? I tried to add both inf files in the msd subfolder, unfortunately without any result. I would also like to found out how the reg file is made up. Is the Service part the name of the .sys file?


          I also found out the following. The machine where I installed windows on by using nlite, placed the the .inf files (iastor, iaahci) under "c:\windows\nldrv\0001" instead of the regular "c:\windows\inf" folder. Msd capture seems to capture iaaci.inf, So this doesn't seems te be a problem.

          • 3. Re: Troubleshooting Hardware independent imaging rev 9.1 (ICH8R Raid controller)

            I had just noticed the same thing. MsdCaputure has captured iaahci.inf, which applies to ahci mode. The correct inf file for RAID mode is iastor.inf. But is this the cause of your problem? Can't see how...


            This happens because MsdCapture makes no attempt to match the Hardware ID. The way CaptureMsd looks for an inf file is a best-effort job - look through all the inf files until it finds one with a matching service name (i.e. iastor.sys). In your case, that led to the wrong inf file being captured. That's "not nice", but as far as I'm aware, it should not be a problem. What matters to get the machine booted into mini-setup are the .reg and the .sys files. The .inf is not part of that equation. Whether the right or the wrong inf file is there or not there, I can't see by which mechanism it can make a difference as to whether the machine boots into mini-setup or runs into blue screen 7B. (This point has been disputed once or twice and if anybody has firm evidence to the contrary, please let me know).


            Nor "should" the inf file injected by injectmsd make much difference after the machine has got as far as booting successfully into mini-setup. I suppose it is "a good idea" to have an inf file (although nothing untoward seems to happen when you don't), but if you include SATA drivers among your PnP drivers, PnP should install the inf file.


            In your case, if I understand you correctly, the machine does boot into mini-setup. The machine runs all the way through mini-setup but then crashes on the post-setup reboot. Are you sure the reboot loop is caused by a blue screen 7B? It seems likely but do we really know?


            If indeed it is a blue screen 7B, then - sorry for stating the obvious - mini-setup did something that screwed up the SATA driver. You need to find out what. The first thing I would do to investigate things is reboot the target back into WinPE after mini-setup and run injectmsd again. InjectMsd got the machine in a bootable state first time round. If another InjectMsd after mini-setup restores the machine to a bootable state, then at least the world makes some sense again and we know what to focus on next...


            I would also like to fid out how the reg file is made up. Not sure what you really want to know but this is what roughly happens:

            • start from %SystemDrive%
            • find info about the underlying physical device, including driver name. For intel SATA, this is "iastor".
            • dump the matching items in critical device database (hklm\system\currentcontrolset\control\CriticalDeviceDatabase). Each subkey has a value = Service. All subkeys with a matching service are dumped to the output .reg file.
            • dump the matching service key, e.g. if driver name was iastor, dump hklm\system\CurrentControlSet\services\iastor.
            • The service key has a reference to the service binary (e.g. c:\windows\system32\drivers\iastor.sys). Capture the binary.
            • dump any matching event log subkeys, e.g. hklm\system\currentcontrolset\services\EventLog\system\iastor.
            • Find the inf file. Scan all the folders listed in the DevicePath registry key. Pick the first inf file that has a matching service name.
            1 of 1 people found this helpful
            • 4. Re: Troubleshooting Hardware independent imaging rev 9.1 (ICH8R Raid controller)

              Hi. I had a simialr problem with older HP laptops. We use the DC7XXX series desktops as well. I was able to find this vb script from Driverpacks.net: http://forum.driverpacks.net/viewtopic.php?id=3819. It allowed me to create the mass storage section of my sysprep file that i use to sysprep the image before running it throught the provisioning system. With this i was able to build the image and leave the SATA controler in native mode. It works on all my HP models with out any problems.


              I have attached a copy of my sysprep file for you too look at.



              • 5. Re: Troubleshooting Hardware independent imaging rev 9.1 (ICH8R Raid controller)

                Dear Jan and Titan zero,


                Thanks for your quick reply's! You're half right, the machine successfully walks trough mini-setup. Then on the "post-reboot" I don't receive a blue screen. What happens is that the windows xp loading screen shows for one second, and then the reboot is executed. I then receive the "windows didn't close properly screen". Every option causes a reboot.


                What I learned so far:


                • If I put the iaahci.inf, iaStor.reg, iaStor.sys files captured by Capturemsd in the msd folder I receive the problem described above;
                • If I put the iaahci.inf, iaStor.reg, iaStor.sys and iaStor.inf in the msd folder, the mini-setup plug and play wizard prompts for a file. It searches for the intel matrix storage cd, and it asks for iaStor.sys. This is weird, because the file is copied to "c:\windows\system32\drivers" If I point to the the iaStor.sys file, the described problem no longer occurs, and the post-reboot executes properly';


                I checked all the tool log files and they were all executed properly. So I think that the system does need iaStor.inf to install the raid properly. Unfortunately this doesn't happen unattended(it asks for the sys file) To keep the setup unattended I executed the following steps:


                • Placed iaahci.inf, iaStor.reg, iaStor.sys in the msd folder;
                • During mini-setup install the RAID: Intel® Matrix Storage Manager Driver for Intel Desktop Boards silently by using cmdlines.txt;


                By doing this the raid get's installed properly, the setup stays unatended and the system sucessfully executes the "post-reboot" I still don't understand why the the mini-setup plug and play wizzard asks for the iaStor.sys file, the file is copied sucessfully to the "c:\windows\system32\drivers" folder..


                Thanks in advance!

                • 6. Re: Troubleshooting Hardware independent imaging rev 9.1 (ICH8R Raid controller)

                  The reason why mini-setup is prompting for iaStor.sys is that there an iaStor.inf in c:\windows\inf.


                  Let's picture the mechanics of what's going on. So here's a "new" device. It's already in the CriticalDeviceDatabase (otherwise the machine wouldn't have booted), but by PnP norms, it's not installed. So PnP sets out to find a driver for it. By the normal rules of the game, it scans all the inf files. It finds c:\windows\iaStor.inf, decides that's the right one and installs the device from it. The inf file says that the driver requires a file called iastor.sys. Oops, where's that file, it's not in the same place as the inf, let's ask the user...


                  The fact that there happens to be a file of the same name in c:\windows\system32\drivers is irrelevant. It wouldn't be correct to simply take the existing .sys file because it may or may not be the right one. When PnP is installing a new device, it needs to find all the driver files (inf, sys, cat and whatever other files the driver depends on) in one place.


                  I'm not quite sure, on reading your message, whether or not you still get the prompt. If you do, make sure mini-setup does not find the inf file in in c:\windows\inf. Don't put the inf files in the msd folder. Put them in a subfolders of c:\drivers\pnp instead. Alternatively, if there is a reason to have the inf files in the msd folder after all, put the driver files in both places and use ldprep with the -p command line parameter. Or still, since you're installing the driver from cmdlines.txt, don't put inf files in the msd folder and don't put any of the driver files under pnp.

                  • 7. Re: Troubleshooting Hardware independent imaging rev 9.1 (ICH8R Raid controller)

                    Dear Jan,


                    Thanks for your help That makes perfect sense. So the inject msd part is for providing the right sata drivers. By doing this the machine can boot into mini-setup, even if the image is machine is build with IDE. The raid controller is a PnP device, witch can be installed by either putting the inf,cat and sys files in the PnP subfolder, or by running the setup in cmdlines.txt.


                    Currently I don't get the prompt, because there is no iastor.inf file in the msd sub folder. I think will keep using the cmdlines.txt, because we want to install the intel storage manager anyway.