Using sysprep to detect hardware configs only

I have imaged 1000s of computers using Ghost versions over the years, both from floppy boots and using GhostClient software on the destination computers.

I have never, however, pushed out ONE image to computers that have different hardware configurations at once. (Correction, I've tried that and the computers with different hardware configs barely get past BIOS screen when done being imaged).  

Simply put, I am done with making 40 different images for 40 different Dell models.  I want to send the image I have now out to this set of computers (30 that have XP currently installed (with same hardware config), 30 that have Win2000 installed (with another hardware config).  I have made an image that I am extremely happy with (unfortunately using Dell's factory installed Windows XP - although we have volume license - I have read how people have Windows Activation problems when they complete the Ghost because they used the Dell XP configs rather than their volume license CDs to make the original model. )

I have read about the [SysprepMassStorage] section of the sysprep.inf and it seems that's all I need.  I know nothing here... I need a lot of help.....  Almost a play by play... was there something I needed to do first before creating the image?  Now that I have an image, what do I do to send it out?

Basically - can't I just make it so when the computers are done receiving the image, they reboot and look for new hardware configs, and install the new drivers for them?  That's all I want it to do.  :-)  Am I dreaming?

Thanks in advance...  this is my first time here...
Who is Participating?
Fatal_ExceptionConnect With a Mentor Commented:
Sounds like you are imaging a mutliprocessor to a uniprocessor..    Never used the halacpi.dll, but this is how I would do it if it were the hal.dll file..

To create a multiprocessor to uniprocessor image

Copy the Hal.inf and associated Hal files to the location you are using for your Plug and Play device drivers in your distribution folders, for example, \$OEM$\$1\Sysprep\Hal.
In Sysprep.inf, add:
UpdateUPHAL = "hwid,%SystemDrive%\Sysprep\Hal\Hal.inf"
In the preceding example, hwid is either MPS_UP or ACPI APIC_UP.

Install the operating system from the distribution folders to a multiprocessor computer.
Run Sysprep with the Sysprep.inf created in step 2.
Image the computer.
Place the image on comparable destination computers.

BTW:  remember that all the experts here have other lives (and hopefully jobs of their own) and donate their time to these threads.  We are not getting paid to help users and admins with their issues, so be a little flexible here, please..  :)

dpezzottaAuthor Commented:

I just realized that I used my Volume License...  so please disregard that part of my question.  That will not be an issue.  Activation key is disabled in this version automatically.
This answer file was provided by tstadden, another expert...  Additionally, I have an answer file outlining Dell Mass Storage drivers, if I can find it...


There are certain limitations with the use of Sysprep and a third party imaging solution when placing the image in systems with different controllers/motherboards (Hals).  This can be overcome with the proper use of the answer file.  The following addresses this limitation.  (Note the last lines.)

Here's an example SYSPREP.INF with comments:

UnattendMode = FullUnattended                                    No user Interaction
OemSkipEula = no                                               Display the EULA "Yes to accept" dialog box
ExtendOemPartition = 1        "Grow" the partition to fit the drive (if no other partitions on it)
DriverSigningPolicy=Ignore                  Allow non-certified drivers to install without warning


' (Which corresponds to C:\Packages on a machine being SYSPREPped)



TimeZone=10                                                              Set the Time Zone to this    preset value
OemSkipWelcome = 1                                                  Bypass Welcome screen
OemSkipRegional = 1                                                   Skip regional options page
OEMDuplicatorstring="XP Pre-Install by Bpecht"          The title of the mini-setup routine

FullName="user"        The name of the machine's owner (leave this line out if not known)
OrgName="CompanyName"               "Workgroup" name (leave this line out if not known)
computername=*                       * indicates a random machine name based on the orgname

[Display]                                                                Pre-define the screen resolution after setup

[TapiLocation]                                                            Pre-define the area code (for modems)    

InstallDefaultComponents = Yes                                    Don't customize the network settings

[GuiRunOnce]                     Section to install additional applications AFTER Windows Setup  

UseBIOSToBoot = 1
UnattendedInstall = Yes

;The last 2 sections allow a SYSPREP image to install on a machine with ANY of the drive controller types matching the plug and play IDs of the lines below. You can add other controllers, like Ultra320 SCSI and Serial ATA, to this section of the file.
;Format of this section is:
;   PlugAndPlayID = location of supporting *.INF file
;Any lines ending in MSHDC.INF are for IDE
;Any lines ending in SCSI.INF are for SCSI



;End of File

Additional Sysprep Info and Links:

Running Sysprep

Sysprep Components

Description of New Features in Sysprep for Windows XP;EN-US;q282190

How to Add OEM Plug and Play Drivers to Windows XP;EN-US;q314479

HOW TO: Use Sysprep.exe Tool to Automate Successful Deployment of Windows XP;EN-US;Q302577&

How to Use Sysprep with Windows Product Activation or Volume License Media to Deploy Windows XP 

Deploying Windows XP Part I: Planning

Deploying Windows XP Part II: Implementing 

Error After You Move the Windows XP System Disk to Another Computer;EN-US;q314082

Common Stop Messages

Disk duplication. Using Sysprep to prepare images for disk duplication allows you to copy fully installed systems onto similar hardware. Sysprep modifies the local computer Security ID (SID) so that it is unique to each computer.
Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

dpezzottaAuthor Commented:

After 10 hours of different troubleshoots as well as reading the information above, I am almost there.  

I understand it now, but I still do not know precisely what to enter in the sysprep.inf file at the end under [SysprepMassStorage].  I know all my Ghost clients have different IDE devices that are causing the problem once I restore the image (making them not even get past the BIOS screen).  They are all IDE and no SCSI.  I checked those in Device Manager.

What I do not know now is what to actually type for each different IDE device....



Let me get this straight:
1.  The first part (before the "=") is the Plug n Play ID?  How do I find that for each device?

2.  The next part I would literally type "=%systemroot%\inf\mshdc.inf"?  Or would I have to type: "c:\windows\system32\inf\mshdc.inf" ?

3.  Excuse my ignorance here, but this is crazy new for me, and I am fascinated by it.  

4. Finally - what does this actually do in the process?  As the computer is starting up, it actually looks here if it cannot find controllers?  I am so confused!

Hopefully someone can shed some light.

Thanks...  and I have read every link from above and they do not specifically answer this... even the REF file that comes with doesn't tell me everything I need.

dpezzottaAuthor Commented:

I'm back... check it out.  I am posting because I figured someone some day will be in this same bind...

I went to the CMD prompt and at C:\Sysprep\  I typed:    sysprep -bmsd

It added every description my computer had for Plug n Play devices to the sysprep.inf file.... Way more than I needed, but when I compared it to the PnP IDs on my older destination machines, the few I needed were included on the entries in the new sysprep.inf file....

I just did a reseal,  captured a new image... and I am waiting to see if the old Dells will boot up after knowing where their PnP drivers are.  Here's hoping...

*grin*  Very Good!!!  Not as hard as you thought, eh?  
dpezzottaAuthor Commented:

Well, I guess this question remains open...

I am doing something wrong here... I am pretty confident I am doing the sysprep correctly because when I sent the image the same exact model of computer, it runs perfectly.  

Things I am not sure of:

~ I am not 100% sure I am doing the BuildMassStorageSection thing correctly, that is, I have no way of proving the drivers are being installed on the system before it shuts down from sysprep reseal.  I wouldn't know how to run an audit if I tried.  

~ Also, I do not know 100% that my HALs are compatible.  The source computer (the master image) is from a machine with a Halmacpi.dll and the destination is running the Halacpi.dll....  

Does anyone out here work with this regularly and can help?  

I am really behind schedule now... I should just give up and start a new image on those other model computers from scratch... at least I know it would work... I just don't want to be making all these different images forever.

Thanks anyone... :-)

