IPB

Google Frontpage Forums Unattended CD/DVD Guide

> Unattended CD/DVD Guide Homepage · MSFN Forum Rules

Welcome to the Applications Installs forum. Make sure you read the forum rules before you start posting.

Links/Requests to warez and/or any illegal material (porn, cracks, serials, etc..) will not be tolerated. Discussion of circumventing WGA/activation/timebombs/keygens or any other illegal activity will also not be tolerated.

We try our best to keep this forum clean of illegal content. If you see any illegal activity use the "report" button you find in every post to report the specific post to the moderators. If you ignore any of the rules you will be banned without notice.

Read Forum Rules

4 Pages V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Change the HAL and add mass storage drivers, How to combine existing P2V techniques for imaging
Scrapple
post Jul 14 2006, 01:18 PM
Post #21


Newbie


Group: Members
Posts: 46
Joined: 19-June 05
Member No.: 61066
Country Flag


QUOTE (Mordac85 @ Jul 14 2006, 06:33 PM) *
QUOTE (Scrapple @ Jul 14 2006, 12:42 PM) *
well, I mean kernels like: ntkrnlmp.exe, ntkrnlpa.exe, ntkrnlup.exe and ntkrpamp.exe

I knew about the various HAL's being used to create hal.dll, but I never thought they did the same thing for the kernel. Are there any references, that you know of off the top of your head, for which one is used in a particular instance?

So we'd have to include placing the correct kernel as well as the HAL? Doesn't seem like a major deal, unless there are other supporting files that follow the same concept. Thanks for the tip.

I think the premise of making this switch via a script, or coded utility, is possible. Granted MS won't touch it, but I never bother with that avenue anyway cause it usually takes way too long to get a resolution. I think I have enough to get started, now I just need to find the bandwidth. confused.gif


Check your C:\windows\inf\hal.inf file for which is which and what names they should get to "activate" them... :-)

Good luck with scripting it and keep us posted. I might be able to advise you, even though I'm not a coder.

If you can code really well you shoud also check wimgapi.dll of the new BDD2007 WAIK... the help file is included for those function calls... so you could write your own imagex.exe or GUI it with a nice progress bar like Vista's setup.exe on the DVD does.
Go to the top of the page
 
+Quote Post
Mordac85
post Jul 14 2006, 01:26 PM
Post #22


Jack of all trades, master of none
***

Group: Members
Posts: 361
Joined: 26-January 04
From: Buckeye country
Member No.: 13177
OS: none
Country Flag


Thanks for the ref, I'll check it out. I haven't had time to even install the Vista beta yet so it may be relased by the time I get around to it. I understand they're using a different method for unattended installs. So much to do, so little time.....
Go to the top of the page
 
+Quote Post
IcemanND
post Jul 14 2006, 01:51 PM
Post #23


MSFN Master
Group Icon

Group: Super Moderator
Posts: 2963
Joined: 24-September 03
From: Indiana
Member No.: 7346
OS: Windows 7 x64
Country Flag


Actaully I did not run into any problems in testing but that doesn't mean they would not have come up. And I wasn't really concerned about going all the way back to the standard HAL. I mean who in their right mind would really want to run XP on a PII 300mhz machine in the first place.

From the reports I've collected it looks like 70% of the machines we are concerne about are ACPI Uni/mutiprocessor, another 20% are ACPI. The remaining 10% are standard and personally I'm not really concerned about them, but I'm still trying to convince my managers and directors of that.

We have not yet purchased the UIU but the quote we had was around $10 a machine. Cheap when you consider what we are paying to build a machine from scratch or maintain over 30 images across our organization. We won't ever get down to 1 image, but we could get it down to 10 images instead of 30. Some of our images contain over 12gb of software, others are just the os and updates, but most exist because of differing hardware.

And until recently when I changed jobs I did not have time to pursue this endeavor and no one else even considered it. After seeing what the UIU could do and what Acronis can do I began pursuing it further. And actually at the time this post was started I began working on an application to run at first bootup after sysprep to replace the HAL, right now it's mostly pieces and testing but it's getting there.

As I'm really writing it for work I will likely only design it to target the machines we wish to target, but I have to convince managment of that first. So we'll see how it goes.
Go to the top of the page
 
