Topic: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

I need to generate TXTSETUP.SIF for Windows 7 x64 so that I can use FIX_HDC to inject x64 Mass storage drivers to the offline win7.

Here is what I did so far to fix a BSOD:
1) Created a WinPE3.0 boot cd using MAKE_PE3 built on WIN7x64 and WAIK 3.0
2) Booted the CD on a cloned win7 x64 (different hardware)
2) Added the FIX_HDC.bat to X:\windows\system32 (since the batch doesn't care)
3) Added devcon.exe to  X:\windows\system32 and  X:\windows\sysWoW64 (x64 version from Windows Driver Kit (WDK))
4) Copied TXTSETUP.SIF to X:\windows (from my old xp based UBCD4WIN with integrated 32bit Driverpacks.net Mass Storage)
5) Search and replaced iastor86 with iastor in X:\windows\TXTSETUP.SIF
6) Search and replaced symmpi with lsi_sas in X:\windows\TXTSETUP.SIF
7) Search and replaced iastor78 with iastor in X:\windows\TXTSETUP.SIF
8) Ran FIX_HDC.bat
9) Compared the results to device manager in WinPE3.0
10) Removed the cd
11) Rebooted and no more BSOD

If someone can help me create a TXTSETUP.SIF from DP_MassStorage_wnt6-x64 I will have a cool way to fix BSOD without editing my old x86 file every time. 

I am so close on this.  Just need a little help.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

I don't understand why you're using XP files on Win7.  That just doesn't make any sense.
Why not just inject DriverPack Chipset and dpms into the boot.wim & install.wim of the Win7 disc and install that way.  Then the drivers would be available in the driverstore. 
Or if you're building a cloned image, just use pnputil -i -a <path>\*.inf to add/install the drivers to the driverstore folder, then generalize & build your image.

Read BEFORE you post.  HWID tool   DriverPacks Tutorial   DONATE!
http://driverpacks.net/userbar/admin-1.png
Not all heroes wear capes, some wear Kevlar!

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

If your HDD is not visible by Windows 7 all you need to do for it to be see is integrate the driver into boot.wim index 2

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

I have the drivers for PE 3.0.  The TXTSETUP.SIF is old I know because FIX_HDC needs that filename to exist.  What I need is a way to update it or create a fresh TXTSETUP.SIF for the plugin.  Nothing else in my PE3 is old, and all the drivers are actually pulling from the PE3 cd which is new drivers.  Do you see what my goal is?

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

Hey ricktendo64
The disk is already visible in PE3. Which wasn't an issue.  I am working on a plugin support file used by FIX_HDC when booted into PE3.  FIX_HDC looks at the PE3 driver that is running (visible disks) and injects that registry info and driver to the HDD to make it not BSOD.  The boot cd does not BSOD.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

real1elmo wrote:

FIX_HDC looks at the PE3 driver that is running (visible disks) and injects that registry info and driver to the HDD to make it not BSOD.

Which fix_hdc do you use?

Version from UBCD4WIN dosn't looks at running drivers.
There is no support for Win7, especial no support for x64 with signet drivers.

Can't you use dism or a similar application supporting Win7?

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

FIX_HDC v0.02 is the one I use and I think you wrote it.  It says cdob

Maybe you could tweak it to skip TXTSETUP.sif and pull from the ram PE registry and driver files used in the key --> %targetroot%
It looked like your old one searched using devcon for PCI\CC_01 and then did some magic to get info from TXTSETUP for a driver match.
Then from what I can tell it made a reg file and unload the current control set and load the one on %targetroot% followed by a driver copy.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

Yes, I'm guilty as for fix_hdc.cmd.
Back then (PE1 and XP) there was no manufacturer tool.

Win 7 contains DISM by default. That's a manufacturer tool.
Why invent the wheel again? Any special reason?

Example: bootet PE and Windows 7 at F:\windows:

Dism /Image:F:\ /Add-Driver /Driver:G:\x64\M\Intel\1

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

Scenerio 1:
I backup a win7 machine with ghost. The original machine was an HPxw8400 using IASTOR.sys already installed.  I restore the image to an old Dell 670 and try to boot it. BSOD!  I run your tool and FIX_HDC says no driver needed, but still imports the fix_hdc.reg info.  Reboot, and bam no more BSOD.  The reason it needed no driver was because the drive in the 670 was IDE.

Can DISM do that?  I know it adds drivers, but in my scenerio windows had the driver for IDE, but refused to pick it out and use it when the original was built RAID.