Have you read through this article..
dpezzottaAuthor Commented:

One week and no luck.  Thanks for the above readings, but nothing I have found actually helps me determine MY specific needs.  I paid for this service because I thought if I typed in my specific questions, someone would have an answer.  I am not familiar with how this works, but so far all I have done is read generic "how tos."  I was doing that for days before these readings.

I am going to try one last time before withdrawing from this group.  Here is a specific question.  Hopefully someone will be able to answer it.  

Q:  In my sysprep.inf file, in the [Unattended] section, what should my UpdateUPHAL line read if my MASTER computer (from which the image will be taken) is running an ACPI Multiprocessor with the driver "halmacpi.dll"  and the DESTINATION computers are running what says "Advanced Configuration and Power Interface (ACPI) PC" with the driver "halacpi.dll" ?

I'll start it off:  UpdateUPHAL =

I don't really understand the values of questions on this site, but this sure seems high... I am now a week behind schedule, too.

Thanks anyone...

dpezzottaAuthor Commented:

Thanks FE ~

Don't get me wrong, I am very very grateful; just confused.  I've never paid for a site before and I thought all the answers were coming from "the company."  Thought I was paying for tech support in a way.  (Guess I should have read that agreement entirely to understand)...  

The info you gave me is very helpful, but just happens to be stuff I've read already and tried myself.  The above UpdateUPHAL excerpt is on plenty of sites - practically word for word; I just don't know which to use MPS_UP or ACPI APIC_UP and don't know the proper hwid considering my hardware.  That's exactly what I was asking.  That's why I was specific in my last thread.

As I said earlier, I valued this at 500 because it was urgent and I thought pretty difficult.  Since you are the only one who could contribute to it so far, I guess it really was that difficult.  I'll accept your answer and kindly bow out of this group.   Tomorrow, my assistant and I are just going to build two more images from the ground up.  It was worth a try but never worked... my deadline is Tuesday.  No more experimenting allowed...  :-)

From now on, I'm back to surfing the www for my answers.  I am SO GRATEFUL for your help, but unfortunately, it just didn't get me what my amateur undertaking needed.  Thank you, though!  Sincerely!

Take care...  

Yes, when I was syspreping a few months ago, I copied that into a sysprep doc I had for future reference.

I really am sorry for not being able to assist you further.  If I had the time, I would setup a test box myself and try the solutions for you.  One of the problems is that there are only a handful of Sysprep experts here that have probably tried what you are doing.  Although I emailed a few that I know of, I see that they did not respond.  Most travel a lot, so they may be out of town on other contracts right now...

Anyway, thanks for the points, although if you are in this situation again, you can ask for a refund of the points and then ask again later.  Just so you know.

Hope you get those images deployed successfully.  I certainly understand being under the gun with a timeline.

One quick and dirty way I did what you're tying to do is the following:

I assume you have the image of your master machine safely saved away...

1) On your master machine, start out by uninstalling vga drivers/software (catalyst control center, etc), audio drivers/audio control panel, chipset drivers, processor drivers (if applicable, like the dual core optimizer that AMD uses) and whatever else. Use something like RevoUninstaller because it deletes registry files and leftover files on the machine.
2) Go into the device manager and uninstall the leftover items unique to your system. For example: chipset-related components under "System Devices", USB controllers, IDE controllers (if they are different), network adapters, and you get the idea.
3) Clone that to another pc that you need an image for and all you will have to do is update drivers. Since you are using a volume license key, no need to worry about activation. Take about 10 mins for the drivers (assuming you already have the most updated drivers for each model on a saved somewhere like a flash drive) and make an image for that model. Done!

Clone that driver-less hard drive from the master pc to every model and all you will have to do is install the drivers each time you move to a new model and then image it.

Not the cleanest way (hence the quick and dirty), but it works great. So far I have had a 100% success rate on several different model PCs (used the same driverless image for desktops and laptops!). It greatly reduces the time taken up by installing all your software all over again for each new image.

I work at a school district and the images were horrible when I first started working here. Every time we get a new model computer, I've been doing this and it works great. After drivers are installed, I just do Windows updates and make sure everything is running smoothly. Like I said, it has so far. Every now and then I make a fresh image from the Windows CD, but only when things start getting wonky.
Oh yeah. It obviously won't work if you're moving from a PC with IDE sata drivers to AHCI or vice versa. And this may not work for all of your models, but since you are on a time limit, I'd give it a shot. Sometimes my job destroys my life when we get two or three new models AND a few new student software titles that MUST be pushed out and they need it ASAP. Quick and dirty saves my life.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.