Topic: Sysprep MassStorage (I Think I Solution Found)

I think I found a solution to getting a working universal image. All that needs to be done is to get PEIMG from WAIK and use it to inject the drivers into your image like winpe2.0. You must make sure you have a folder named USERS on the root of your driver. It seems the tool injects the driver directly into XP and adds the drivers to the CriticalDeviceDatabase so you don't even need to use -BMSD in sysprep, just make sure you use standard IDE controller before running sysprep. So far I tested this on a HP dv6108nr and it worked perfectly. PEIMG can be used to inject just about any driver into your image. If you guy don’t feel like using a command line too you can use 'AddDrivers.exe' gui frontend. Hope you guy find this helpful.

Re: Sysprep MassStorage (I Think I Solution Found)

Note, though:

1. You are limited by memory limits:
http://forum.driverpacks.net/viewtopic. … 932#p17932
http://www.911cd.net/forums//index.php? … p;p=142720

2. You are limited to drivers which maintain separate driver names and service names.

Regards,
Galapo.

Re: Sysprep MassStorage (I Think I Solution Found)

Thanks galapo.
I have not forgotten the short-lived testpack.
Galapo knows we tried a private test of mass storage with unique INF, unique service names, unique systemfile names... We found out this is dangerous to the project (cannot publish), is not easy to do in private, and the tests have to be done per driver, on hardware for each separate driver.

We cannot be the solution for everybody. BUT... We do want to learn about WHAT works.

We are currently trying to do write-ups of very useful knowledge, summarised or in dedicated topics so as to get good info easily found.

The answer was 42?
Kind regards, Jaak.

Re: Sysprep MassStorage (I Think I Solution Found)

Galapo wrote:

Note, though:

1. You are limited by memory limits:
http://forum.driverpacks.net/viewtopic. … 932#p17932
http://www.911cd.net/forums//index.php? … p;p=142720

2. You are limited to drivers which maintain separate driver names and service names.

Regards,
Galapo.

I found a way around the memory limit. I’ve been using the NTLDR from the longhorn/vista beta and it has no problems. The bonus to using it is it has the ability to detect and update the HAL on the fly. With PEIMG and NTLDR I’ve created an image that’s worked on all the machines I have tested it on (two laptops  with SATA drives and two desktops one with SATA drives).

Re: Sysprep MassStorage (I Think I Solution Found)

unfortunately that is a no no... and we can't recomend it to others.

licence violation.

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Sysprep MassStorage (I Think I Solution Found)

Galapo wrote:

Note, though:

1. You are limited by memory limits:
http://forum.driverpacks.net/viewtopic. … 932#p17932
http://www.911cd.net/forums//index.php? … p;p=142720

2. You are limited to drivers which maintain separate driver names and service names.

Regards,
Galapo.

OverFlow wrote:

unfortunately that is a no no... and we can't recomend it to others.

licence violation.

For anyone who is interested, the memory limit has been fixed with SP3. Now we don't have to worry about licence violation.

Re: Sysprep MassStorage (I Think I Solution Found)

Wow, that's good to hear! Does sp3 replace ntldr?

Thanks,
Galapo.

Re: Sysprep MassStorage (I Think I Solution Found)

Fixed... more likely it has been raised... but still very good news.

I suppose that the dup file name prob still exists...

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Sysprep MassStorage (I Think I Solution Found)

As I posted in the news topic for DPsBase 8.05, I have a Sysprep listing of Mass Storage drivers that I use that covers pretty much all bases.  This isn't exactly what you are talking about, no, but it most definitely helps take a step forward towards a universal image.  I will have this ready to post tomorrow so you can see exactly what I've done with it.

Right now, I do have what I call my universal image.  I rarely worry about getting new hardware because my 2000 and XP images work on basically all configurations I see, old or new hardware independent.  The only thing I've had to do on old hardware is make sure I update the BIOS to add ACPI functionality (had some old Dell Optiplex P2 and P3 computers donated to my school district months back and getting around to deploying them).  On new hardware, it seems to work on all the SATA hard drive controllers I throw at it too.

