VOGONS


First post, by odd144

User metadata
Rank Newbie
Rank
Newbie

Hi trying to boot specifically into a MS-DOS 6.22 environment. My PC is dualboot Win98 SE & WinXP SP3.

I used a bootdisk program from"https://www.bootdisk.com/bootdisk.htm" for MS-DOS 6.22, however when it boots up, there is no access to the C: drive only A: & cdrom drive.

Is there a work around? For testing I tried the Win95 boot disk, which shows the c: drive but Win95 is MS-DOS 7.0.

Reply 1 of 6, by BinaryDemon

User metadata
Rank Oldbie
Rank
Oldbie

I'm going to guess your C: drive is >2gb or formatted Fat32? You should probably just use a Win98SE boot disk unless you really have a need to run DOS 6.22.

Check out DOSBox Distro:

https://sites.google.com/site/dosboxdistro/ [*]

a lightweight Linux distro (tinycore) which boots off a usb flash drive and goes straight to DOSBox.

Make your dos retrogaming experience portable!

Reply 2 of 6, by odd144

User metadata
Rank Newbie
Rank
Newbie
BinaryDemon wrote on 2020-03-10, 00:29:

I'm going to guess your C: drive is >2gb or formatted Fat32? You should probably just use a Win98SE boot disk unless you really have a need to run DOS 6.22.

Yes have a need for 6.22 and yes c:\ is Fat32 8gb but I did create a partition(d:) for a 2gb Fat16 drive with the files I need to test but 6.22 didnt pick that up.

Reply 3 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++
odd144 wrote on 2020-03-10, 01:48:

Yes have a need for 6.22 and yes c:\ is Fat32 8gb but I did create a partition(d:) for a 2gb Fat16 drive with the files I need to test but 6.22 didnt pick that up.

Hm. Perhaps the problem is there because D: is an Extended Partition. And Extended Partition is not independant, it is attached/glued to the Primary Partition.
Which in your case uses a FAT32 Partition ID. Perhaps that's the reason DOS 6.x can't see it. It's just a wild guess, though.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 4 of 6, by dionb

User metadata
Rank l33t++
Rank
l33t++

The problem definitely isn't the boot floppy itself. DOS is very simple, if it works with A: it should work with C:, and it relies completely on BIOS, or BIOS extensions (option ROMs on things like SCSI cards) to access that.

So one of two problems:
1) the whole drive is inaccessible to DOS (not supported by BIOS).
2) the partitioning or formatting is inaccessible to DOS.

Fastest way to check: run FDISK. If it spots the drive, the problem is probably partitioning and/or formatting. If FDISK doesn't spot the drive, the problem is in hardware config - although that's unlikely as Win98 uses the same BIOS routines to initialize and that apparently does work.

I'd be inclined to agree with Jo22 if it's partitioning - as a rule you want to make the partition for the most demanding/problematic OS first, add the easier stuff later. But tbh I find that best practice by far is to give every OS, particularly DOS, its own drive (which is <2GB in the case of DOS) and use BIOS to select what to start. Corollary of that: with old systems only able to boot A: or C: I generally only run one OS.

Reply 5 of 6, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie

The primary and extended partitions aren't reliant on each other. DOS has a weird requirement that it won't create a second primary partition, and it won't create an extended partition without an existing primary, but it doesn't need those both to be CHS FAT16. You can create LBA and/or FAT32 partitions with more sophisticated tools than DOS fdisk and it'll cope with that just fine.

If your "D:" drive is FAT16, it's probably just configured to use LBA. The partition IDs are different, and before DOS 7, it will see those as "Non-DOS" partitions. Here's a snippet from a C header file for a FAT library I've been working on:

// Partition type codes
#define MBR_TYPE_EMPTY 0x00 // Empty
#define MBR_TYPE_EXT_CHS 0x05 // Extended partition table (CHS)
#define MBR_TYPE_EXT_LBA 0x0f // Extended partition table (LBA)
#define MBR_TYPE_FAT12_32M 0x01 // FAT12 (<32MB)
#define MBR_TYPE_FAT16_32M 0x04 // FAT16 (<32MB)
#define MBR_TYPE_FAT16_CHS 0x06 // FAT16 (CHS)
#define MBR_TYPE_FAT16_LBA 0x0e // FAT16 (LBA)
#define MBR_TYPE_FAT32_CHS 0x0b // FAT32 (CHS)
#define MBR_TYPE_FAT32_LBA 0x0c // FAT32 (LBA)
#define MBR_TYPE_EXFAT 0x07 // ExFAT
#define MBR_TYPE_NTFS 0x07 // NTFS
#define MBR_TYPE_GPT 0xee // GPT Protective MBR
#define MBR_TYPE_EFI 0xef // EFI System

Any of the LBA entries listed above won't be detected by DOS before 7.0, and the FAT32 ones won't be detected before DOS 7.1. Much later versions of Windows will use the GPT ID to reserve the entire disk for a non-MBR partition table.

The OS will be forced to use LBA if you're using a large-ish disk -- with the definition of "large" depending on if/how your BIOS is translating the drive's cyls/heads/sectors count. DOS cannot use large cylinder counts. The INT13h interface limits cylinders to 10 bits, or 0 to 1023. That runs out quickly. The BIOS will often halve the number of cylinders, and double the number of heads, up to heads == 254, to make the math work, and then translate INT13h calls accordingly. But, once the disk gets to ~8GB, even that's not enough to account for all the addressable sectors. So, for >8GB disks, LBA is essentially mandatory, and that means no DOS 6 support.

You CAN still create partitions within that limit that use CHS, if your BIOS is willing to play ball. But you have to be careful that the tools you use don't try to outsmart themselves.

Reply 6 of 6, by odd144

User metadata
Rank Newbie
Rank
Newbie

Can confirm it was definitely because C: drive wasn't FAT32.

I used Partition Magic to convert to plain FAT, loaded up 6.22 via boot disk and it worked, could see C: drive!

Win98 wouldn't boot though but went into XP(Dual boot) and coverted it back to FAT32, it worked, everything back to normal!