If DISM is the way to go can you make a script that adds all the driverpack subfolders for mass storage, and existing ones in winpe just in case.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

You seem h*ll-bent on making this as difficult as possible for yourself.
We keep offering suggestions but you're not listening.
DISM is used for loading drivers into off-line images.
PNPutil can be used to load drivers into on-line installs prior to imaging.
MDT2010 can be used to package the on-line image into an image ready for deployment. (includes sanitizing/neutering the image)
All are Microsoft tools.

Read BEFORE you post.  HWID tool   DriverPacks Tutorial   DONATE!
http://driverpacks.net/userbar/admin-1.png
Not all heroes wear capes, some wear Kevlar!

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

real1elmo wrote:

If DISM is the way to go can you make a script that adds all the driverpack subfolders for mass storage, and existing ones in winpe just in case.

http://driverpacks.net/docs/miscellaneo … er-attempt

already did

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: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

real1elmo wrote:

Scenerio 1:
I backup a win7 machine with ghost. The original machine was an HPxw8400 using IASTOR.sys already installed.  I restore the image to an old Dell 670 and try to boot it. BSOD!

Why do you swap hardware?
Why don't you use a universal imaging approach?

real1elmo wrote:

The reason it needed no driver was because the drive in the 670 was IDE.

Yes, Windows 7 is different to XP. IDE driver are available, driver start maybe non boot.
Adjusting driver start enables booting.

Why don't you use sysprep? Sysprep is integrated by default.
This enables IDE drivers too:

\Windows\System32\sysprep\sysprep.exe /oobe /generalize /shutdown

real1elmo wrote:

Can DISM do that?

I don't know, I doubt enabling existing IDE drivers.

If DISM is the way to go can you make a script that adds all the driverpack subfolders for mass storage

Use DISM /recurse http://technet.microsoft.com/en-us/libr … S.10).aspx
You may use DISM against offline image or a offline windows.
It's even possible to boot UBCD4Win and use DISM from a local installed Windows 7 32 bit.

and existing ones in winpe just in case.

Sorry, most likely I won't do this.

Another story:
given a broken motherboard. Windows 7 dosn't boot anymore.
Replace motherboard. Next BSOD 0x7b.
One approach: adjust mass storage drivers offline.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

I am not h*ll bent on making this overly complicated.  The dism approach sounds like the route I will go.  I never realized i could treat c:\ as if it was a wim mount point, and add drivers with dism.  I haven't played with sysprep in 7 yet, but in xp it unlocked some security on the restored pc that I spent hours setting up.  Dism seems more precise than sysprep obviously.

I have not ignored any of the help you are giving.  I really do appreciate all the responses, especially cdob which is kinda cool he took the time.  I just gotta thenk you cdob because your tool saved me tons of time in the past few years.  It is good to know things are getting easier.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

Quick question how do I get dism to only load the driver that matches pe devcon results.  That way it doesnt just load them all using recurse?

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

real1elmo wrote:

Quick question how do I get dism to only load the driver that matches pe devcon results.

Quick answer: a simple question dosn't relate a simple answer.

Did you tried sysprep so far?

Compare HardwareID, search all *.inf files.
Select the most appropiate driver. Create PNP ranking, value date and HardwareID.

Expect some exceptions:
given different hardware versions, a certain *.sys driver matching PNP ranking may fail anyway.
Should not matter today. But what about several years in future?

Read: I've no idea to build a clean, always working solution.
A simple, half broken approach: value HardwareID only.

real1elmo wrote:

The reason it needed no driver was because the drive in the 670 was IDE.
Can DISM do that?

Let's investigate:

Does a Dell 670 use a ICH5 R and driver intelide.sys at IDE mode?

A  Windows 7 install.wim contains serveral mass storage drivers.
At installtation current appropiate drivers are set to boot start=0.
Driver not matching current hardware are set to demand start=3.

E.g. driver intelide is installed, signed and but not loaded at boot.
Booting fails, if you need intelide.sys at boot.
To make windows 7 bootable, open registry and set start=0.
That's a tiny change, no need for a full repair.

Given: booted PE and offline files at D:\Windows with intelide demand start=3

Dism /Image:D:\ /Add-Driver /Driver:D:\Windows\inf\mshdc.inf

Found 1 driver package(s) to install.
Installing 1 of 1 - D:\Windows\inf\mshdc.inf: The driver package was successfully installed.
The operation completed successfully.

Sad, intelide use demand start=3 still.

