I'm in the process of restoring an old Compaq LTE Elite 4/75 laptop, which was missing its hard drive, so I thought I'd try booting using an SD-to-IDE adapter.
On my main workstation I created an emulated image of MS-DOS 6.22 (with Windows 3.11), as well as an image of Windows 95. I then dd
'd these images to SD cards.
The SD card with MS-DOS boots up perfectly, and everything works, including Windows 3.11 and all the other software I loaded onto it.
However, when booting from the SD card with Windows 95, it just hangs at the very start, before even getting to the "Starting Windows 95..." message. (It doesn't say "missing operating system", but just hangs on a blank screen.)
The two SD cards are identical in size (2 GB), and each has just a single partition. Although I have also tried this with smaller SD cards, down to 256 MB. It certainly feels like some kind of CHS↔LBA mismatch, or the BIOS detecting the drive incorrectly, but then why would the DOS drive work, and the Win95 drive not?
More data:
The filesystem is FAT16.
This was partitioned and formatted within the emulator.
I'm using 2GB SD cards, but flashing them with a 500 MB disk image. In the emulator the drive was created as 1015/16/63, and from within the target laptop the drive is auto-detected as 3807/16/63.
Here is the partition table:
00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01 ..............€. 000001C0 01 00 06 0F FF F6 3F 00 00 00 51 9C 0F 00 00 00 ....ÿö?...Qœ.... 000001D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA ..............Uª
Single bootable partition, type ID 6 (FAT16B, CHS), first sector (0, 1, 1), final sector (1014, 15, 63), LBA offset 63, 1023057 sectors long. (Implied geometry: 16 heads, 63 sectors per track.)
Not sure whether the BIOS supports int13 extensions.