8

Context: I'm running an original MS-DOS. I suspect the hard disk is failing, but don't want to shut it off for fear of not being able to get it started again if I can't swap the hard drive into another computer.

I would like to come up with some information about the hard drive - particularly the connection interface used to plug it in, so I can know if I can transfer the hard drive into another newer computer and transfer data off.

Are there any commands in MS-DOS I can run to figure this out? (Running at least version 3.3, not sure of exact number.)

9
  • 1
    Simple way: take a look at the drive. Chdsk will only tell you the size and (hopefuly) geometrics. Next step could be peeking into the disk controller BIOS - at least for early machines. But most successful is ipeneing the lid and take a peek.
    – Raffzahn
    Jan 25, 2018 at 3:11
  • Hmm, yes, that would work if I turned off the machine... is there a way to access the BIOS without turning off on MS-DOS? Good idea on chdsk, though. That should also show up whether the disk is having trouble, I assume?
    – anonymous2
    Jan 25, 2018 at 3:12
  • 2
    @Tommylee2k IIRC fdisk requires restart which might be dangerous for failing HDD ....
    – Spektre
    Jan 25, 2018 at 8:26
  • 2
    For one you may enter BIOS by doing a reboot, so no power off necersarry. CHKDSK will only show rather obvious defects. So I'd still go with opening the case. More iportant you havent said anything about the PC. It might be helpful, as the question is much like acking about problems with your gas powered car withotu telling if it's about a 2010 Mercedes or a 1920 Ford Model T.
    – Raffzahn
    Jan 25, 2018 at 10:44
  • 1
    An original DOS version of spinrite was good at diagnosing and recovering drives; I still keep an old copy around for this purpose... Jan 25, 2018 at 16:00

3 Answers 3

6

I would:

  1. create bootable floppy

    This will make sure you got the correct system files in case of failure. Just to be sure do at least 2 floppies like this. IIRC it was done like:

    FORMAT A: /S
    

    to be sure check the FORMAT.exe /? help page (not sure it uses /? /h or /help).

    Do not forget to copy to your floppy also some MS-DOS commands like FDISK,FORMAT in case you would need to reformat new HDD from scratch.

  2. copy your HDD data and system files somewhere

    Not sure what options you got (Floppies are usually not a good idea for this). You can use COM or LPT to transfer your data to another PC by using FX (does not require restart) or laplink/interlink for more info see:

    How can I copy files from a Compaq Deskpro?

    Now in case your drive will fail you got all you need to restore your computer with another drive.

    Easiest of coarse is to copy to another drive but that requires turning off ...

    There are utilities like GHOST for this too. I do not know any other LAN utility for this but LAN under MS-DOS is tricky as you need proper drivers (usually IPX).

  3. check your HDD (while still running)

    In MS-DOS you can type:

    c:
    dir
    

    that will print info about current directory at volume C and how much free space you got. With knowing total capacity (from drive number) you can estimate how much data you got.

    During startup the BIOS usually prints a table of detected devices present like:

    startup

    If you see something like IDE,ATA or ATAPI in there there is high chance your drive is PATA which is the best as they are still available (even I got a pile of them) and there are still reductions SATA/PATA so you can use even new drives.

    If you see SCSI then you are most likely in trouble as those drives are not very common (they where used in servers and was designed for 24/7 work so switching them on/off is much more risky). But I saw also SCSI printers and scanners so it does not necessary mean you got SCSI HDD.

    There are also MFM discs out there. The biggest capacity I saw was ~ 40 MByte.

    To check your HDD integrity you could use HDD utility from drive manufactor. The really old ones can be even reformatted by low level (not in the BIOS !!!) but that usually worked on drives up to 20 MByte. The newer ATA drives could not be reformatted at all or could be damaged by it permanently.

    There are also utilities like PQ magic (PartitionMagic), NDD (Norton disc doctor) which can check your drive logicaly).

    To detect what drive you got go to BIOS (restart and then [del] , [F2] , [F8] or whatever) and look for Drives there:

    BIOS drives

    There you should see manufactor and drive number. From that you can google datasheet for that drive and look which interface it got.

  4. check your drive(while turned off and opened)

    simply look for the HDD and take a look what cables it is connected with.

    For old drives is usually 4 pin MOLEX connector used for power (+5V,GND,GND,+12V). the rest depends on the interface:

    • PATA uses single 40 or 80 pin wide cable.
    • SATA uses thin 7 pin cable (highly unlikely for MS-DOS machine)
    • SCSI I did not came to contact with such drives but devices have 50 or 68 pins singe cable usually connected by Centornix cable (like LPT but wider) but there are more types of connectors.
    • MFM uses two cables 20 and 34 (like FDD cable) pins so if you see two wide cables you can be sure it is MFM.

    On some newer or repassed MS-DOS machines are sometimes SSD PATA drives used in form of CF Flash card with IDE/ATA interface/reduction (the CF uses the same IDE/ATA interface as PATA HDDs so the drive is just PCB with 40pin ATA connector 4pin MOLEX one jumper 2 resistor arrays and single capacitor). I got one 512 MByte from old 486 machine given to me as spare parts once.

  5. new HDD

    In case of fail you can use different drive. PATA is your best choice as they are still available. In case you do not have PATA interface then you need also that (they where very common as small ISA card with 2xCOM 1xLPT 1xGAME 1xFDD 2xPATA) so they should be easily available too.

    Now boot from your floppy. Then type:

    FDISK
    

    Create partitions (do not forget to make it active) and FAT you need. After exit restart, boot from floppy again and type:

    FORMAT C: /S
    

    Now you are bootable from HDD again... now just transfere backuped files back to new HDD (replicate original folder structure) but DO NOT OVERWRITE SYSTEM FILES !!! (except AUTOEXEC.BAT and CONFIG.SYS).

    While using newer drives beware that there are OS, BIOS and FAT capacity boundaries (IIRC: 528MB,8GB,32GB,~90GB,2TB) and if you want to use higher capacity than your platform support do not forget to use LBA in BIOS and install driver like EZ drive before use and format with compatible File System (FAT16,FAT32...) but that depends also on the MS-DOS version.

    Some PATA/IDE drives has also jumper to set the drive for specific boundary limit (like 32GB) rendering the rest of drive unusable but safe to use in such platforms as native drive.

    In case you handle boundaries wrongly any write access above that boundary usually overwrites FAT table rendering your FS unusable. To be more safe I usually create 2 partitions and have all the important stuff on the second one. So when this happens it overwrites just the C volume where only system is ... which I got backupped on D so I just boot from floppy FDISK and FORMAT C: /S copy backup back to C and Can be workable again without loss of data... Sometimes PQ magic alone helps restoring drive after this... I think the last version I used under MS-DOS was PQ magic 8.0

