Running Welcome


Sunday, August 4, 2013

How to install SATA Driver by Offline

Issue / problem:

When I moved from one hardware to another and did not preload necessary drivers. Or if I want to restore old archived XP image on different hardware. Or, more likely, that someone made an image of system and forgot to load SATA drivers or loaded wrong drivers (which will cause 0x0000007b error) and already killed source system.

Do not offer please system repair (reinstall) as it will destroy some bugs that I want to investigate in the system and therefore keep unattached. And also it is always more interesting to know how things work under the curtains.

Is there such option in Recovery console?

How can I install driver, downloaded from manufactures site?

If it is not possible with recovery console or ERD commander - I want to know how to do it manually - by exporting it from another fresh install system (on the same hardware) and injecting it to offline system using offline regedit and offline file explorer. Is that possible? Of what parts does SATA driver installation consists? How can I know of which parts each particular SATA driver contain? Is there some standard of files and registry entries that are necessary to boot system. How to see in the system of what parts driver contain? May be somehow to capture it during driver installation (with utilities that capture all changes that process and it's child processes make in the system)


I know some utilities that export and import drivers - for example http://sourceforge.n...ojects/drvback/ and http://www.boozet.org/dd.htm? After backing up the driver - there is only few files in backup archive that you can import to offline system. The question is - what else these utilities do, beside coping files into right folders?

Also this article was suggested in similar post (big thanks to karyonix) (http://www.boot-land...showtopic=11720) - it doesn't says about any custom code, only creating registry entries and copying files.
Injecting SCSI controller device drivers into Windows
http://kb.vmware.com...ernalId=1005208

The question is more about - how to boot system (without reinstall) than how to manually load SATA driver. Perhaps only some parts of SATA driver are necessary to only boot (and other can be installed with manufactures utilities and drivers). Of what parts does SATA driver contain? May be I can export some registry settings of SATA driver from another system and import it to offline registry, and after copy necessary files? And also - is there some standard of SATA driver or no - are there some common parts on all manufactures (HP, ASUS, Asrock, MSI, Intel...)?

Also if I download SATA driver (that i preload by pressing F6 during installation) - it contains only of 4-5 files. Are that files unarchived? It is not seems that it is complex to copy only 4-5 files.

Also - how many SATA controllers are presented in market and what is the percentage of each? Maybe we can do manual thing for each manufacture? Does HP, ASUS, Asrock... produce their own SATA drivers or use Intel (or other) ones?

If we can boot system without 0x0000007b I can install all other drivers with help of device manager.

Thank you for answers and help!!

SOLUTION

It is not very different from Windows 7.

But you need vendor specific SATA controller driver.
The most important files in driver package are .inf file and .sys file.

To boot Windows in hard disk connected to new SATA controller, you need ...
  • The driver file (.sys file) in "Windows\system32\drivers" directory.
  • Registry key ControlSetxxx\services\<service name> in target's system hive
    (xxx is default ControlSet number, the number in "Default" value in "Select" key, usually "001")
    You can find service name in .inf file (in AddService line) and txtsetup.oem in driver package.
    and these values
    • "DisplayName" type=REG_SZ data=<driver display name> . You can get display name from .inf file.
    • "ErrorControl" type=REG_DWORD data=1 .
    • "Group" type=REG_SZ data="SCSI miniport" .
    • "ImagePath" type=REG_EXPAND_SZ data="system32\DRIVERS\<driver file name.sys>" .
    • "Start" type=REG_DWORD data=0 .
    • "Type" type=REG_DWORD data=1 .
  • Registry key ControlSetxxx\Control\CriticalDeviceDataBase\<hardware ID or compatible ID> in target's system hive
    You can find hardware ID and compatible ID in .inf file and txtsetup.oem .
    Replace backslash \ with number sign # when you convert ID to registry key name.
    If you need multiple IDs, create a separate key for each ID.
    These 2 values should be present in this key.
    • "ClassGUID" type=REG_SZ data=<Class GUID>. You can find it in [Version] section of .inf file.
    • "Service" type=REG_SZ data=<service name> . The name of service registry key 

    Visit the Source page of this Article

No comments :

Post a Comment

Silahkan kasih komentar atau pertanyaan Anda.

Powered by Hamami InkaZo

Free Domain Name