Dism /Image:D:\ /Add-Driver /Driver:D:\Windows\inf\mshdc.inf /ForceUnsigned
Dism /Image:D:\ /Add-Driver /Driver:D:\Windows\System32\DriverStore\FileRepository\mshdc.inf_x86_neutral_f64b9c35a3a5be81\mshdc.inf /ForceUnsigned

Still demand start.

How to configure boot start=0 using manufacturer or third party tool?

Should I create a fix_7hdc.cmd?
enable installed, but disabled mass storage drivers, e.g. pciide, intelide, msahci
Idea: read current available HardwareID and select driver from CriticalDeviceDatabase
Install addional driverr not supported. Use manufacturer tool dism instead.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

I am a bit confused. In your last post were you advocating for fix_7hdc.  Or did your test conclude that dism is capable of changing the start=3.  My vote would be a combination of devcon, dism for the specific drivers, and regedit to set start=3 in a fix_7hdc.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

real1elmo wrote:

Or did your test conclude that dism is capable of changing the start=3.

Test indicates, dism keep start=3 using mshdc.inf. Win7 won't boot from IDE that way.

My vote would be a combination of devcon, dism for the specific drivers, and regedit to set start=3 in a fix_7hdc.

Under construction.

Can you name more real life examples? Which hardware do you use?
Booting 64 bit PE 3.0. Do you repair 32 bit Windows 7 too?
Which mass storage controllers do you use?
Did you add mass storage drivers to PE 3.0? Which ones?
Does your PE contain pnputil.exe?

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

Yes my pe build did make use of the pnputil.exe   I double checked inside the wim and found it in \BOOT.WIM\1\Windows\System32\ which when booted from cd was in x:\Windows\System32\
On win7 I am strictly doing x64.  I used to be an xp 32bit only guy.  That is all I use.

Scenerio 2: (untested in 7)
Dell 670 (RAID) that was converted to Dell Laptop M90 using FIX_HDC had to be converted back when returned to RAID. (if memory serves)

Scenerio 3 HPxw8400 to HPz800(win pe 3 without driverpacks added or no boot cd needed in this case)
It turns out my make_pe3 build didn't have the x64 driverpacks added.  Yet still had compatible drivers for FIX_HDC since 7 comes with a ton.  At least my wim built on HP OEM x64 image did.  Not sure if my pe would have had so many otherswise.  I will check tomorrow.  Long story shorboth boxes contain a common sata controlller (lsi_sas i think, might have been iastor.. again i will have to check)  Ran 2 seperate tests. 
Test A)
Booted the cd. Ran fix_hdc (it added 2 drivers and reg key)and no more bsod on z800.the tool worked in pe3
Test B)
Put HPxw8400 drive in Z800 and booted to BSOD
Plugged sata cable into common denominator sata controller matching 8400
Booted z800 and let windows slowly add the second sata controller (which it had the driver for already)
Rebooted and plug the sata back into the newly added primary sata controller
new drive could now boot on either HPxw8400 or HPz800. (the othertech figured out both boxes shared a common controller..no cool points for me)

Scenerio 4:
HPz800 Windows 7 image pushed to Dell m6300 Laptop or Dell M90
BSOD occured.
Booted my  make_pe3 cd and ran fix hdc (it said no driver needed and imported fix_hdc.reg)
no more bsod.

I use lsi_sas, iastor, and ide.  In my case those cover a lot of ground.  I would attach my txtsetup, but not sure how to attach.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

real1elmo wrote:

Scenerio 3 HPxw8400 to HPz800

I booted a Z800:
native supported by Windows 7 64 bit
device: LSI SAS 3000 8 port
HardwareID PCI\VEN_1000&DEV_0058&CC_0100
driver: LSI_SAS.SYS

Do you boot from SAS hard disk?
Driver lsi_sas.sys is installed but disabled.
Open registry, and set service lsi_sas to boot start=0.

However machine is in usage already: hence no testing, reading only.
I'll get deep trouble if I break the machine.


To explore strange new worlds (TM):
Given a 32 bit Windows 7.
Existing disk swapped to a vmscsi hard disk.
Booting result to a BSOD 0x7B.

Add XP driver vmscsi:

dism /image:e:\ /add-driver /driver:F:\x86\scsi\vmscsi.inf /ForceUnsigned

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Found 1 driver package(s) to install.
Installing 1 of 1 - F:\x86\scsi\vmscsi.inf: The driver package was successfully installed.
The operation completed successfully.

However no driver added to Windows 7. And no registry setting is added.

vmscsi.inf adjusted and integrated

[Manufacturer]
;%VMWARE%=VMware.Mfg
%VMWARE%=VMware.Mfg,ntx86

