I am trying to fix up an old work computer I have from the early to mid 90's.
Everything works fine, but the hard drive makes a horrible clicking noise when it loads anything, so I decided to replace it. I have seen many videos and articles describing using Compact Flash cards with IDE adapters instead of traditional hard drives, so I decided to try that.
I used my Linux machine to take an image of the original hard disk, which is 160MB. I bought a couple of 512MB Lexar CF cards, and I imaged one with the hard disk image using a CF to USB adapter. I used this adapter to connect the CF card to the computer.
The BIOS detects the drive properly and fills out the Cylinders/Heads/Sectors information, but when it tries to boot from it, it fails and says "Missing operating system". The status LEDs on the adapter indicate that there is power, but the data light only ever flashes once, very briefly, before the error is reported.
I tried connecting the old hard drive and the CF card, but in that case only the hard drive was detected.
I checked the hex dump of the image and confirmed that it does have the magic number for a bootable drive.
I do not have any other systems with IDE connectors available at the moment, but I have tried connecting to the CF card with the adapter to an IDE to USB adapter on a modern computer. In that case, the OS detects the drive, but fails to read from or write to it. However, the card does work using a CF to USB adapter.
What I would like to know is what would cause the computer to fail to boot from the card?
Could it be that that CF card isn't compatible?
I have read online that some cards are more compatible than others, but no one seemed to have a problem with Lexar cards. If the card is the problem, how do I know which card to buy so that it is compatible?
Responses to comments:
I am trying to boot DOS 6.22/Windows 3.1.
I don't have a boot floppy that I can use to see if the card is recognized. That is why I tried using the original hdd in addition to the card, but then the card wasn't recognized. The computer only has one IDE connector, and I couldn't get it to detect the card as either master or slave when the hdd was connected.
The original hard drive works fine, so I don't think there are any problems with corrupt data.
I don't know much about disk geometries, but I am pretty sure they are different. The C/H/S values are different, and the CF card is about 4 times larger than the hdd.
The computer is a DTK Computer. I am not sure of the model. I guess it would fall into the "PC compatible" category.
I attempted to follow the advice of @Ken Gober and I made a boot disk, copied format.com and fdisk.exe, then booted the disk. I partitioned the card with fdisk and made it active, then formatted the C drive with format.
I got another computer with an IDE port, and used that to copy the data from the hdd to the card in a number of different ways, including:
- Copying the files using cp on Linux
format /sand copying over everything that was not already there
format /sand copying everything, replacing duplicates
dd if=/dev/hdd-partition of=/dev/card-partition bs=512
dd if=/dev/hdd of=/dev/card bs=512 skip=22 seek=63 count=numSectors
format c: /s
As a result, I got one of three responses:
- "Invalid system disk. Insert another disk and press any key..."
- "Missing Operating System"
- "Starting MS-DOS...", then the system hangs indefinitely
Interestingly enough, If I boot from a floppy disk, I can see all of the files on the card, and some of the executables even try to run, before complaining about missing himem.sys, complaining about needing Windows, or halting the system indefinitely while loading or something.
Thank you all so much for the help. At this point, I may just try installing FreeDOS just to see if I can get anything booting off the CF card.
I took @Jules advice and tried
sys a: c:. Again, the computer said "Starting MS-DOS..", but then got stuck in a loop or halted with the hard drive access light stuck on. Also, it seems that the original hard drive no longer boots properly, either (it's backed up, so it's fine). It seems that anything which is touched by a newer computer doesn't work with the old one.
I suspect that there is a lower level issue at play. I don't have any other computer old enough care about the disk geometry instead of using LBA, and this one only has one IDE port, so I might just be screwed. I may just try to get an SD adapted as @traal suggested.