+Quote Post
nivlacckw
post Jul 15 2006, 09:29 PM
Post #24


Newbie


Group: Members
Posts: 16
Joined: 7-July 06
Member No.: 100739
Country Flag


Glad to see so many responses over here - it's still 0 in 911 forum as of now confused.gif

Say if the plugin is done, which method of ongoing Net/SCSI driver management do you prefer?

1.Copy the drivers from Bart PE CD -

The Good
-The driver management is once and for all process as you have to do the same when build the Bart PE CD.

The Bad
-This approach will not support P2V or V2P if you need to deal with NT4,3.51 as the Bart PE CD is for 2k/2k3/XP

2.Build a seperated Net/SCSI directory tree

The Good
-More flexibility in supporting various Windows OSes.

The Bad
-Duplicate works in driver side.


While driverpack should address most people needs, I would prefer the way how Bart handles it in PEbuilder. In any cases,the control of drivers should be left to the users but not a third party.

BTW, shall we build up a wish list of the features and tools we need?

This post has been edited by nivlacckw: Jul 15 2006, 09:30 PM
Go to the top of the page
 
+Quote Post
Scrapple
post Jul 17 2006, 11:30 AM
Post #25


Newbie


Group: Members
Posts: 46
Joined: 19-June 05
Member No.: 61066
Country Flag


QUOTE (nivlacckw @ Jul 16 2006, 04:29 AM) *
Say if the plugin is done, which method of ongoing Net/SCSI driver management do you prefer?

1.Copy the drivers from Bart PE CD -
2.Build a seperated Net/SCSI directory tree

While driverpack should address most people needs, I would prefer the way how Bart handles it in PEbuilder. In any cases,the control of drivers should be left to the users but not a third party.

BTW, shall we build up a wish list of the features and tools we need?


I'd actually prefer to put the drivers on a distribution-share from which you're able to build both the master-pc unattendedly and the PE ISO. That way the ISO only has to include the NIC/MSD (to be able to connect to the net-share and to be able to change stuff on the harddrive after deployment). The rest of the drivers and even the "SysWrap"-script could reside on the net-share. It's then also easy to update the pnp-drivers and even the script.

A script could be controlled by a GUI and/or .ini file and therefore could also be able to turn on/off some of the features provided like:

