Starting Windows NT from a Replacement SCSI Adapter of a Different Type

ID: Q198859


The information in this article applies to:

IMPORTANT: This article contains information about editing the registry. Before you edit the registry, make sure you understand how to restore it if a problem occurs. For information about how to do this, view the "Restoring the Registry" Help topic in Regedit.exe or the "Restoring a Registry Key" Help topic in Regedt32.exe.

SUMMARY

If the primary startup controller does not work, and you do not have the same make and model SCSI adapter to use as a backup, you may need to use a different controller. This controller must be compatible with Windows NT to get the computer back in production. If you use a parallel installation of Windows NT to enable a different startup controller's driver, the following error message may be displayed when the computer is starting the original installation of Windows NT.

STOP:0x0000007B
Inaccessible Boot Device


MORE INFORMATION

Windows NT 4.0 storage (IDE/SCSI) boot controller device drivers require additional registry entries to initialize the driver properly for system use. If these registry entries are missing or corrupt, the Stop 0x7B error message above may be displayed.

If you use the /sos switch in the Boot.ini file, you may notice that even though the device driver loads, you still receive the stop 0x7b error message.

The two adapters need to address the hard drive in a similar fashion. In almost all cases, this means that the two adapters are simply different models from the same manufacturer. For example, two Adaptec adapters would have a better chance of success than an Adaptec and a Future Domain adapter.

Solution

In general, moving an installation of Windows NT version 3.5, 3.51, or 4.0 from one drive to another is not a supported operation. However, provided the drives are on the same system it is possible, if you follow the procedures below. Before carrying out any of the steps below BACKUP YOUR SYSTEM COMPETELY, INCLUDING THE REGISTRY.

NOTE: Attempting to start Windows NT with a SCSI hard disk controller other than the one Windows NT is installed and configured for is not supported. Customers should attempt this workaround at their own risk.

If possible, have a valid backup of the hard disk drive before performing the following steps:

Steps for Recovering the System with Windows NT versions 3.1, 3.5, and 3.51

Versions of Windows NT prior to version 4.0 require the registry entry value for START be set to 0x0 (boot) for the controller's device driver to be loaded and used during system startup.

WARNING: Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Note that you should back up the registry before you edit it. If you are running Windows NT, you should also update your Emergency Repair Disk (ERD).
  1. Install a parallel copy of Windows NT into another directory on the local hard disk drive or move the hard disk drive to another computer running Windows NT.


  2. Start Registry Editor (Regedt32.exe) from the newly installed version of Windows NT, and then open the HKEY_LOCAL_MACHINE key.


  3. Click Load Hive from the Registry menu. Go to the following registry file on the original Windows NT installation:
    
       %SystemRoot%\System32\Config\System 
    Type a name other than SYSTEM. For example, TEST.


  4. The newly loaded hive now appears in the HKEY_LOCAL_MACHINE window as TEST. Double-click TEST, then highlight the Select key. Look to see what the value for Current:REG_DWORD:0x1 is. This value selects which ControlSet00x key to load when the computer starts and should be the one that needs modifications.


  5. Open the following folder:
    TEST\ControlSet00x\Services\<name of NEW Driver>


NOTE: To help determine the driver name for the two adapters, reference the Windows NT 3.5 Resource Kit, Vol. 1, pp. 112-118.
  1. Change the value Start:REG_DWORD: from 0x4 to 0x0.


  2. Open the following folder:
    TEST\ControlSet00x\Services\<name of OLD Driver>


  3. Change the value Start:REG_DWORD: from 0x0 to 0x4.


  4. After making the desired change, highlight the TEST key, then click UnLoad Hive from the Registry menu.


  5. From the Windows NT installation media, copy the new driver for the different SCSI controller to the Windows NT installation folder in the <winntroot>\system32\drivers folder.


  6. Shut down and restart your computer using the original version of Windows NT. The device that corresponds to the edited value of 0x0 will now be started and enable the new controller to function.


Steps for Recovering the Computer with Windows NT Version 4.0

Solution

Windows NT 4.0 introduces additional registry entries in addition to the one above that are necessary to load and use a boot controller device driver. The additional keys are necessary to assist in supporting Plug and Play functions not yet fully implemented in this release of Windows NT.

NOTE: This example shows registry entries for the device driver Aic78xx.

The Enum key below and its values are added dynamically when the computer restarts and are not required to be added manually.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\aic78xx\Enum 0:REG_SZ:Root\LEGACY_AIC78XX\0000
Count:REG_DWORD:0x1
NextInstance:REG_DWORD:0x1

HKEY_LOCAL_MACHINE\Enum\HTREE\ROOT\0 AttachedComponents:REG_MULTI_SZ:Root\LEGACY\... <-- DoubleClick
After you double-click the AttachedComponents entry, the Multi-String Editor populates with several lines of data strings. For example:

Root\LEGACY_DISK\000
Root\LEGACY_NTFS\000
.
.
Root\LEGACY_FLOPPY\000 
The entry Root\LEGACY_AIC78XX\000 needs to be present in the above list.