;[VMware.Mfg]
[VMware.Mfg.NTx86]
%DEVICE%=DDInstall,PCI\VEN_104B&DEV_1040

Dism does install driver vmscsi now.
Files are copied to inf, system32\drivers and system32\DriverStore.
Registry is adjusted.

Windows 7 does boot with a XP vmscsi.sys now.

Conclusion:
Dism message "The operation completed successfully." refers to dism rules.
Message is missleading: a driver may be installed, or not installed.
A driver if installed, if a driver exist matching image.
If a driver is missing according to dism rules, no driver is added.

No, I won't support adding XP drivers to windows 7. That's at own risk.
General rule: broken input result broken output.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

cdob wrote:

General rule: broken input result broken output.

Thanks cdob.  Yes, you gotta love GIGO.
DISM will only add drivers to an OFFLINE image.  You can't use DISM to add drivers to an ONLINE or running system.  DPInst or PNPutil is used for online images.

Read BEFORE you post.  HWID tool   DriverPacks Tutorial   DONATE!
http://driverpacks.net/userbar/admin-1.png
Not all heroes wear capes, some wear Kevlar!

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

In the end there is a Fix_7hdc.vbs
http://www.911cd.net/forums//index.php?showtopic=24245

Main features:
enable existing, but disabled drivers
install new drivers.

Runtime environment:
a PE3, this incluedes a Windows 7 installation DVD.
Default integrated tools like dism.exe are used.
No need to include a addional tool.

This require testing at real hardware.
Dism may install driver from a *.inf file or not.
Compare above [VMware.Mfg] [VMware.Mfg.NTx86] example.

You may use DriverPacks driver.
DP_MassStorage_wnt6-*.7z contain Vista and Windows 7 drivers.
Expand files yourself first.
Use default folders, or select folder at runtime.
default folder:
32 bit running PE use .\x86
64 bit running PE use .\amd64
Be aware, this refer to current running OS, not to offline windows.
If you boot a 32 bit PE and like to fix a 64 bit offline windows, set driver folder at command line.


The last read inf file is used at double HardwareID.
File system is alphabetically sorted at a NTFS partition. Use a NTFS partition.
This should prefer Windows 7 drivers.

@real1elmo
Do you boot a 32 bit PE 3 or a 64 bit PE?
Should I change default driver folder behaviour?

Good luck

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

Mine is x64 based win7 Pe3.
Here is what I envision, and maybe you can tell me if this is possible using your tool from my x64 cd.

1) Boot my current cd
2) Fix HDC drivers for x64 win7  OR x86 Win7 using a batch menu with preset switches for your vbs.


Example Menu:

1) Activate HDC drivers for x86 Win 7 (standard win7 drivers)
2) Inject and activate HDC drivers for x86 Win 7 (Driverpacks.net folder)
3) Activate HDC drivers for x64 Win 7 (standard win7 drivers)
4) Inject and activate HDC drivers for x64 Win 7 (Driverpacks.net folder)


Question:  Are options 1 and 2 even possible from an x64 PE 3.  I assume the vbs polls from the PE3 x64 environment.  Hmmm...  I guess I should do some trial and error.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

real1elmo wrote:

Are options 1 and 2 even possible from an x64 PE 3.

I've no idea. Never tried this.
vbs should work (1), however dism.exe behaviour is unclear (2).

I guess I should do some trial and error.

Yes, do this. Write log files too.

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

Hey guys! I've been trying to sort out my motherboard swap from intel to amd with windows 7 and I can confirm that Fix_HDC.cmd does work!! with one modification

simply edit the fix_hdc.cmd file and right down the bottom delete the two lines:
if not exist %system_root% etc txtsetup.... and the line after it

I used the windows 7 recovery console rather than a PE cd, make sure you have all necessary files, reg.exe, regedit.exe, devcon.exe, expand.exe, findstr.exe
make sure they are all in the same folder, I put them in the system32 folder, then run fix_hdc

worked like a charm smile

Re: FIX_HDC needs TXTSETUP.SIF for Win7x64 DP_MassStorage_wnt6-x64

sealdogfish wrote:

Hey guys! I've been trying to sort out my motherboard swap from intel to amd with windows 7 and I can confirm that Fix_HDC.cmd does work!! with one modification

simply edit the fix_hdc.cmd file and right down the bottom delete the two lines:

Thank's for report. Yes, it may work by chance at special cases.
However this is not supported. And will fail at other cases.

Instead use Fix_7hdc.vbs to fix a windows 7.