-Install detected HAL
-Disable stale drivers/services (old stuff from the master-pc, you don't want to be loaded on the deploy pc)
-Inject to load upon boot the detected MSD (IDE/SCSI/SATA/RAID/FiberCh/USB-Stor)
-Inject to load upon boot the detected HID (Keyb/Mouse, so on first-boot other features could be turned on/off)
-Inject detected PNP to (CHIP/CPU/Video/Audio/NIC/MSD/HID/TV/etc...)
-Inject Mini-setup call (a sort of post-sysprep! Sysprep.inf (updatable on server!) and setupcl.exe (for a new sid))
-Inject startup scripts (i.e. WPI with a custom software folder)


@Nivlacckw, judging from your sig (OPK techie) you probably know MS's msdinst.exe (or the newer: drvload.exe). How good are they? Because the most difficult routine would be to write our own generic MSD injector, instead of having to create all the .reg files (to update the offline registry with proper CriticalDeviceDatabase and Services sections). Most free P2V tools do it by this less-than-optimal .reg mergin. Probably because there isn't a free tool like msdinst.exe, which can be fed an .inf file of an MSD.
Go to the top of the page
 
+Quote Post
stickzilla
post Jul 17 2006, 12:21 PM
Post #26


Junior
*

Group: Members
Posts: 73
Joined: 11-January 06
Member No.: 84980
Country Flag


QUOTE (Scrapple @ Jul 12 2006, 12:18 PM) *
Now for the Mass Storage drivers it's more difficult. But basically comes down to: Detect the PNP-ID of the boot-device, find the correct .inf file on a driver distribution share mounted from BartPE and install the .sys, .cat files in the offline image. AND very important to import the proper entries in the CiriticalDeviceDatabase and Services section of the loaded hive so the pc will not get a bluescreen (7B error). To do this is too much to explain here in detail.


If you could go into more details on this, I'd much appreciate it ! I'm currently trying to see if I can image older servers to newer hardware. The older servers are using the same HAL (halmacpi) and always Intel CPUs, so I"m hoping that isn't an issue as much as the RAID controllers being different.

I'm guessing you've experimented with this in the past and had success, and your knowledge would be much appreciated.

This post has been edited by stickzilla: Jul 17 2006, 12:21 PM
Go to the top of the page
 
+Quote Post
IcemanND
post Jul 17 2006, 12:50 PM
Post #27


MSFN Master
Group Icon

Group: Super Moderator
Posts: 2963
Joined: 24-September 03
From: Indiana
Member No.: 7346
OS: Windows 7 x64
Country Flag


on a different note in regards to the HAL. If when you run BartPE/WinPE it detects the correct HAL of the system you are booting in wouldn't we be able to use the same process to install the correct HAL to the system we are imaging.

Maybe just a pipe dream but I thought maybe worth a few heads banging against it. I have not had a chance to look at it yet but hopefully later I can.
Go to the top of the page
 
+Quote Post
stickzilla
post Jul 17 2006, 01:00 PM
Post #28


Junior
*

Group: Members
Posts: 73
Joined: 11-January 06
Member No.: 84980
Country Flag


I thought I was working with old hardware with some Compaqs that are from 00/01 ! I'm guessing you guys are working with imaging boxes so old that the sysprep line :

UpdateUPHAL="ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf"

to go from MP ACPI to Uniprocessor ACPI isn't helpful ?
Go to the top of the page
 
+Quote Post
IcemanND
post Jul 17 2006, 01:05 PM
Post #29


MSFN Master
Group Icon

Group: Super Moderator
Posts: 2963
Joined: 24-September 03
From: Indiana
Member No.: 7346
OS: Windows 7 x64
Country Flag


That line works fine, and if all of our boxes were MP/UP ACPI I'd be in heaven. Or if I could convince the powers to be that those are the only systems we are going to target since anything alse should be removed from service in the next year (hopefully) anyhow.

But until then i have to look at all the options.

Actually if it wasn't for the HAL issue I'd be set.

I already have an image which I can drop to over 14 different models as long as it uses UP/MP ACPI HAL.
Go to the top of the page
 
+Quote Post
stickzilla
post Jul 17 2006, 01:23 PM
Post #30


Junior
*

Group: Members
Posts: 73
Joined: 11-January 06
Member No.: 84980
Country Flag


Wow, I can't imagine the trouble of servicing machines that aren't even ACPI.

The real tragedy of it all is that y'all are working hard to come up with a fix for this, spending company time, for hardware that is completely outdated !
Go to the top of the page
 
+Quote Post
IcemanND
post Jul 17 2006, 01:35 PM
Post #31


MSFN Master
Group Icon

Group: Super Moderator
Posts: 2963
Joined: 24-September 03
From: Indiana
Member No.: 7346
OS: Windows 7 x64
Country Flag


Tell me about it. I have an upcoming meeting where I'm hoping to convince them to my point of view. But in the mean time I'm looking to see what i can do. Maybe I can make millions....of IT support people happy. ith the help here of course.
Go to the top of the page
 
+Quote Post
Scrapple
post Jul 17 2006, 01:39 PM
Post #32


Newbie


Group: Members
Posts: 46
Joined: 19-June 05
Member No.: 61066
Country Flag


QUOTE (stickzilla @ Jul 17 2006, 07:21 PM) *
If you could go into more details on this, I'd much appreciate it ! I'm currently trying to see if I can image older servers to newer hardware. The older servers are using the same HAL (halmacpi) and always Intel CPUs, so I"m hoping that isn't an issue as much as the RAID controllers being different.

I'm guessing you've experimented with this in the past and had success, and your knowledge would be much appreciated.


Detecting/Swapping HALs is much easier than injecting those **** bootup-MSD drivers!!!

As you might know, a MSD for your boot device is (like the textmode drivers in unattended) a rare breed of driver, because is has to be loaded early in the boot process to be able to even boot your os that's sitting on it any further.

That's why certain "extra" entries must exist in the registry besides the services section (in which pointers to every uses driver/service resides). This branch is called the "CriticalDeviceDatabase" and consists basically of pnp-ids for devices the OS should try to loadup very early in the bootup. Every such entry has a pointer to their respective service.

When you sysprep with the massstorage-section in the sysprep.inf it will take quite a long time for sysprep to finish up and shutdown. What it's doing all that time is parsing all MSD drivers that windows knows from it's own driver.cab and adding sections to the registry.

Here's an example to make your image work on any pretty much any IDE device
http://support.microsoft.com/kb/314082/


the same goes (but different drivers) for the reg files and scripts in some of the tools of Ultimate P2V on:
http://www.rtfm-ed.co.uk/?page_id=174


As it is possible from within BARTPE to copy a few driver-files and merge a pre-formed .reg in the loaded system hive of the offline image, we are able to inject a MSD driver that loads up directly on boot.

Now, I'm looking for a generic-tool that generates the .reg files from the .inf of the detected driver, because pre-building all those .reg entries sucks.

Sorry, maybe I'm still to technical, but it's as clear as I can get on this stuff... maybe someone can help me to put this into better words as my English is pretty bad.
Go to the top of the page
 
+Quote Post
stickzilla
post Jul 17 2006, 01:48 PM
Post #33


Junior
*

Group: Members
Posts: 73
Joined: 11-January 06
Member No.: 84980
Country Flag


Cool cool, I'm following you so far - just another question :

I'm doing this with SCSI RAID Controllers, if I know exactly what controller im going from/to in my attempt to image to new hardware, is my procedure going to be the same ? I'm assuming the boot procedure server2k3 is similar as well ?

I'll start looking into what you've said and see what I can come up with.
Go to the top of the page
 
+Quote Post
Scrapple
post Jul 17 2006, 02:14 PM
Post #34


Newbie


Group: Members
Posts: 46
Joined: 19-June 05
Member No.: 61066
Country Flag


QUOTE (IcemanND @ Jul 17 2006, 07:50 PM) *
on a different note in regards to the HAL. If when you run BartPE/WinPE it detects the correct HAL of the system you are booting in wouldn't we be able to use the same process to install the correct HAL to the system we are imaging.

Maybe just a pipe dream but I thought maybe worth a few heads banging against it. I have not had a chance to look at it yet but hopefully later I can.


When BartPE boots, it detects the correct HAL and puts entries in it's (temporary) registry, just like setup does in an unattended installation.

When Windows is already installed on a harddisk and you boot from it, it will not detect the HAL because it has already be installed by the installation process. So unlike PE it will not display the "should've been installed"-HAL in the HardwareID reg-entry.

I know of no way (other then longhorns NTLDR) to detect/install the HAL BEFORE the same OS boots from it. That code resides somewhere. "-minint" probably invokes it in PE.

Now, it is certainly possible to change the HAL from within a normal windows, but you couldn't have boot from it with an incompatible HAL in the first place... That's why the HAL in the image you're about to boot from should be compatible or better: the correct HAL. Since we're doing it from PE we can do pretty much anything with the layed down image, wheter it needs an ACPI or a non-ACPI hal.

UIU does it as follows: It will install the "Advanced Configuration and Power Interface" HAL for your image to ACPI systems, because that is the most compatible HAL for ACPI. On boot it will detect by a UIU routine (probably by a table with knows models and their corresponding HALs) what ACPI suits even better (UP or MP(and HT)).

If you also have non-acpi systems UIU wants you to make another image where it installs the "Standard" HAL before you capture it. Such an image will normally install on ANY system, but you'll not have ACPI functionality afterwards.


The best thing to test all this, is to download Virtual PC (it's free now!) and deploy and (try to) boot std-acpi and non-acpi images to a virtual machine. Then do the same AFTER you've turned acpi off in the bios of the virtual pc. Also, boot a BartPE ISO in both bios acpi modes and check the HAL registry-entry. Then you can see what I mean.


Here a nice link about detecting/swapping HALs on another forum:
http://www.myitforum.com/forums/HAL_detect...m_135745/tm.htm

This post has been edited by Scrapple: Jul 17 2006, 02:44 PM
Go to the top of the page
 
+Quote Post
Scrapple
post Jul 17 2006, 02:26 PM
Post #35


Newbie


Group: Members
Posts: 46
Joined: 19-June 05
Member No.: 61066
Country Flag


QUOTE (stickzilla @ Jul 17 2006, 08:48 PM) *
Cool cool, I'm following you so far - just another question :

I'm doing this with SCSI RAID Controllers, if I know exactly what controller im going from/to in my attempt to image to new hardware, is my procedure going to be the same ? I'm assuming the boot procedure server2k3 is similar as well ?

I'll start looking into what you've said and see what I can come up with.



It should be exactly the same... see the UltimateP2V tools, except you should swap the vm-scsi driver for the MSD driver (.sys + .inf (+ .cat + dll if provided)) you're trying to inject. More difficult are the .reg files you should also adapt them!

Use UBCD4Win's NIC/MSD driverpack so BartPE can access your SCSI harddisk.
Go to the top of the page
 
+Quote Post
stickzilla
post Jul 17 2006, 02:46 PM
Post #36


Junior
*

Group: Members
Posts: 73
Joined: 11-January 06
Member No.: 84980
Country Flag


Thanks !

My current server Bart PE build can access multiple SCSI RAIDS successfully. If I have any luck I'll document my procedure and post it.
Go to the top of the page
 
+Quote Post
nivlacckw
post Jul 17 2006, 08:46 PM
Post #37


Newbie


Group: Members
Posts: 16
Joined: 7-July 06
Member No.: 100739
Country Flag


QUOTE (Scrapple @ Jul 18 2006, 01:30 AM) *
QUOTE (nivlacckw @ Jul 16 2006, 04:29 AM) *

Say if the plugin is done, which method of ongoing Net/SCSI driver management do you prefer?

1.Copy the drivers from Bart PE CD -
2.Build a seperated Net/SCSI directory tree

While driverpack should address most people needs, I would prefer the way how Bart handles it in PEbuilder. In any cases,the control of drivers should be left to the users but not a third party.

BTW, shall we build up a wish list of the features and tools we need?


I'd actually prefer to put the drivers on a distribution-share from which you're able to build both the master-pc unattendedly and the PE ISO. That way the ISO only has to include the NIC/MSD (to be able to connect to the net-share and to be able to change stuff on the harddrive after deployment). The rest of the drivers and even the "SysWrap"-script could reside on the net-share. It's then also easy to update the pnp-drivers and even the script.

A script could be controlled by a GUI and/or .ini file and therefore could also be able to turn on/off some of the features provided like:

-Install detected HAL
-Disable stale drivers/services (old stuff from the master-pc, you don't want to be loaded on the deploy pc)
-Inject to load upon boot the detected MSD (IDE/SCSI/SATA/RAID/FiberCh/USB-Stor)
-Inject to load upon boot the detected HID (Keyb/Mouse, so on first-boot other features could be turned on/off)
-Inject detected PNP to (CHIP/CPU/Video/Audio/NIC/MSD/HID/TV/etc...)
-Inject Mini-setup call (a sort of post-sysprep! Sysprep.inf (updatable on server!) and setupcl.exe (for a new sid))
-Inject startup scripts (i.e. WPI with a custom software folder)


@Nivlacckw, judging from your sig (OPK techie) you probably know MS's msdinst.exe (or the newer: drvload.exe). How good are they? Because the most difficult routine would be to write our own generic MSD injector, instead of having to create all the .reg files (to update the offline registry with proper CriticalDeviceDatabase and Services sections). Most free P2V tools do it by this less-than-optimal .reg mergin. Probably because there isn't a free tool like msdinst.exe, which can be fed an .inf file of an MSD.



@Scrapple
thumbup.gif Bingo. It works nice for me at work for MSD injection. And it is the important piece of stuff that need to be coded in here. Same has been done within PEbuidler, parsing drivers and building the reg hives, perhpas some version comparision as well.

The next question would be, where can we have the complete syntax of .inf file format? Somewhere in MS web site?

Just another minor suggestion - It's is perhaps more flexiable to have the tool report the device PnP ID to run specific programs after the first boot over specific hardware.

This will give users more creativity instead of injecting those drivers if the device does not affect the boot process. Of course easier for us to implement........ whistling.gif

Consider the below cases:
1) Installing VPN software or personal firewall software only for laptops
2) Installing vendor specific laptop control tools i.e thinkpad utility
3) Installing NIC teaming software(logical NIC), server support tools
4) Installing Display card/TV card/web cam drivers and specific program