Also, the following key, subkeys, and associated values need to be added.
HKEY_LOCAL_MACHINE\Enum\ROOT\LEGACY_AIC78XX\0000\Control\LogCont
These new entries are normally added by: The best way to accomplish adding these new entries to an existing registry is to follow the steps below. The following example shows you how to replace a failed Adaptec 154x SCSI controller using the driver Aha154x.sys with an Adaptec 2940UW PCI SCSI Controller using the Aic78xx.sys device driver.

  1. Install a parallel copy of Windows NT 4.0 to a different folder on your local hard disk drive. For example:
    C:\Winntsos


  2. Start Registry Editor (Regedt32.exe) from the new installation of Windows NT and highlight the following key under HKEY_LOCAL_MACHINE:
    HKEY_LOCAL_MACHINE


  3. Click Load Hive on the Registry menu, and open the following registry file from the original Windows NT installation:
    %SystemRoot%\System32\Config\System
    Assign it a name other than System (such as TEST).


  4. Go to the following registry key:
    HKEY_LOCAL_MACHINE\TEST\Select
    Note the value for Current:REG_DWORD:0x#. The # selects which ControlSet00x key to load when the computer starts, and is the one that needs modification.


  5. Make sure the ORIGINAL boot controller's START value is still set to start at boot time 0x0. For example, below is the Adaptec 154x adapter setting:
    Test\ControlSet00x\System\aha154x
    Start:REG_DWORD:0x0


  6. Find the new boot controller's entry and change the Start value from 0x4 (disabled) to 0x0 (boot). For example, the Adaptec 2940UW Adapter setting is shown below:
    Test\ControlSet00x\System\Aic78xx Start:REG_DWORD:0x4 change to 0x0


  7. After you have made these changes, highlight the following registry key and then click Unload Hive from the Registry menu:
    HKEY_LOCAL_MACHINE\TEST


  8. Exit Registry Editor.


  9. Make sure the new boot device driver, Aic78xx.sys, is located in the original installation's folder in the following location:
    %SystemRoot%\System32\Drivers


  10. Copy the new boot driver Aic78xx.sys file to the original boot controller driver name Aha154x.sys in the original installation's %SystemRoot%\System32\Drivers folder. Cd %OldSystemRoot%\System32\Drivers
    Copy Aic78xx.sys Aha154x.sys


  11. Shut down and restart the computer normally, and then start the original installation of Windows NT.

    Windows NT should boot using the good registry entries of the ORIGINAL driver (Aha154x) to load the new driver Aic78xx.sys file that was copied to Aha154x.sys.

    Windows NT tries to initialize the new boot driver Aic78xx, but cannot because the other driver (Aha154x.sys) has already claimed the device. However, after the system fully initializes, Windows NT adds the necessary registry entries that are missing on the new boot driver so it can be used properly during the next startup operation.

    After you log on to the original installation, you should confirm that the new entries were added by Windows NT by looking at the registry locations noted earlier in this article.


  12. Using the Control Panel Devices tool, locate the original boot controller device. For example Aha154x, and change the startup value from boot to disabled.


You should now be able to restart and this time, Windows NT starts from the new boot controller driver (Aic78xx) because the additional required registry entries are in now place.

Manual Method for Adding these Entries Should the Above Method Not Initialize the Registry Entries

Follow steps 1-4 above, then perform the following steps:
  1. Highlight the following key:
    Test\ControlSet00x\Enum\HTREE\ROOT\0


  2. From the Security menu click Permissions and allow EVERYONE full control of the 0 key.


  3. Double-click AttachedComponents. The Multi-String Editor appears and populates several lines of data strings. Add the following:
    Root\LEGACY_AIC78XX\000


  4. Highlight the Test\ControlSet00x\Enum\ROOT key. From the Security menu click Permissions and allow EVERYONE full control of the ROOT key. Do NOT replace permissions on existing subkeys.


  5. From the Edit menu, click Add Key, then type LEGACY_AIC78XX.


  6. From the parallel installation's registry, make a copy of the missing key by highlighting the key and clicking Save Key on the Registry menu.


  7. Highlight the new key made in step 10 above and overwrite it by clicking Restore from the Registry menu. Then click the key_name saved above. This operation overwrites the empty key with the saved key.


  8. After you have made the necessary changes, go to the following registry key, and then click Unload Hive on the Registry menu:
    HKEY_LOCAL_MACHINE\TEST


  9. Exit Registry Editor.


  10. Make sure the associated device driver Aic78xx.sys is located in the original installation's System32\Drivers folder.


  11. Shutdown and restart the computer normally and start the original installation of Windows NT. The device that corresponds to the edited keys are now enabled and should allow you to start.



REFERENCES

For additional information about correcting this problem, see the following article in the Microsoft Knowledge Base:

Q122926 Troubleshooting STOP: 0x0000007B or "0x4,0,0,0" Error

Additional query words:


Keywords          : 
Version           : winnt:3.1,3.5,3.51,4.0
Platform          : winnt 
Issue type        : kbinfo 

Last Reviewed: July 12, 1999