VOGONS


DOS 7.1 With Large Hard Drives

Topic actions

First post, by coldturkey

User metadata
Rank Newbie
Rank
Newbie

Hello,

I upgraded the hard drive on an old P4 that runs JUST MS-DOS 7.1 (i.e. no Windows 98) to a 200 gig drive with a single 200 gig partition. I simply fdisk'd and formatted it. While I used an unpatched fdisk and format, which don't display the drive size accurately, they still partitioned and formatted the whole 200 gigs.

I know there is a lot of information about issues with Windows 98 and drives larger than 128 gigs (Hard drive and partition sizes in Windows 98 SE), but I can't seem to find anything regarding the upper limits of JUST MS-DOS 7.1 on it's own. Is anyone aware of any issues running a 200 gig partition in DOS 7.1? I guess I'll find out eventually, but wanted to reach out and see if anyone has had experience with this before.

Thanks!!

Last edited by coldturkey on 2019-02-19, 03:26. Edited 1 time in total.

Reply 2 of 36, by coldturkey

User metadata
Rank Newbie
Rank
Newbie

Hello,

Thanks for the reply. It seems like FAT32 has a theoretical maximum partition size of 2TB. https://www.partitionwizard.com/convertpartit … size-limit.html

The drive is partitioned to 200 gigs, and I am able to use it. I'm just trying to determine whether something in DOS 7.1 is not going to like it.

Thanks!

Reply 3 of 36, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

Unfortunately DOS 7.1's built-in disk utilities doesn't seem to work well with drives that are too large (>137GB).

You'll probably need to use some powerful partitioning tools to achieve such, like GParted.

Not sure if DOS 7.1 behaves correctly with large drives, though. It needs knowledge about related parts in IO.SYS to figure out.

Reply 4 of 36, by coldturkey

User metadata
Rank Newbie
Rank
Newbie

Thank you for the reply.

Amazingly the built in DOS partitioner (fdisk) and the built in formatter (format) both happily created a 200 gig FAT32 partition. I did not have to resort to gparted.

I agree that a fundamental understanding of IO.SYS would be necessary to really know whether DOS will have problems at some point. I have about 85 gigs of stuff on there (out of 200), and DOS is happily working with a DOS version of MAME. I was just hoping that someone had tried it and could point out issues that I might experience. For example, maybe storing over 128 gigs is going to give me issues?

Thanks!

Reply 5 of 36, by keenmaster486

User metadata
Rank l33t
Rank
l33t

I have not been able to get the MS-DOS 7.1 FDISK to see more than 137 GB. Same results with FreeDOS FDISK, interestingly.

World's foremost 486 enjoyer.

Reply 7 of 36, by coldturkey

User metadata
Rank Newbie
Rank
Newbie

Hi @keenmaster486,

Does your motherboard setup tool indicate how big it thinks the hard disk is? It sounds like if your motherboard only does 24 bit LBA (edit: the site referenced is off by 4 bits, so a 28bit LBA is more likely what you have as: 2^28 * 512 = 137gig), then it is limited to the size you mentioned: http://www.largeharddrivesupport.windowsreinstall.com/

I must have support for a larger LBA (likely 48 bit) in my P4, as the the motherboard setup util correctly identifies the drive as 200 gig.

I searched for Philscomputerlab videos to try and see if he addresses this for a pure DOS setup, but have not found any.

Kind regards,
Bill

Last edited by coldturkey on 2019-02-21, 04:08. Edited 2 times in total.

Reply 8 of 36, by keenmaster486

User metadata
Rank l33t
Rank
l33t
coldturkey wrote:

Does your motherboard setup tool indicate how big it thinks the hard disk is? It sounds like if your motherboard only does 24 bit LBA, then it is limited to the size you mentioned: http://www.largeharddrivesupport.windowsreinstall.com/

Ah, this indeed may be the issue. It is a 200 GB drive. Not that I'm complaining; Windows 95 can't even use more than 32 GB on a partition anyway 🤣

World's foremost 486 enjoyer.

Reply 10 of 36, by derSammler

User metadata
Rank l33t
Rank
l33t

DOS relies on the BIOS for hard disk access. So it will have the limits of the BIOS, unlike Win9x, which talks to the hardware directly.

I have not been able to get the MS-DOS 7.1 FDISK to see more than 137 GB. Same results with FreeDOS FDISK, interestingly.

BIOS limitation. 137 GB is LBA28 limit.

Reply 12 of 36, by xtgold

User metadata
Rank Member
Rank
Member

Norton disk doctor in dos 7.10 shows it as a 357G drive
the 246m is a usb cf card fat32

Attachments

  • 100_0419.JPG
    Filename
    100_0419.JPG
    File size
    194.75 KiB
    Views
    3548 views
    File license
    Public domain