8
  • 1
    Nice writeup, except, you assume a certein 'newness' of PC here. There are Generations of machines withotu the boot and BIOS screens like that, not to mention most of the technologies (ATA etc.) you mentioned.
    – Raffzahn
    Jan 25, 2018 at 10:46
  • 1
    @Raffzahn I do not know of any (but I started only from PC-AT x286)... most old computers that do not have boot and/or BIOS screens are usually just turned off in BIOS setup. Some machines require BIOS boot disks however (like COMPAQ) but that does not mean they do not have BIOS or screens like that. And some BIOS screens are gut out to bare minimum for LAPTOPS or for those first GUI BIOSes in early x486. In any case PQ magic should reveal all the info you need (just in case)
    – Spektre
    Jan 25, 2018 at 10:52
  • 2
    @Raffzahn - to be fair, the vast majority of PCs have BIOSes that show information on attached disks. Even my 286 (which was manufactured in 87) did, although I'm pretty sure it didn't specify the connection type (I was surprised, when I attempted to upgrade its hard disk, to find that it didn't support IDE, so the BIOS must not have reported the disk as being MFM). Even given a focus on older machines that is to be expected here, I think the majority of us have machines that will give useful information during startup.
    – Jules
    Jan 25, 2018 at 19:17
  • 1
    @Jules In fact, that's an issue I have with many PC related question and this one is a vine example: No useful information about the machine in question 'A PC runing DOS 3.3'. That opens a field from an original PC up to some Pentium Box. Not helpful. I was close to flag it as too broad. (And BTW, I know many 386 not offering any Information during boot or BIOS setup. Having a 286 with such information doesn't set any rule).
    – Raffzahn
    Jan 25, 2018 at 20:11
  • 1
    PartitionMagic has neither space nor "k" in its name.
    – Ruslan
    Jun 20, 2018 at 6:01
5

In addition to the options given by @Spektre, here are a couple of other things that you can try.

If you have MS-DOS 6.x/Windows 3.x or higher, you should have MSD (Microsoft Diagnostics) available, which will give you an overview of your computer's configuration. It won't help you determine the disk interface, but it will tell you the BIOS date and hard drive capacity.

If you do not have MSD.EXE available, then you can get a rough idea of the age of the system by using debug to show the BIOS date

C:\>debug
- dffff:5

You should get the date of the BIOS program, which is generally around when the computer was built. Some manufacturers didn't bother to set this (or they used a bogus value), but it's generally correct.

If your computer is a consumer-class system and was made in the 1990's or later, chances are very good that the hard drive is IDE: ST-506 was essentially obsolete by the late '80s, and SCSI was more of a server option because of the cost. As well, if your hard drive is more that 80MB it's likely IDE.

However, if you're only worried about preserving data, just copy the important files to floppy disks: it's likely the only transfer mechanism that you have right now unless you invested in a null-modem cable, and you don't have to turn off the computer to use it. Most files should fit with no issues, but you may want to consider using an archiving or backup system to reduce the number of floppies that you need (most archives support spanning, which is helpful if you have files that don't fit!)

5

particularly the connection interface used to plug it in

Not possible, this is all hidden behind the abstraction layer the BIOS provides.

And even testing the controller type won't help much, the IDE controller is simply a MFM controller built into the drive instead of an ISA card. To an old computer, they look exactly the same, the IDE port was just a different connector ISA slot.

You could do a FDISK /STATUS to find out about the disk, then make a lucky guess from its size what kind of disk it may be.

3
  • "the IDE controller is simply a MFM controller built into the drive instead of an ISA card" -- I thought this too, but Wikipedia seems to think otherwise: it suggests this was true of some SCSI devices that were basically MFM disks with a SCSI to ST506 adapter integrated, but that IDE devices generally had drive-specific controllers from the very beginning. I don't know how true that is, of course, as it's an unsourced assertion on wikipedia...
    – Jules
    Jan 25, 2018 at 19:35
  • 1
    The important thing is you can't tell which interface the drive has, regardless if it was an MFM or RLL controller. One time I even had an ISA RLL controller in my hand, cables were the same as those of MFM controllers.
    – Janka
    Jan 25, 2018 at 19:41
  • @Jules LOGICALLY, an IDE drive presents itself to the BIOS as an MFM controller with a drive attached. And an MFM/ST506 controller had no need to relay physical drive information to the operating system, since you had to tell the controller via the BIOS what drive was attached, not the other way around - the MFM/ST506 interface offers no facility for reading out any metadata from the attached drive. Apr 14, 2018 at 21:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .