Jump to content

Recommended Posts

Posted

Hi,

 

I've had lots of success in the past of imaging desktops to laptops and vice versa but in my new school I must be missing something. Every time I create an image on a new or old spec desktop, sysprep it and put it down to a laptop I get a black screen on boot after the xp logo and it hangs. I'm using the sysprep gui to reseal the image as I always have done.

 

I've gone through everything from manually changing the HAL to adding mass storage drivers to running a trial of something called 'universal imaging utility'.

 

Have I just been very lucky with past hardware or is there something stupid I have

missed?

 

Thanks in advance!

 

A very fustraited network manager :(

  • 2 weeks later...
Posted

Are you creating the image on a physical or a virtual machine?

If you deploy the image back to where you created the image does it make it into the mini-setup?

Posted

It certainly sounds like a HAL issue to me. Missing south bridge drivers will give you a BSOD, where incorrect HAL type will do exactly what you're describing.

 

- What is the reference machine you're building the image on?

- What is the HAL type you're using in the reference build?

- What is the machine you're trying to dump to?

- What does the UpdateUPHAL line read as in your sysprep.inf?

 

The way I've been doing it is I build my images in VMWare virtual machines setup with two processors, using the "ACPI Multiprocessor PC" HAL. I then use this line in my sysprep.inf..

 

UpdateUPHAL="ACPIAPIC_UP,%windir%\inf\hal.inf"

 

This allows for the image to be compatible with single core, and multi-core machines. If I dump my image onto a first generation P4, it will revert to the "ACPI Uniprocessor PC" HAL. If it gets dumped onto a Hyperthreading P4, or even a Quad Core Core2 Duo, it will use the "ACPI Multiprocessor PC" HAL.

 

Just add SATA drivers for every Intel SATA controller under the sun, and you have an XP base image that will boot on almost every Intel branded machine on the planet. This methodology works on Dell Optiplex GX260s to Optiplex 780s.

 

The only systems that I've found that don't like this setup is older mobile P4 laptops; pretty much anything D600 Latitude on down. The D610 systems work just fine. For this older stuff (only constitutes a small handful of machines out of hundreds) I had to fork my image and use the "Advanced Configuration and Power Interface (ACPI) PC" HAL, and change the HAL line in sysprep to read:

 

UpdateUPHAL="ACPIPIC_UP,%windir%\inf\hal.inf"

 

The forked version of my image for use on older hardware will work on newer hardware, but will not use more than one processor/core.

 

Good luck!

  • Thanks 1
Posted

Thats great advice. Thankyou so much. Do you install VMWare tools on your main image or keep it free from drivers?

 

We have an IBM Blade setup with VMWare Inf 3 so that would be the best way to go I think.

 

Thanks again!

 

Gareth

Posted

Nope, VMWare tools is not installed on the base image VM. If I need drivers for a piece of VM hardware, I'll pull them out of the VMWare Tools installer and install them by hand. The idea is to keep the base image as neutral as possible since it was built to cover a broad range of machines.

 

How I handle drivers is I create a directory in the root called "drivers" and create folders inside it by computer model. Once the drivers are placed inside of there, sysprep is pointed to their location.

 

I use the snapshots feature of the VM to revert back to a pre-sysprep'd state. Once I get done updating the image, I'll take a snapshot, sysprep it, capture it, and then revert back to the snapshot. As far as my base image is concerned, it has been updated over 20 times and has never had sysprep ran on it.

 

Have fun!

  • 4 weeks later...
Posted

Your advice has been very useful over the summer holidays with the work we have been doing. I was wondering how you were adding the Mass Storage Controller drivers to your image as I have seen it done two ways. The first is to specify the driver path in the OEMPNPDRIVERSPATH string and locate the drivers on the C: drive. The other is to specify the driver by Device and Vendor ID under the MassStorage section in the SysPrep.inf file.

 

Which would you recommend?

Posted
Your advice has been very useful over the summer holidays with the work we have been doing. I was wondering how you were adding the Mass Storage Controller drivers to your image as I have seen it done two ways. The first is to specify the driver path in the OEMPNPDRIVERSPATH string and locate the drivers on the C: drive. The other is to specify the driver by Device and Vendor ID under the MassStorage section in the SysPrep.inf file.

 

Which would you recommend?

 

Sorry for the delay. From the sounds of it, you work educational IT, well, same here. :thumb: It's been incredibly busy for the last week and a half.

 

Windows is only going to pick up storage drivers if they're placed in the mass storage section at the bottom of the sysprep inf.

 

My setup looks something like this....

 

PCI\VEN_8086&DEV_2653&CC_0106=%systemdrive%\Drivers\SATA01\iaahci.inf

PCI\VEN_8086&DEV_2652&CC_0106=%systemdrive%\Drivers\SATA01\iaahci.inf

PCI\VEN_8086&DEV_2652&CC_0104=%systemdrive%\Drivers\SATA01\iastor.inf

PCI\VEN_8086&DEV_5029&CC_0106=%systemdrive%\Drivers\SATA01\iaahci.inf

;

PCI\VEN_8086&DEV_2681&CC_0106=%systemdrive%\Drivers\SATA02\iaAHCI.inf

PCI\VEN_8086&DEV_27C1&CC_0106=%systemdrive%\Drivers\SATA02\iaAHCI.inf

PCI\VEN_8086&DEV_27C5&CC_0106=%systemdrive%\Drivers\SATA02\iaAHCI.inf

PCI\VEN_8086&DEV_2821&CC_0106=%systemdrive%\Drivers\SATA02\iaAHCI.inf

PCI\VEN_8086&DEV_2829&CC_0106=%systemdrive%\Drivers\SATA02\iaAHCI.inf

PCI\VEN_8086&DEV_2922&CC_0106=%systemdrive%\Drivers\SATA02\iaAHCI.inf

PCI\VEN_8086&DEV_2929&CC_0106=%systemdrive%\Drivers\SATA02\iaAHCI.inf

PCI\VEN_8086&DEV_3A02&CC_0106=%systemdrive%\Drivers\SATA02\iaAHCI.inf

PCI\VEN_8086&DEV_3A22&CC_0106=%systemdrive%\Drivers\SATA02\iaAHCI.inf

;

PCI\VEN_8086&DEV_2682&CC_0104=%systemdrive%\Drivers\SATA02\iaStor.inf

PCI\VEN_8086&DEV_27C3&CC_0104=%systemdrive%\Drivers\SATA02\iaStor.inf

PCI\VEN_8086&DEV_27C6&CC_0104=%systemdrive%\Drivers\SATA02\iaStor.inf

PCI\VEN_8086&DEV_2822&CC_0104=%systemdrive%\Drivers\SATA02\iaStor.inf

PCI\VEN_8086&DEV_282A&CC_0104=%systemdrive%\Drivers\SATA02\iaStor.inf

; Generic drivers

pci\ven_8086&dev_2651&cc_0101=%systemdrive%\winnt\inf\mshdc.inf

pci\ven_8086&dev_2652&cc_0101=%systemdrive%\winnt\inf\mshdc.inf

pci\ven_8086&dev_2653&cc_0101=%systemdrive%\winnt\inf\mshdc.inf

pci\ven_8086&dev_266f=%systemdrive%\winnt\inf\mshdc.inf

pci\cc_0101=%systemdrive%\winnt\inf\mshdc.inf

primary_ide_channel=%systemdrive%\winnt\inf\mshdc.inf

secondary_ide_channel=%systemdrive%\winnt\inf\mshdc.inf

 

The reason for the multiple directories, SATA01 and SATA02, is because the latest offerings of Intel SATA drivers don't typically include support for the older SATA controllers.

 

Good luck.

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



×
×
  • Create New...