VOGONS


120GB drive and DOS6.22

Topic actions

First post, by flamingpentium

User metadata
Rank Newbie
Rank
Newbie

Hi retro friends,

After reading a number of threads here and churning through endless CF cards, I decided to try putting a 120GB SSD into a K6-2+ super socket 7 machine.
The board detects the drive correctly in BIOS and naturally DOS only sees this as an 8GB drive. I partitioned the drive using one 2G primary and the remainder of the drive as logical drives in an extended partition. All this worked well and then I took the drive out and using a usb-c to sata adapter on my Linux desktop transferred some games and drivers etc over.

When I placed the SSD back into the retro machine it no longer saw the logical drives in the extended partition. All DOS could report via fdisk was the primary and the extended partition. If I take the SSD back to my Linux desktop the drives are still there. So I am at a bit of a loss as to why this is happening.

I know it's a bit weird putting DOS/Win3.1 on this machine but by way of objective, I hope to populate the drive with a triple-boot like I had back in the day i.e native dos win3.1 plus Win98 plus OS/2. To achieve this (usually) I would install DOS, Win 3.1 then Win98 in a separate directory and then finally OS/2. I am hoping to put together a thread here in the future on DOS gaming under OS/2, and my build is in aid of this. OS/2 and Win98 should be able to use the remainder of the disk space either via FAT32 or HPFS respectively.

In terms of details:

CPU: K6-2+ @600Mhz
Motherboard: Super Socket 7 Gigabyte GA-5AA (ver 3.2)
Ram: 256MB
Drive: 120GB SSD
IDE:SATA adapter: startech (recent purchase - shows marvell chipset)
Soundcard: AWE32
Graphics: Voodoo3 2000 (AGP).

Grateful for any help

Reply 1 of 18, by dionb

User metadata
Rank l33t++
Rank
l33t++

I don't blame you for putting DOS onto a K6-2+ system - my main late DOS system runs on a P3-600. But 120GB and DOS 6.22 is not a viable combo. Why not go for DOS 7.1 instead? That gives you FAT32 and the ability to sensibly use that huge drive.

Reply 2 of 18, by Jo22

User metadata
Rank l33t++
Rank
l33t++

PC-DOS 2000 is also an alternative.
It can do FAT32 with the PC-DOS 7.1 system files, I think.

"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 3 of 18, by Grzyb

User metadata
Rank l33t
Rank
l33t

I do agree - for such a large disk, DOS 7.10 is the way to go.

But if you really insist on DOS 6.xx - be aware that it only supports CHS BIOS calls.
CHS disk addressing may be different in various BIOSes.
It's *not* a good idea to partition/format the drive on one computer, and then transfer it to another.

Nie rzucim ziemi, skąd nasz root!

Reply 4 of 18, by javispedro1

User metadata
Rank Member
Rank
Member
flamingpentium wrote on 2025-02-03, 20:38:

All this worked well and then I took the drive out and using a usb-c to sata adapter on my Linux desktop transferred some games and drivers etc over.
When I placed the SSD back into the retro machine it no longer saw the logical drives in the extended partition. All DOS could report via fdisk was the primary and the extended partition. If I take the SSD back to my Linux desktop the drives are still there. So I am at a bit of a loss as to why this is happening.

I would be highly annoyed if there is now some Linux desktop applet or whatever that messes up the partition table.
Can you reproduce the issue? Just to ensure that this destruction happens reproduceably, and it was not a glitch (or maybe you even momentarily booted something else with the disk connected?). And to confirm: you did not intentionally touch the partition table while on Linux, right? (Running Linux fdisk or parted or gparted or etc.)

