reading old dos hard drive in windows 7

Franck76

Honorable
May 12, 2013
4
0
10,510
I recently plugged an old conner CP30344 hard drive (340MB) on a windows 7 laptop via external power supply and USB/PATA cable. The drive starts fine (which is a wonder after so many years unused) but does not appear on "my computer". When I run diskmgmt.msc, I can see it in the list as "not initialized" and when I try to initialize it, I have two choices : MBR or GPT. I tried both, but both give me an "incorrect function" message.

Is it because the disk is out of order? In this case nothing much can be done.

Or is it because neither MBR or GPT are adapted to such an old disk, and I need another disk manager?

Thanks for your help!
 

John_VanKirk

Distinguished
It is an older IDE drive. The only other thing to check on this drive, being connected thru a USB/PATA adapter, is it must be set up as a Master. Pins C&D need a jumper on them.

Then try initializing it, use the MBR partition type, Basic Drive. That's the old time standard.

It will not be recognized by the OS until it is Initialized, and won't be listed in the File Explorer until it is FAT32 or NTFS formatted and given a VolumeName.
Once done, check in Device Manager to see if it is listed there without any yellow exclamation alerts.

If not successful, there may be an internal problem with the drive, but just sitting around several years doesn't make the drive non functional. Unless just for academic interest, it's not worth spending much more time, and no money, on the drive.
 

Franck76

Honorable
May 12, 2013
4
0
10,510
Thanks for the quick answers!

I tried with the jumpers set to master, and other combinations as well, without success. I was just wondering if it was an old protocol not supported anymore. I assume it must be dead!

I was just curious to see if I had left there some interesting data, back then. I'll check my floppies now!
 

John_VanKirk

Distinguished
Hi Franck,

No it's not an deprecated protocol. There are lots of PATA HDDs in use with Win-XP and computers of the "turn of the century" vintage!
In fact you can still purchase your HDD on EBay today. The largest PATA I have seen is 500GB, so 320MB is quite small comparatively, and even to a $10 16GB flashdrive you can buy today. The problem may be in the USB/PATA bridge, which could be incompatible with this drive.

If you have an older desktop MB that has 2 IDE ports on it, you could try connecting it to one of the ribbons, setting it to Master or Slave depending on if there is another IDE device on the cable, and seeing if it will initialize there. Or for $15 you could purchase an IDE/SATA adapter, and connect it to a SATA port. Both academic.

The fact that it says "Initialize" means there is no partition table signature, formatting, or "secret" data you are going to find on it.
The last option, if you haven't in the past done so, is to make it an educational "experience" and take it apart to see exactly how HDD's are constructed. The physical components of this drive and the newer SATA drives are pretty much unchanged.
 

Franck76

Honorable
May 12, 2013
4
0
10,510
Thanks again John,

I am testing components with aim to rebuild one of my old PCs for a kind of small-scale personal museum of computers, so I'll keep this hard drive at hand and give it a try again on a machine of its time. You gave me an idea with your last option, I will do that with some other drives which do not start at all.
 

Paperdoc

Polypheme
Ambassador
It may be that the HDD is so old your equipment cannot communicate with it. I suspect strongly that the adapter you are using ASSUMES that it will communicate with a newer unit that uses the LBA addressing system. But a drive that old may not. It may only be capable of using the older CHS addressing system.

That system VERY likely is available if you connect it as an internal drive to an IDE port on a mobo. Usually then the mobo BIOS will at least allow you to specify the C, H, and S parameters for the drive, and those pieces of info will be printed on the HDD's label. It may also specify things like the Precomp and Parking track. If you're lucky, the mobo BIOS MAY auto-detect those things for you if you set it to Auto. Other wise you can enter the values yourself.
 

kulwant

Distinguished
Feb 3, 2008
9
0
18,510
Paperdoc,

Your answer is very relevant. I've got the same problem. Trying to recover data from a working 130MB Seagate ST3145A from a 486 SX PC. Works fine in the PC but Windows 10 sees it as a RAW uninitialised drive when connected via a USB/IDE adapter.

Luckily I may still have some old PC's lying in the shed to try this on, but have been wondering if there's any way to get the USB/IDE adapter to use CHS addressing instead of LBA to mount the drive.
 

Paperdoc

Polypheme
Ambassador
kulwant, I suspect the answer is no. When you are dealing with a very old HDD that requires use of CHS addressing, that information is entered into and used by the BIOS code that operates the mobo's IDE port. However, an IDE drive connected via an adapter to a USB port does not use that interface, I believe. I doubt that the BIOS techniques for working with an IDE drive on a mobo IDE port can be redirected through a USB port. I suspect, instead, that the adapter contains a small IDE port controller chip and associated mini-I/O code that simplifies things by assuming that the drive plugged in is at least modern enough to use LBA addressing, and cannot use CHS addressing.

Your best bet to establish communication with that old IDE drive unit is to connect it to the IDE port of a mobo. Then you need to experiment a bit.

1. Before connecting and installing, set the jumper(s) on the back of the HDD. First find the label on the HDD for how to set the jumpers for Master or Slave or Master with No Slave Present or Master with Slave Present (not all of these will be listed). Next, read the label to find the HDD Parameters: Cylinder, Head, and Sector numbers (CHS) and often Pre-Comp and Landing Zone. Write these all down.