These are the complicated case I can think of..... Too complicated that I do not have all the hardwares to play with....... shifty.gif

QUOTE (stickzilla @ Jul 18 2006, 03:48 AM) *
Cool cool, I'm following you so far - just another question :

I'm doing this with SCSI RAID Controllers, if I know exactly what controller im going from/to in my attempt to image to new hardware, is my procedure going to be the same ? I'm assuming the boot procedure server2k3 is similar as well ?

I'll start looking into what you've said and see what I can come up with.


It's the same from NT4/W2k/W2k3 just play with that and don't inject the wrong drivers .... whistling.gif

One minor tip for moving boxes. Remember to disable/remove hardware vendor agents when doing so. They are hardware dependent as well.

This post has been edited by nivlacckw: Jul 18 2006, 09:59 AM
Go to the top of the page
 
+Quote Post
Scrapple
post Jul 18 2006, 03:35 PM
Post #38


Newbie


Group: Members
Posts: 46
Joined: 19-June 05
Member No.: 61066
Country Flag


QUOTE (nivlacckw @ Jul 18 2006, 03:46 AM) *
The next question would be, where can we have the complete syntax of .inf file format? Somewhere in MS web site?

Just another minor suggestion - It's is perhaps more flexiable to have the tool report the device PnP ID to run specific programs after the first boot over specific hardware.