If you can reproduce, would it be possible to try to reproduce again except using single user mode or similar in Linux mode ? Or at least without anything that would try to automount the partitions once you plug the drive.
My idea would be to backup the MBR from the disk from Linux itself, then re-start your desktop environment so that it again messes up the partition table, and then compare the backed-up MBR with the 'destroyed' one to see what changed.(either using Linux fdisk , or even byte-by-byte if you can't find a difference). Possibly even restore the MBR from backup to see if it reverts things.

Reply 5 of 18, by Jo22

User metadata
Rank l33t++
Rank
l33t++

That reminds me of something.
Phil mentioned an HDD service tool (Seagate ?), which also worked for limiting HDD capacity.
So an 500GB HDD was limited to 8GB or something.

Some older HDDs also had a jumper to limit HDD capacity, I think.
But it was related to LBA28 vs LBA48, rather, I think?

"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 6 of 18, by RetroPCCupboard

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2025-02-03, 21:07:

That reminds me of something.
Phil mentioned an HDD service tool (Seagate ?), which also worked for limiting HDD capacity.
So an 500GB HDD was limited to 8GB or something.

I think you are referring to Seatools. I have successfully used that on a 8Gb msata drive to allow an old laptop to see it. I can't remember if 2gb or 4gb was the most the laptop supported. But it definitely didn't like 8gb.

Reply 7 of 18, by douglar

User metadata
Rank l33t
Rank
l33t

I think the first limit here is that MBR disks can only do 4 partitions, and DOS 6.22 only does 2GB partitions. So you get capped at 8 GB before you hit the CHS limit at 8.4GB or an LBA limit or the DOS 256 head limit.

I usually go with DOS 7.1. I also like to use XTIde Universal BIOS or EZ drive drive overlay so that I dont have to worry about computer specific BIOS limitations if I move a device between systems.

The only problem is when I forget and take the device to a <= 286 and it won’t boot. DOS 7.1 won’t boot on those computers.

FreeDOS might be a good option.

Reply 8 of 18, by st31276a

User metadata
Rank Member
Rank
Member

Perhaps just the act of performing LBA writes on a CHS partitioned drive broke it, in a case where the translations do not align.

Limiting drive size can be done by setting HPA (Host Protected Area) in the firmware, if that is an option. Most drives support it since long ago.

Reply 9 of 18, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

I recommend my standard partition scheme:

Use OS/2 boot manager
Use DOS FAT16 as primary partition (2008 MB)
Use OS/2 HPFS and data exchange FAT16 in extended partition (3,8 GB + 2008 MB)
Use Win98 FAT32 as primary partition starting at cylinder 1022 (starting within 8 GB, size ~ 112 GB)

Win98 partition is physically behind DOS partition but should be an earlier partition entry than DOS partition.

Reply 10 of 18, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie

It's not clear if you actually formatted the logical partitions under DOS, or merely allocated them and later formatted them under Linux. If it was the latter, Linux probably modified the partition types so that DOS doesn't recognize them.

Reply 11 of 18, by flamingpentium

User metadata
Rank Newbie
Rank
Newbie

Hi all,

Thanks so much for your responses.

@dionb, @Jo22, @Grzyb and @douglar- thanks for the alt DOS6.22 suggestions will look at 7.1 and PC-DOS, it hadn't cross my mind, I was just so used to using 6.22. I am not too keen on Free Dos for this build though, it is a great project but I want to stay somewhat period correct.

@javispedro1 - a good thought, I just got home from work and will try it again tonight and see if I can replicate the issue, maybe I did inadvertently do something. I thought I was just transferring a bunch of games and drivers but it was pretty late and user error may have crept in. I did run fsck.fat after the issue cropped up and all it did was reset the "dirty bit" - but that did not resolve the issue.

@st31276a and @douglar - something along those lines was my first thought too. As @Jo22 and @RetroPCCupboard noted the size of the drive can be adjusted via seatools and Victoria for Windows, but the last time I tried that it would let me alter the LBA (and therefore the size) but not the "disk" geometry i.e. CHS - this seemed to stay static - and I assume what DOS picks up on - as it always defaults to 8GB. I assumed the translation would be ok as the BIOS was able to correctly id the drive. Happy to be corrected and open to other tools.

@Disruptor - I take it you're a fellow OS/2 user - if you are awesome! On my drive to work I was thinking about the OS/2 boot manager. Primary for DOS and Win98 each makes sense, and are you saying put OS/2 on another Primary (HPFS) and then an extended partition 3,8 GB with logical drives inside?

@jmarsh - I should have been a little clearer. I used FDISK under DOS to make the partitions and then formatted also under DOS. I really only used my Linux box to move some data from my network storage to the DOS partitions on the 120GB SSD.

Thanks everyone for your input, lots of really helpful suggestions for me to follow up on. Will post the outcome later today or tomorrow morning (Australian time).

FP

Reply 12 of 18, by Grzyb

User metadata
Rank l33t
Rank
l33t
douglar wrote on 2025-02-04, 04:20:

I think the first limit here is that MBR disks can only do 4 partitions

That limit is about Primary and Extended partitions.
It doesn't affect Logical partitions.

You can have eg. this:

3 x Primary
1 x Extended
inside the Extended, a dozen of Logical

DOS 6.22 only does 2GB partitions. So you get capped at 8 GB before you hit the CHS limit at 8.4GB

AFAIR, not.
It's been a while since I last installed DOS 6.xx (or PC DOS 7.0) on a >8 GB HDD, but I think the outcome was:

1. Primary, 2 GB (max for FAT16), C:
2. Extended, about 6 GB
2a. Logical, 2 GB (max for FAT16), D:
2b. Logical, 2 GB (max for FAT16), E:
2c. Logical, slightly less than 2 GB, F:

It hits the CHS limit, but there's no 4 x FAT16 limit.

Nie rzucim ziemi, skąd nasz root!

Reply 13 of 18, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
flamingpentium wrote on 2025-02-04, 08:27:

@Disruptor - I take it you're a fellow OS/2 user - if you are awesome! On my drive to work I was thinking about the OS/2 boot manager. Primary for DOS and Win98 each makes sense, and are you saying put OS/2 on another Primary (HPFS) and then an extended partition 3,8 GB with logical drives inside?

I personally prefer Windows 2000 and its bootmanager.
But the one from OS/2 can do the same.
The big advantage of OS/2 is that it easily can be installed on a logical drive of the extended partition.
But the extended partition should end at cylinder 1021. So it is no problem to create the big Win98 FAT32 partition after.

Perphaps you need to deal with DANIs drivers to deal with the big disk.

Reply 14 of 18, by Deunan

User metadata
Rank l33t
Rank
l33t
flamingpentium wrote on 2025-02-04, 08:27:

I used FDISK under DOS to make the partitions and then formatted also under DOS. I really only used my Linux box to move some data from my network storage to the DOS partitions on the 120GB SSD.

What is your goal? To have the full 120G visible under some OS other than DOS, or just to have a modern and quiet mechanical drive for DOS, with most of the space being unused? I usually go for the latter but I have some HDDs and CF cards partitioned for DOS+Linux or Win9x+Linux and it works. Here's two examples, both use LILO but but anything more modern should also work with GRUB:

2G CF card with DOS 6.22 and Debian 2.2 Potato:

major minor  #blocks  name

3 0 1893024 hda
3 1 18112 hda1 - /boot (~20MB)
3 2 32256 hda2 - swap
3 3 499968 hda3 - DOS 6.22
3 4 1 hda4
3 5 1342624 hda5 - /

40GB HDD with Win98SE and Debian 3.0 Woody:

major minor  #blocks  name

8 16 39121488 sdb
8 17 72261 sdb1 - /boot (~75MB)
8 18 131072 sdb2 - swap
8 19 8388608 sdb3 - Windows 98SE (8G)
8 20 1 sdb4
8 21 20482843 sdb5 - FAT32
8 22 10040593 sdb6 - /

I'm pretty sure it'd work for DOS and Linux on bigger HDDs if done right. Which is:
- preferably have a zero'ed HDD, first sector at least, or use fdisk /MBR
- partition from DOS (floppy boot for example) on the target machine to get the CHS/LBA and translation right from the start
- make just one partiton, a primary (DOS can't do it any other way) for the /boot and have it flagged as bootable
- SYS or FORMAT it to make sure it does boot
- start Linux installer (floppies and/or network drive), change partition type for /boot and create swap early (for performance) and DOS/Win9x partition as primary one
(this step is a bit tricky because you need to make sure that partition will be fully accessible do the dumber OS, keep track of the size limits)
- any other partitions that "dumb" OS is expected to use should be logical drives, as will be root and whatever else is needed
- don't bother formatting the DOS/Win9x under Linux, leave them be for now, also don't install Linux just yet, just partition the disk
- boot DOS/Win9x floppy again, now format the FAT partitons, move the bootable to flag and install the "dumb" OS
- once install is complete and the system boots and sees all drives it should go back to Linux installer and do a full install, with boot manager and moving the bootable flag once again to first partiton

This might seem a bit convoluted but I found the hard way DOS/Win9x will often not work with partition table made from scratch under Linux, and there is no point in wasting all that time installing stuff if it doesn't want to boot. Also sometimes the logical drives created in Linux need to have the partiton type changed to Win9x LBA (or the opposite) if Windows doesn't want to work with them. But in the end it all works properly.

Reply 15 of 18, by DEAT

User metadata
Rank Member
Rank
Member

My recommendation is to use FreeDOS with a FAT16 partition for boot and FAT32 for data - I'd even recommend splitting up the data partition to two 8GB partitions and the third partition using the rest of the drive to reduce the cluster size and keeping folders with lots of small files on those partitions. The FAT16 partition will allow you to boot on <=286 systems without any issues, provided you're using the 8088-compatible kernel and not the default 386 kernel for FreeDOS.

I have this exact setup with a 128GB CF card explicitly designed for portability, for reference.

win16.page | Twitch

Reply 16 of 18, by flamingpentium

User metadata
Rank Newbie
Rank
Newbie

What is your goal? To have the full 120G visible under some OS other than DOS, or just to have a modern and quiet mechanical drive for DOS, with most of the space being unused? I usually go for the latter but I have some HDDs and CF cards partitioned for DOS+Linux or Win9x+Linux and it works. Here's two examples, both use LILO but but anything more modern should also work with GRUB:

Hi @Deunan, good question it was to use as much of the 120GB as possible between the three OSs. So DOS can as many drives below the 8G boundary and then OS/2 and Win98 split above it. I am willing to forgo some space if needed though, as I highly doubt I will fill this disk all the way up.

My recommendation is to use FreeDOS with a FAT16 partition for boot and FAT32 for data

Hi @DEAT FreeDos is my final resort I think. I am a still a bit too determined atm to get 6.22, OS/2 and Win98 together - I think it's become a totally nonsensical point of personal pride for me 😀.

By way of update some good news and not so good.

I tried using OS/2 to create a boot manager and then the primary and extended partitions - but it did not like seeing all of the 120GB and the installer would not make any drive beyond the 8G limit. Next step as per @Disruptor's suggestion is to try the DANII drivers for large disk.

On the good news side I reduced the drive to 8G (using Seagate Tools) and redid the partitions under DOS and filled them up on my linux box with data, and I was unable to replicate the lost partitions. DOS6.22 can still see everything and the partitions are all intact. I am going to try this with the full disk capacity tonight and see how I go.

Thank you all for leaning into this problem with me. I've using so much advice from these forums over the past decade and once I have this machine setup the way I like I am very much looking forward to making my contribution back to the Vogons community.

Reply 17 of 18, by flamingpentium

User metadata
Rank Newbie
Rank
Newbie

Hi all,

Sorry for the late reply, I have been a bit busy at work these past few days.

So I think I have solved the whole DOS partition corruption thing - which is what started this thread. I think basically Linux did, somehow, corrupt, the original disk layout. And after a few goes this weekend, I have not been able to replicate the issue. So on that basis I will mark this thread solved and my thanks to everyone who helped out - such an awesome community.

As for my adventures in getting OS/2 to work - well I got it working exactly as I wanted under 86Box using exactly the same emulated hardware as my retro PC (except 550 vs 600 for speed) - but have failed to have the same success with my real hardware. OS/2 Warp 3 even with dani's drivers didn't want to play ball and 4.52 has bought a whole new suite of issues. But these do very much seem to be OS/2 specific issues, so off topic for the original thread.

So I'll close this out and continue the fun task of diagnosing OS/2 issues - just like back in the 90s 😀

Thanks again everyone.

FP

Reply 18 of 18, by flamingpentium

User metadata
Rank Newbie
Rank
Newbie

Sorry to ask but does anyone know what the current way of marking a thread solved is? When last I posted you could edit your original post and change the title. But I don't see that option anymore, I can't seem to edit any of my earlier posts actually.