Question Identifying hardware associated with older Windows drives

Jun 18, 2024
7
0
10
Hi,

I have some older Windows (XP, 7, 10) platter primary (C:\) HDDs from different old computers of mine. Unfortunately, the stickers got removed so I no longer know what motherboard each drive was associated with originally.

Is the identifying information for the original hardware somewhere in the Windows folders or registries on these drives, or somewhere else easily accessible if I plug the drive in as a secondary drive on my current W10 machine? Is it also possible to look up the Windows license info to see which license matches? Keep in mind that I will be looking at this strictly as an additional data drive on a W10 box, not booting from it at this point.

The reason it's needed is that I have to run an old XP driver (for a piece of hardware) that doesn't function on any newer OS (no, it won't run on 7 or 10 in emulation mode), so the shortest path is to restore an old box.

Thanks in advance for any advice about this.
 
Last edited:
There are probably a hundred different ways to go about this, but you could pick any DLL or EXE file in the Windows\System32 directory.

For example, I picked winver.exe in my Win 10 system.

Open the file with 7Zip. D-click the .rsrc folder and you should see version.txt. This file contains the version information for the EXE file, not Windows. However, this should be enough to tell you about the original installed Windows version.

I presume that Win XP EXE files would produce similar output.

Code:
FILEVERSION    10,0,19041,1
PRODUCTVERSION 10,0,19041,1
FILEFLAGSMASK  0x3F
FILEFLAGS      0x0
FILEOS         VOS_NT_WINDOWS32
FILETYPE       VFT_APP
FILESUBTYPE    0x0
{
  BLOCK "StringFileInfo"
  {
    BLOCK "040904B0"
    {
      VALUE "CompanyName",       "Microsoft Corporation"
      VALUE "FileDescription",   "Version Reporter Applet"
      VALUE "FileVersion",       "10.0.19041.1 (WinBuild.160101.0800)"
      VALUE "InternalName",      "winver"
      VALUE "LegalCopyright",    "© Microsoft Corporation. All rights reserved."
      VALUE "OriginalFilename",  "WINVER.EXE"
      VALUE "ProductName",       "Microsoft® Windows® Operating System"
      VALUE "ProductVersion",    "10.0.19041.1"
    }
  }
  BLOCK "VarFileInfo"
  {
    VALUE "Translation", 0x409, 1200
  }
}
 
Yes.

My suggestion is to use a USB connected external drive enclosure. That will allow you to use the enclosure for each HDD in turn.

When the enclosure is connected to the host system the drive should be recognized and the system will assign a drive letter.

For HDDs I recommend an enclosure with its own separate power source versus using the host system's USB power.

Once the drive is connected you can use Window's built in tools and utilities to discover more information about the disk.

Poweshell (Microsoft,free) has a number of disk related "Get" cmdlets to obtain drive information.

FYI:

https://www.thewindowsclub.com/use-windows-powershell-to-find-information-about-hard-drive

You can easily find other similar links regarding the use of various disk related "Get" cmdlets to learn more about any given disk.

Plus, once the disk is connected, Windows or any number of other utilities/tools can be used as well.
 
Open the file with 7Zip. D-click the .rsrc folder and you should see version.txt. This file contains the version information for the EXE file, not Windows. However, this should be enough to tell you about the original installed Windows version.
This doesn't answer the question posed. I clearly asked about the hardware and license information, not the Windows version.
 
Yes.

My suggestion is to use a USB connected external drive enclosure. That will allow you to use the enclosure for each HDD in turn.

When the enclosure is connected to the host system the drive should be recognized and the system will assign a drive letter.

For HDDs I recommend an enclosure with its own separate power source versus using the host system's USB power.

Once the drive is connected you can use Window's built in tools and utilities to discover more information about the disk.

Poweshell (Microsoft,free) has a number of disk related "Get" cmdlets to obtain drive information.

FYI:

https://www.thewindowsclub.com/use-windows-powershell-to-find-information-about-hard-drive

You can easily find other similar links regarding the use of various disk related "Get" cmdlets to learn more about any given disk.

Plus, once the disk is connected, Windows or any number of other utilities/tools can be used as well.

This doesn't answer the question posed. I clearly asked about the hardware (i.e. the motherboard of the machine, not the drive) and license info. The link you gave shows drive parameters which are useless for the purpose of determining which motherboard the drive was installed on.

I also don't see how the power source on the connected drive is relevant to obtaining this information.
 
Not trying to change the registry, and in fact that would defeat the purpose of reuniting the drive with it's original hardware. Just need to know where the information might be stored.
I'm not expecting you to change anything. That link merely loads your Win XP registry onto your existing registry as a hive. You can then navigate this hive to find your old info. When you are done, you simply unload the hive.
 
Unfortunately, the stickers got removed so I no longer know what motherboard each drive was associated with originally.
So if I'm thinking right your putting back together an XP motherboard and it's XP OS with that driver.

If that is what your doing and your just trying to match up the correct drive to your old motherboard just line up the drives one at a time and hook it up and see if system boots on that old motherboard.

If it boots and looks ok go into your device manager and see if the hardware's driver is loaded. If not put that drive to the side and move on.

Put the drives that just boot loop in another stack as it's most likely those are not the drive your looking for.

In about an hour more or less you should be on the right drive that your looking for to match motherboard.
 
I am not aware that any given disk drive specifically stores information about the drive's original or any other previous/interim host motherboard(s).

Perhaps incidently if there was some stored/saved copy of the registry or other summary of some past overall system configuration. Many tools and utilities support downloading system information into some readable format: .csv, .txt.....

That said: The immediate requirement is to find a XP driver for some hardware device - correct?

The original XP drivers may indeed be saved on one of the older disks. However, there is no need to match the disk drive with or to the original host system. All that should be necessary is to gain access to the disk drives and search for the driver(s).

And there should likewise be no need for Windows license information.

As has been mentioned; what hardware driver is needed? Device: make, model? OS being XP.

= = = =

Note: I only mentioned power in the context of using an external disk enclosure to connect past drives to a current computer to access drive data and/or format the drives to be used as data drives. That mention now appears to be moot.
 
  • Like
Reactions: stonecarver
you cannot boot random drive on said machine, because if it manages to boot and license wont be from said machine, windows will know that significant hardware change happened and license will be deactivated

that said, connecting drive as data drive and not booting from it, you can go into windows\inf folder, there will be oem**.inf files, those are 3rd party drivers not provided by windows install/update, you can open it with notepad to see for which hardware those drivers are, that should maybe help you tracking down where that win install belongs to (like chipset name/type)


if you wont be able to find out which drive belong to which PC, then this is more like a hack solution :

to not loose license and not break your windows
go to windows\system32\config folder and backup all files inside
once you have backup of it
boot that drive on any random PC, if it boots and youll see license deactivated due to hardware change, unplug drive, connect it as data drive and restore system32\config files (that will restore license and hardware back)
then boot it from another machine, keep repeating until you find where it belongs to

dont forget to stay offline while doing this, otherwise ms servers could flag your license
 
Last edited:
And what hardware device as has been asked? You have mentioned that need but not the hardware per se.

If you are not looking for a specific hardware driver that will run on XP what is the end objective?

= = = =

Reading back, including OP, the end objective (as I currently understand the requirement) is the "reuniting the drive with its' original motherboard hardware". Correct?

As has been noted in previous posts mixing/matching motherboards, disk drives, and OS's is problematic. More than just the licensing key is involved.

And if the drive is to be a secondary (non-booting/data) drive then the license does not matter.

= = = =

If you are simply trying to rediscover what disk drive originally worked with what motherboard then the process is very much going to be a matter of trial and error disk swapping as posted by @stonecarver and @kerberos_20.

Or at least require some means to open the files on the various disk drives in hope of finding some clue to help discover some specific match to do so. ( Note: I am not convinced that the licensing key will necessarily indicate a match.)

In any case, seeing some focus on licensing and keys, then you can look for keys that may or may not have been saved to any given disk.

Most likely in a backup copy of the registry - filename should have a *.reg extension.

Here is a link with more explanation regarding how to find license keys....

https://www.10-strike.com/networkin...l#:~:text=Getting Custom License Keys from,\"

May or may not help match motherboard to disk.
 
  • Like
Reactions: stonecarver
The BIOS and motherboard info are stored at the following registry key in my Win 10 system:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\HardwareConfig\Current​

This info is stored in this file:

D:\Windows\System32\config\SYSTEM​
If I search the above file for "SystemProductName" using a hex editor (eg HxD, freeware), I get ...

Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

0080E8E0  01 00 00 00 01 00 00 00 53 79 73 74 65 6D 4D 61  ........SystemMa
0080E8F0  6E 75 66 61 63 74 75 72 65 72 00 00 00 00 00 00  nufacturer......
0080E900  C0 FF FF FF 47 00 69 00 67 00 61 00 62 00 79 00  ÀÿÿÿG.i.g.a.b.y.
0080E910  74 00 65 00 20 00 54 00 65 00 63 00 68 00 6E 00  t.e. .T.e.c.h.n.
0080E920  6F 00 6C 00 6F 00 67 00 79 00 20 00 43 00 6F 00  o.l.o.g.y. .C.o.
0080E930  2E 00 2C 00 20 00 4C 00 74 00 64 00 2E 00 00 00  ..,. .L.t.d.....
0080E940  D0 FF FF FF 76 6B 11 00 16 00 00 00 70 D9 80 00  Ðÿÿÿvk......pÙ€.
0080E950  01 00 00 00 01 00 00 00 53 79 73 74 65 6D 50 72  ........SystemPr  <---
0080E960  6F 64 75 63 74 4E 61 6D 65 00 00 00 00 00 00 00  oductName.......
0080E970  E0 FF FF FF 39 00 34 00 35 00 47 00 43 00 4D 00  àÿÿÿ9.4.5.G.C.M.  <-- 945GCM
0080E980  2D 00 53 00 32 00 4C 00 00 00 00 00 00 00 00 00  -.S.2.L.........
0080E990  D8 FF FF FF 76 6B 0A 00 46 00 00 00 B8 D9 80 00  Øÿÿÿvk..F...¸Ù€.
0080E9A0  01 00 00 00 01 00 00 00 42 49 4F 53 56 65 6E 64  ........BIOSVend
0080E9B0  6F 72 00 00 00 00 00 00 B0 FF FF FF 41 00 77 00  or......°ÿÿÿA.w.
0080E9C0  61 00 72 00 64 00 20 00 53 00 6F 00 66 00 74 00  a.r.d. .S.o.f.t.
0080E9D0  77 00 61 00 72 00 65 00 20 00 49 00 6E 00 74 00  w.a.r.e. .I.n.t.
0080E9E0  65 00 72 00 6E 00 61 00 74 00 69 00 6F 00 6E 00  e.r.n.a.t.i.o.n.
0080E9F0  61 00 6C 00 2C 00 20 00 49 00 6E 00 63 00 2E 00  a.l.,. .I.n.c...

You will also find the BIOS version, etc.
 
The BIOS and motherboard info are stored at the following registry key in my Win 10 system:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\HardwareConfig\Current​

This info is stored in this file:

D:\Windows\System32\config\SYSTEM​
If I search the above file for "SystemProductName" using a hex editor (eg HxD, freeware), I get ...

Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

0080E8E0  01 00 00 00 01 00 00 00 53 79 73 74 65 6D 4D 61  ........SystemMa
0080E8F0  6E 75 66 61 63 74 75 72 65 72 00 00 00 00 00 00  nufacturer......
0080E900  C0 FF FF FF 47 00 69 00 67 00 61 00 62 00 79 00  ÀÿÿÿG.i.g.a.b.y.
0080E910  74 00 65 00 20 00 54 00 65 00 63 00 68 00 6E 00  t.e. .T.e.c.h.n.
0080E920  6F 00 6C 00 6F 00 67 00 79 00 20 00 43 00 6F 00  o.l.o.g.y. .C.o.
0080E930  2E 00 2C 00 20 00 4C 00 74 00 64 00 2E 00 00 00  ..,. .L.t.d.....
0080E940  D0 FF FF FF 76 6B 11 00 16 00 00 00 70 D9 80 00  Ðÿÿÿvk......pÙ€.
0080E950  01 00 00 00 01 00 00 00 53 79 73 74 65 6D 50 72  ........SystemPr  <---
0080E960  6F 64 75 63 74 4E 61 6D 65 00 00 00 00 00 00 00  oductName.......
0080E970  E0 FF FF FF 39 00 34 00 35 00 47 00 43 00 4D 00  àÿÿÿ9.4.5.G.C.M.  <-- 945GCM
0080E980  2D 00 53 00 32 00 4C 00 00 00 00 00 00 00 00 00  -.S.2.L.........
0080E990  D8 FF FF FF 76 6B 0A 00 46 00 00 00 B8 D9 80 00  Øÿÿÿvk..F...¸Ù€.
0080E9A0  01 00 00 00 01 00 00 00 42 49 4F 53 56 65 6E 64  ........BIOSVend
0080E9B0  6F 72 00 00 00 00 00 00 B0 FF FF FF 41 00 77 00  or......°ÿÿÿA.w.
0080E9C0  61 00 72 00 64 00 20 00 53 00 6F 00 66 00 74 00  a.r.d. .S.o.f.t.
0080E9D0  77 00 61 00 72 00 65 00 20 00 49 00 6E 00 74 00  w.a.r.e. .I.n.t.
0080E9E0  65 00 72 00 6E 00 61 00 74 00 69 00 6F 00 6E 00  e.r.n.a.t.i.o.n.
0080E9F0  61 00 6C 00 2C 00 20 00 49 00 6E 00 63 00 2E 00  a.l.,. .I.n.c...

You will also find the BIOS version, etc.
Awesome, thanks!