This will give users more creativity instead of injecting those drivers if the device does not affect the boot process. Of course easier for us to implement........ whistling.gif

Consider the below cases:
1) Installing VPN software or personal firewall software only for laptops
2) Installing vendor specific laptop control tools i.e thinkpad utility
3) Installing NIC teaming software(logical NIC), server support tools
4) Installing Display card/TV card/web cam drivers and specific program

These are the complicated case I can think of..... Too complicated that I do not have all the hardwares to play with....... shifty.gif


the .inf file format...

http://msdn.microsoft.com/library/default....72ebb16.xml.asp

pretty extensive, but we'd only have to know what sections/syntax MSD infs contain. I've searched the web thoroughly, but I can't find the generic routine or secription of the systemcall to install a CriticalDevice. So I guess we'll have to compare existing .reg and their corresponding .inf to find out just how to do it. I think if we really wanted to know the internals of this, we'd have to work on a certain team at MS. Which I don't :-)

Well... maybe the WDK can help us. It has SCSi miniport driver examples and driver tools like GenInf and the sourcecode for DevCon. Anybody here with experience with those or are we all just sys-admin and deploy geeks?

@Nivlacckw
About the PNP reporting to run special programs... Sure, it's possible to build all kinds of control features, but I think we should first start with the most important stuff: HAL and MSD injection.
Go to the top of the page
 