2. Now, how are you connecting to the mobo IDE port? The wide data cable normally has three connectors on it. The BLUE one on one end goes to the mobo port. The BLACK one on the other end goes to the Master drive unit. The GREY one in the middle goes to the Slave unit. There must always be one Master unit on an IDE port and cable, and there MAY be a Slave unit. (IF you are using both a HDD and an optical drive on one cable, it is best to set the HDD as Master and the optical as Slave on that port. SOME optical units did not work well as Masters.) So, if this old HDD is the only device on that IDE data ribbon, set its jumpers to the Master role and connect to the END of the ribbon cable. If it is the second device, probably set it to Slave and connect to the MIDDLE connector. Just make sure that the one on the end is set to Master. And, as above, if the other device is an optical unit, you might have to reverse that order and settings.

3. With the data ribbon and power connections done, close up and boot into BIOS Setup. There are three possible ways to set the BIOS to deal with this old unit.
(a) In the opening screen where the HDD's are configured, examine what it says about that old unit. By default normally it will be set to Automatically detect the HDD and its parameters, and it may have succeeded in doing that. So, see if the entries shown for C,H,S and others are correct, and if the HDD capacity in MB is correct. If yes, you are probably ready to proceed, so go to Step 4. If not, go to option (b).
(b) If the opening screen failed to detect properly, look near the end of the BIOS Setup screens for a menu item to Detect the Hard Drive. This is sometimes more thorough that the "automatic" system. You tell it exactly which drive unit you want checked, and then tell it to go ahead. It will return a display of Hard Disk Parameters, sometimes more than one set. Examine those carefully and, if one of them matches the data you copied from the HDD's label, tell it to use that parameter set. Now, go back to the opening screen and verify that the drive is using those parameters and shows the right capacity. If that's OK, go to Step 4.
(c) If you got here, the two detection systems failed. But you still have the label info. Go back to the opening screen and to the line for this old drive. Go to the Type entry field, which may already be set to "Auto". Now use the menu to change that to a number. Usually it will give you a list of 2-digit numbers to choose. Go to the end of the list and look for either the very last number or one called "User". Choose that and the drive's parameter line will now allow you to enter your own settings, rather that some pre-defined set. For each parameter, enter the data from the HDD label. When you get them in, the calculated capacity should match what the label said.

4. OK, now that you have the HDD type and its parameters set, make sure you SAVE and EXIT from BIOS Setup. The machine should boot, and that old HDD should show up in My Computer. Do NOT try to write anything to it! This is just in case the parameters were wrong. First, click on that drive and see if you can see its contents. If that works, look through it as much as you can to be sure all its data it available to you. If it is, then you are all ready to copy anything you want off it to another storage place. Do NOT write anything to that drive until AFTER you have read and copied everything you want from it.

If you cannot read data from the drive, there are two possible reasons:
A. You entered the wrong parameters and the OS cannot read the data properly. Review the HDD label and your entries in the BIOS screen to be sure. But even sometimes that is not enough. I once had a HDD that had been used with the wrong parameters, and I had no idea what parameters had been used. So I could not get any of its data off.
b. The old HDD actually has failed. This gets into one of two categories: either it has some corrupted data that makes it impossible for your current OS to read, OR it has a real hardware failure and cannot be used at all. Corrupted data MIGHT allow you to use a Data Recovery utility to read stuff off anyway and copy it to another drive unit. I won't discuss those details here. If the indications are a hardware failure, you might be able to confirm that using a HDD diagnostic utility you download from the website of the drive's manufacturer.
 

kulwant

Distinguished
Feb 3, 2008
9
0
18,510
Thanks for the detailed response Paperdoc. I do have some experience of attaching HD's to machines with old CHS geometry BIOS', and the drive is already working in such a machine, so the key really is to step through some newer machines to get to the stage where the MS-DOS based software can be run on something that doesn't sound like a Dyson :)
 

Paperdoc

Polypheme
Ambassador
Glad to see you understand all that stuff. So back to my key thought: I suspect the way a mobo IDE port can be configured for CHS addressing simply can't be done through a USB-connected adapter. You would be best to connect that old HDD to an IDE port on some mobo.

If your only real need is to copy the files from that old unit to another storage device, I would expect any Windows version to be able to access and copy files from such a drive if the BIOS can recognize it. AFAIK, all versions of Windows have device drivers built in for any IDE device. Now I agree that lots of current application software may not be able to understand the file format of a very old file, and that certainly can be a big issue in trying to use those files. But Windows should be able to just copy them to another storage device.

If your plan is to run very old MS-DOS-based application software under a new Windows, that can be a problem! I am not familiar enough with the "DOS Compatibility" techniques in recent Windows versions. I do know I had one type of problem with this. I have an MS_DOS-based Point-of-Sale software package for our retail store which works very well under several Windows. When I got to Win XP it could not print anything! The software supplier gave us the solution for that one. Apparently beginning with XP, all peripheral devices are taken completely under Windows' control, so old techniques of writing directly to a peripheral device port are not allowed and don't work. The solution provided was to use a NET USE command that tells Windows to take any application's output directed to a particular port and re-direct it to a different port (as specified) on the network. So in my case I had to re-configure the app software to print to my normal printer on a parallel port (LPT1) rather than on its proper serial port (COM1). Then I wrote a simple DOS batch file that executes a NET USE command to re-direct anything sent to LPT1 to the COM1 port, then start up that application. On exiting the app, the batch file executes another version of NET USE to wipe out its re-direction command before terminating. That trick solved ONE of many stumbling blocks in using old DOS software under current Windows.