-1

I am trying to boot 386 laptop from a CF card. I've prepared image by installing DOS 6.22 in VirtualBox, and then burning image to a CF card.

  1. Image boots just fine in VirtualBox
  2. CF card with the image boots just fine in newer Toshiba Libretto laptop (Pentium-era).
  3. 386 laptop is able to read MBR, but displays the following error message "Missing operating system". I know it loads from CF-card, I've modified message in MBR record, and it did showed altered message.

Tried different CF cards (256Mb, 4Gb - all with small primary partitions of 30-200Mb), and SD->IDE adapters. Same result everywhere.

Any suggestions how to make it boot?

4
  • 2
    Once you boot, you may enjoy using some DOS software newer than DOS 6.22. For instance, CuteMouse is a newer mouse driver that use less conventional memory than almost any alternative, and there are also newer CD drivers that use less conventional memory than drivers released by Microsoft, and 4DOS 7.5 has been released as freeware (before the 4DOS 7.50.1 which had source code released, but might be licensed for just FreeDOS).
    – TOOGAM
    Jan 25 '20 at 15:08
  • This was double-posted and now we have two copies here. retrocomputing.stackexchange.com/questions/13468/… Jan 25 '20 at 17:30
  • @another-dave why not close the one without answers?
    – hobbs
    Jan 25 '20 at 18:43
  • Because I didn't think of it, and also assumed first one seen here had priority. If you want to and can cancel this close it's ok by me. Jan 25 '20 at 19:04
3

I think you did a good job of providing relevant details. For instance, the fact that the same image works on a newer machine does indicate that the critical "system files" (IO.SYS and MSDOS.SYS and perhaps the command interpreter, typically COMMAND.COM) may all be in the right locations on the disk (referring to disk sectors, not just filesystem hierarchy). However, I also think we may need even more details to fully resolve this. So, until more are provided, this answer needs to be just a stab in the dark.

Be aware of some size limitations. DOS 6.22 used a signed integer which typically limited FAT16 partitions to 2GB (unlike some Win NT variations which could support 4GB on FAT16). There are a number of other limits that have affected hard drive space, like a limit of around 512 MB (or 528 million bytes) as noted in these resources:

While the code may be loading from the MBR, the code on the MBR may be interpreted differently. The code on the MBR may be relying on the BIOS to read from the disk, and there may be different BIOS capabilities. The "Large Disk" article I mentioned above may discuss some relative limits.

For instance, I remember hitting an 8GB limit on a 486 desktop. Your 386 laptop may be older than that, and the solutions would be to upgrade the BIOS (which typically involved replacing a chip, which might not be attached in an easily removable form) or figure out how to use older equipment.

I suggest that your DOS installation be on a partition using Partition Type/ID 6, not Partition Type/ID E (0xE, 15). 6 will be compatible with more older BIOS versions.

Note: These suggestions are largely based on my knowledge and experience from physically full-sized hard drives. I don't know what complexities get added with using a CompactFlash drive built into a laptop. Systems much newer would often be limited to booting from a hard drive or a floppy drive, and trying to boot from a drive connected to a parallel port, or a USB port, might not work so well. The ability to boot from some other sources, including a USB port, didn't get resolved until some BIOS updates after the Pentium chips were out. I think that booting from a second hard drive may have been hit-or-miss. So maybe your BIOS isn't as cooperative (even though it did find some code to start on the MBR). Unplugging any other disk (like a hard drive) might actually be helpful.

If none of the above helps, I suggest posting more details, like how big your partitions are, what partition types you're using, and whether you get similar results when trying another operating system (FreeDOS sounds like an interesting one to compare to).

5
  • 1) 4Gb, not 4Tb. Otherwise correct but not a problem here. 2) 137GB barrier was in the XP/vista are driver time, but these are small enough. 3) Partition wise, I recall some issue with DOS 3 and max 20/30MB partition. Probably fixed in 6.22 but ...
    – Hennes
    Jan 25 '20 at 16:16
  • If the bios does not support LBA, which I doubt it does then hard drive size will be a limitation as mentioned.
    – Moab
    Jan 25 '20 at 17:26
  • Hennes: Thanks. Somehow I was thinking 4 terabytes was mentioned, even though when I re-read the question I just see it mentioned 4 gigabyte hardware. I appreciate the correction. For that matter, though, the two gigabyte limit for FAT16 is relevant, so I just removed some of the text discussing even higher limits (but left the references in case they somehow become relevant).
    – TOOGAM
    Jan 25 '20 at 17:38
  • @TOOGAM Could you please copy your answer here: retrocomputing.stackexchange.com/questions/13468/… This one will be removed due to duplicate question? There are interesting points in your answer regarding partition types. Jan 26 '20 at 12:40
  • I cooperated (and duplicated my answer). In hind sight, maybe I should not have been, because there may be a better approach. Apparently questions can be merged, which moves answers over. (Well, I don't know if that's a simpler approach now, after the answer got duplicated. But it probably would have been a better approach back then.)
    – TOOGAM
    Jan 26 '20 at 13:15

Not the answer you're looking for? Browse other questions tagged or ask your own question.