Reply 13 of 36, by SirNickity

User metadata
Rank Oldbie
Rank
Oldbie

BIOS limits will apply, for sure, but assuming the BIOS supports it, DOS still has to be able to handle various different structures without screwing up.

Tthere's *A LOT* of code in DOS that never got tested with large drives. For example, are you using CHS or LBA? If CHS, heads==255 will cause problems, which is why most BIOSes will limit the # of heads to 255, or heads==254 (0-indexed). I would guess this has something to do with code that used an 8-bit data type, and at some point there's a calculation that added 1 to that value, which overflowed to 0 and resulted in a geometry that has no valid meaning. There are TONS of opportunities for screw-ups like that. DOS may support 32-bit sector counts, but do all the intermediate calculations for FAT use 32-bit math? Do all the byte calculations use 64-bit math? Could very likely happen that, somewhere, there's a variable that overflows under some rare condition and results in a barrier that doesn't seem to fit any of the known limits. Maybe it depends on the cluster size. You never know.

So, will it work? Probably. Reliably and without issue? No telling. I can't think of any time where it was meaningful to have that much space available to DOS. 😉 Try it and let us know -- for science!

Reply 14 of 36, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

First, your BIOS needs to support matured EDD INT13H and LBA48.
Next, you must have the patched FDISK from Win98 or Win98SE somehow even if you are not aware of it. Otherwise, the FDISK can only see 32GB at most. This is real, I came across this several times in the past.
With both, you are literally only limited by FAT32 2TB limit for DOS. I believe it will be fine if you stick with the standard DOS disk utilities such as SCANDISK. By Win98, almost all 3rd-party utilities vendors were on their last breath. There is no reason to use anything else that come with the OS itself.

Reply 15 of 36, by xtgold

User metadata
Rank Member
Rank
Member

fdisk refused to make a new partition,said the disk was full.
I used aomei partition assistant in win 7 to make a new fat32 partition 357G like the 1st.
DOS booting on C wouldn't recognize the new drive.
That was rude.
I used hirens boot cd 15.2 parted magic to make partition 2 lba like the 1st.
Then dos recognizes the 2nd drive.
The last 1.2 Tb of the 2Tb drive I made a ntfs partition for vista or win7.
DOS norton disk doctor running on c:
gets the size right

Attachments

  • 100_0425.JPG
    Filename
    100_0425.JPG
    File size
    148.58 KiB
    Views
    3455 views
    File license
    Public domain

Reply 16 of 36, by barleyguy

User metadata
Rank Newbie
Rank
Newbie

Quick piece of advice: DO NOT run anything older than XP with larger than a 128 GB partition. Even if you get it to boot and "work", if you put more than 128 GB of data on it, the FAT table will get corrupted and you will lose all your data. There were some hacks to get around this, but if your hack gets reverted, your FAT table will get corrupted and you will lose all your data.

This goes for Windows 95, 98, and even Windows 2000. Windows XP was the first Microsoft OS to properly support large partitions.

EDIT: If you want to test this, you can create the partitions with a Linux boot disk using gparted. Then boot to DOS 7.1, and copy more than 128 GB to the partition, and see if it gets corrupted.

Reply 18 of 36, by Cobra42898

User metadata
Rank Member
Rank
Member

If the BIOS is limited to 32gb (a real limit i have hit more than once), win2k could likely notice that any partition past that point results in corruption. Win2k did have a registry mod that enabled 48bit LBA IIRC, but ecen that is no help if the BIOS is limited i think.
If I had a smaller hdd available, id use that. some even had a jumper for "32gb clip" so that it didn't use the space above 32gb for machines like this. Some boards have buos updates to use up to 120gb, but many dont.

If this hdd is all you have, pull all the partitions and make a 31.9gb partition. After that everything should at least be able to install an os.

Searching for Epson Actiontower 3000 486 PC.

Reply 19 of 36, by AvalonH

User metadata
Rank Member
Rank
Member

I tried a single 2TB partition (on a 4TB drive) using DOS 7.1 a couple of years ago. Partitioned using the dos FDISK from Winme and dos Format from Winme. (win98 versions didn't work). Partition type was '0Ch' - FAT32 with LBA.
It worked fine with no data corruption. This was using a intel P965 chipset motherboard with a bios that supported 48bit LBA. The drive was filled with 1TB of data and then I copied that 1TB under dos7.1 to the remaining free 1TB of space on the drive. Then pulled out the drive put it in win7 pc and checked for corruption with hashes. Unlike Dos6.22, Dos 7.1 supports INT 13h Extensions so unlike win98 will support 2TB drives without any corruption or need for device drivers. The only problem with corruption is if the BIOS itself has bugs which i haven't come across myself with Int13. This also works on a 486 with PCI slots if you use an ide controller that supports 48bit LBA.