As for HALs, I just use MySysprep.  Ok, I hate the flag that shows up, but it does indeed work.  I just force the install to be "Advanced Configuration and Power Interface (ACPI) PC" in my WINNT.SIF, and then never update to the Uniprocessor APIC HAL (quite honestly, it doesn't matter performance-wise).  I do have it update for a Multiprocessor APIC HAL though.

Add all this together with the Driverpacks and now trying to get DPInst to work from a network share, and I don't see much of anything I can't do on the x86 side of things.  Tomorrow when I get into my office I'll post my Sysprep.inf file (or at least my Mass Storage section).

Oh, and one edit - if you make your install on an Intel-based computer, you have to disable the IntelPPM service prior to running Sysprep and making the image so it'll work on K8 and higher CPUs (BSODs otherwise).  Don't worry about the service not running if you put it on an Intel-based computer though - during hardware detection it'll reinstall the service and re-enable the automatic setting for the service.

Edit:  Wow, I just now found the OfflineSysPrep tool of yours, Galapo.  I'm definitely going to give this a try and hopefully ditch MySysprep (yes, I hate that flag that much!).  If I erase my Superintendent's hard drive or if our Sun suddenly supernovas, you are fully to blame though.  Yeesh, can't believe I didn't see this sooner.

Last edited by DeTard (2008-05-08 14:30:20)

Re: Sysprep MassStorage (I Think I Solution Found)

OverFlow wrote:

I suppose that the dup file name prob still exists...

Yes, but it's only an issue if injecting DP mass storage drivers "directly" via peimg rather than the current OfflineSysPrep method of injecting based upon the BartPE plugin.

With version 2 of OfflineSysPrep both of these two methods of injecting drivers into an offline system will be offered.

Regards,
Galapo.

Re: Sysprep MassStorage (I Think I Solution Found)

geo411m wrote:

For anyone who is interested, the memory limit has been fixed with SP3. Now we don't have to worry about licence violation.

Hi,

SP3 didn't help here- NTLDR is changed, same size but different contents. Are you sure you were testing with more than 80 drivers injected?

However, here is the good news- NTLDR from XP x64 SP1 and the same from x64 SP2 DOES work- no limit reached.
Injected 125 drivers from latest mass storage driver pack + the Microsoft's IDE drivers, using latest OfflineSysPrep.
No TAGs used, NTDETECT.COM is the regular from SP2 i386.
Tested on VMware, VirtualBox 1.6, Gigabyte 965p- DS3P with C2D 4300+2GB RAM and to push it a bit on old Celeron 1,7GHz machine with 128MB RAM. Success on all of them, no issues using x64 NTLDR on machine, not compatible with 64bit instructions.
Change NTLDR back to XP SP2 or SP3 one- the known NTFS.SYS error.
Many thanks for the clue, I had forgotten an old goal, now it's accomplished.

Million thanks to Galapo for his fast updates and implementations of all the crazy ideas and suggestions smile
Not at least- many thanks to the DriverPacks team- brilliant project.

Regards,
ilko

Re: Sysprep MassStorage (I Think I Solution Found)

Hi Ilko,

Good to hear from you -- and thanks for continuing to test!

I hadn't yet gotten to testing ntldr from sp3 today as planned. I guess now I have a reason to download the x64 sp.

By the way, do you know if the newer ntldr allows for "dynamic" HAL via boot.ini /detecthal entry etc as per Longhorn?

Regards,
Galapo.

Re: Sysprep MassStorage (I Think I Solution Found)

Just tried it with NTLDR from i386 SP3 and x64 SP2, switched to standard HAL and added /detecthal- no result, neither error messages, nor HAL changed.

I put NTLDR from SP3 on the same virtual machine, where x64 NTLDR was used. No NTFS.SYS errors :S
If the same NTLDR is used for a first boot after injecting drivers it fails. x64 sSPx ones do not.
As you know in my previous tests similar happened when drivers were enabled one by one, using XP SP2 NTLDR.
So it must matter windows to write all the registry keys for the new drivers. But I'd rather not dig that deep again, for me is enough that we have the needed file in a public available download.

As for the legal side- isn't it the same story when using Setupldr.bin and ramdisk.sys from 2k3 for SDI/ISO in RAM boot, or the modified ntdetect.com?
I haven't seen in MSFN or 911cd that it violates licensing, which of course doesn't necessarily means that it does not smile
This is not something I am good at, let someone else comment it.

Last edited by ilko (2008-05-08 18:11:10)

Re: Sysprep MassStorage (I Think I Solution Found)

ilko wrote:

Just tried it with NTLDR from i386 SP3 and x64 SP2, switched to standard HAL and added /detecthal- no result, neither error messages, nor HAL changed.

Did you follow the steps provided by Oleg: http://www.911cd.net/forums//index.php? … ntry144100

Re: Sysprep MassStorage (I Think I Solution Found)

Nope, forgot about them smile
Will do it tomorrow, too late here.

Re: Sysprep MassStorage (I Think I Solution Found)

That's OK. No particular rush. I'm just curious is all.

Regards,
Galapo.

Re: Sysprep MassStorage (I Think I Solution Found)

I'm going to give it a try with the SP3 NTLDR here in a little bit... will let you know how things go with it.

Edit:  Ok, I've tried with SP3's NTLDR but with no luck at all.  I did as Oleg said exactly, including extracting all HAL and Kernel files, renaming them where needed, making the INF file, updating BOOT.INI.  Just came up as the standard PIC ACPI HAL still.

Last edited by DeTard (2008-05-09 01:36:32)

Re: Sysprep MassStorage (I Think I Solution Found)

http://forum.driverpacks.net/viewtopic. … 690#p15690

there may be a clue there about HAL

Jake will probably drop by here and enlighten us further

DP BartPE Tutorial   DP_BASE Tutorial   HWID's Tool     Read BEFORE you post    UserBars!
http://driverpacks.net/userbar/admin-1.png
The DriverPacks, the DP_Base program, and Support Forum are FREE!.

Re: Sysprep MassStorage (I Think I Solution Found)

Hmm, tried to use OfflineSysprep because of the HAL detection, but ran into something that puzzles me...  the HAL detection it does, is that ONLY during OfflineSysprep?  Or does it set what HAL to use just before Sysprep Mini Setup?  The whole purpose of me using MySysprep was that it will do the detection before Mini Setup even starts on that first boot, set the proper HAL type, and then continue on the process.  This appears to set the HAL type prior to Sysprep running which sort of defeats the purpose IMHO.  This would require me to make an image file for each HAL type - something I definitely don't want to do.  Can someone shed some light on this for me?

Re: Sysprep MassStorage (I Think I Solution Found)

Run OfflineSysPrep(OFSP) from PE disk packed with a generic image (not sysprep-ed) on the computer, being deployed. Deploy your generic image first, then run OFSP.
HAL could be detected and changed, no need to change it during mini-setup.
Mass storage drivers could be detected and injected.
The PE disk in this scenario gives you freedom to deploy that image on almost any type of machines.

AFAIK there is no other tool of this sort, which can change between *incompatible* HALs.
I.e. change from Standard to Uni or Multiprocessor.

If I recall correctly image with Uni HAL, deployed on Multi machine is autodetected and changed by Windows, and vice versa.
Have a look here too:
http://forum.driverpacks.net/viewtopic. … 481#p12481

And list of compatibles:
http://support.microsoft.com/kb/309283

How many HALs you have to support?

Re: Sysprep MassStorage (I Think I Solution Found)

The only HALs I care about are PIC ACPI, APIC Uniprocessor, and APIC Multiprocessor, which pretty much covers any standard computer from 98-ish to present.  And the reason I do it in Mini-Setup with MySysprep right now is it's full automated. I don't have to run an extra step to get everything working.  I thought this was what the purpose of OfflineSysprep was to do it automatically, but apparently not?

Don't get me wrong, I don't doubt OfflineSysprep has it's uses, but not sure I will have a use for it if things still have to be ran after Mini Setup is complete.

Last edited by DeTard (2008-05-09 08:26:59)

Re: Sysprep MassStorage (I Think I Solution Found)

You deploy your image using some program anyway.
Instead of that program, you deploy your image from PE, and run OFSP right after deploying. Reboot the PC and let Sysperp finish it's work. No need of extra steps after mini-setup.

Typical scenario:
generic installation- syspep- imaging- deploying on target- mini setup

With OFSP:
installation- imaging- deploying on target- OFSP- mini setup

Re: Sysprep MassStorage (I Think I Solution Found)

So is there a way to do this so that I can deploy it and have it run OFSP on it's own without me having to sit at each individual computer, or no?  Yeah, I use a program anyways to deploy it, but I don't have to be at the computer at all, which is almost a necessity for me any more.

Re: Sysprep MassStorage (I Think I Solution Found)

DeTard wrote:

So is there a way to do this so that I can deploy it and have it run OFSP on it's own without me having to sit at each individual computer, or no?

No yet, but in version two we're working towards being able to have it automated.

Regards,
Galapo.

Re: Sysprep MassStorage (I Think I Solution Found)

When you launch Sysprep from OFSP, choose to restart PC on completion.
In this case start PE in RAM, run OFSP, remove the CD/USB and go on the next PC. Or make 10 copies of that CD as long as you have the proper license from MS smile
BTW runing Syspep doen't take that much time if bmsd is not used as you know.
Not quite sure if you can deploy the image and make the new contents visible to PE and OFSP without restart, but should be doable.

OFSP comes handy when you have to maintain many different types of hardware, on which making a good sysprep.inf takes too much time.
Or if you have already your generic image, and lets say buy a new hardware, or replace a motherboard with different one.
Imagine a PC field technician, who has to reinstall client's PCs, all them different and is paid per job. With OFSP you can do that in 15 mins.

If you have a limited number of hardware, then the old sysprep way should be sufficient.

I hope that gives you clearer picture about the differencies, may be it will suit your needs. I am done with the presentation, back to NTLDR smile

ilko