+Quote Post
nivlacckw
post Jul 19 2006, 06:39 AM
Post #39


Newbie


Group: Members
Posts: 16
Joined: 7-July 06
Member No.: 100739
Country Flag


There seems to be reg2inf thread in the forum......

Seems this is nothing new.....thank god we are getting closer

This post has been edited by nivlacckw: Jul 19 2006, 10:37 AM
Go to the top of the page
 
+Quote Post
dobbelina
post Jul 22 2006, 12:28 AM
Post #40


Newbie


Group: Banned
Posts: 30
Joined: 20-May 05
Member No.: 56791
OS: none
Country Flag


Just to add to the discussion.
Acronis "Universal restore" can restore to any hardware.
It obviously has all the "Hal's" as there's no limitation of restoring to ACPI/non-ACPI systems.
Wtth other words, one image to all systems....
One thing that's a shame though is it's Only working when restoring TI images.
If that app where standalone, i'd be a happy camper biggrin.gif
If you guys can do something like that, i'll take off my hat for you !
Go to the top of the page
 
+Quote Post

Google Frontpage Forums Unattended CD/DVD Guide

4 Pages V  < 1 2 3 4 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 




Lo-Fi Version Time is now: 21st November 2009 - 08:36 PM
All trademarks mentioned on this page are the property of their respective owners
MSFN is not affiliated with Microsoft
Copyright © 2001-2009 msfn.org
Privacy Policy