首页 > 代码库 > How to Distinguish a Physical Disk Device from an Event Message

How to Distinguish a Physical Disk Device from an Event Message

https://support.microsoft.com/en-us/help/159865 
https://support.microsoft.com/en-us/help/244780/information-about-event-id-51
 
This article applies to Windows 2000. Support for Windows 2000 ends on July 13, 2010. The Windows 2000 End-of-Support Solution Center is a starting point for planning your migration strategy from Windows 2000. For more information see the Microsoft Support Lifecycle Policy.

Summary

Microsoft Windows may report event messages in the event log for various hard disk device issues using the following syntax:

The device, \Device\Harddisk#\Partition #
The following are examples of some common event log message entries:

  • The device, \Device\Harddisk0\Partition 1, has a bad block.
  • The device, \Device\HardDisk1\Partition0, has been reset.
  • System process lost delayed-write data.
  • System was attempting to transfer file data from buffers to \\device\harddisk4\partition2\mydir\myfile.txt
    The write operation failed.
  • An error occurred while attempting to recover data from the fault tolerance set containing \device\harddisk2\FT1
In each of the preceding examples you need to translate the hard disk number to a physical drive on the system. You can determine the hard disk number by looking in the registry, but you need to know if you are using IDE drives, SCSI drives or a combination of the two. Disk Administrator will display the drives in the order they are enumerated on each controller and in the order that the controller device drivers are loaded. If you are using multiple controllers, the order in which they are identified is based on I/O port and controller BIOS address assignments.

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows

NOTE: Disk Management is enhanced in Windows 2000 and later operating systems. You can use Disk Management to view this information without using Registry Editor. To view where a particular hard disk is located in your system, use the following procedure:

  1. Start Disk Management console (diskmgmt.msc).
  2. View the graphical view of your disks. Right-click the gray portion of the basic or dynamic disk whose disk number matches the "Harddisk#" in the error message.
  3. Click Properties.The Properties will contain "Device Type" information that will tell you if the disk is IDE or SCSI, and it will also display the "Hardware Vendor" name of the physical device and the "Adapter Name" it is attached to. 
For Windows NT, use Registry Editor to extract the required information as follows:

  1. Run Registry Editor (Regedt32.exe).
  2. Locate, and then click the following registry key (for IDE-based devices):
    HKEY_LOCAL_MACHINE\Hardware\Devicemap\Atdisk

    Controller0 look at the controller address and interrupt.
    disk0 look at identifier string for manufacturer and model#
    disk1 look at identifier string for manufacturer and model#
    Controller1 look at the controller address and interrupt.
    disk0 look at identifier string for manufacturer and model#
    disk1 look at identifier string for manufacturer and model#
  3. Locate, and then click the following registry key (For Atapi-compliant or SCSI devices):
    HKEY_LOCAL_MACHINE\Hardware\Devicemap\SCSI

    Scsiport0 look at driver, Interrupt, and IOAddress
    Scisbus0
    Targetid0
    Logical Unit Id 0 look at identifier and type.
    Targetid1
    Logical Unit Id 0 look at identifier and type.
    Targetid4
    Logical Unit Id 0 look at identifier and type.
    Scsibus1
    Targetid0
    Logical Unit Id 0 look at identifier and type.
    Targetid1
    Logical Unit Id 0 look at identifier and type.
    Targetid2
    Logical Unit Id 0
    Scsiport1 look at driver, Interrupt and I/O Address.
    Scsibus0
    Targetid0
    Logical Unit Id 0 look at identifier and type.
NOTE: When the SCSI ID number is higher than 9, the registry lists the drives alphabetically, but the computer assigns physical IDs to the drives numerically.

Using the information gathered from the registry, you can determine which physical drive maps to a particular disk number in Disk Administrator.

  1. Using the "identifier" and "type" values, determine which entries are for DISKS and which are for other devices such as CD-ROMS, tapes, scanners, and so forth.
  2. Find each Type:REG_SZ:DiskPeripheral entry under the Targetid#\Logicalunitid0. Each one found equates to a drive in Disk Administrator and also to a \device\harddisk number.
  3. To find \device\harddisk5 find the 6th DiskPeripheral (zero through five).
  4. Make note of the SCSIPORT, SCSIBUS, and TARGETID# and use this to replace the defective device.
    SCSIPORT is a SCSI controller.
    SCSIBUS is a channel on the SCSI controller. Some controllers are dual channel and have SCSIBUS0 and SCSIBUS1.
    TARGETID is the SCSI ID the device that is configured to use usually 0 through 6, with the initiator ID 7 representing the controller itself.
  5. If you have doubts about which SCSIPORT represents which SCSI Controller look at the driver, I/O Address, and Interrupt of the SCSIPORT entry and match it with the hardware configuration set on the controller.
  6. For IDE Devices, the drives are in master/slave configuration order on each controller.

How to Distinguish a Physical Disk Device from an Event Message