VOGONS


First post, by red_avatar

User metadata
Rank Oldbie
Rank
Oldbie

Here's my problem:

I have a 120GB SSD installed in my IBM PC330 whose BIOS can only see 8GB. I know that officially DOS 7.1 can read up to 127 GB but is limited to what the BIOS can "see" meaning that in this PC 8GB is the actual limit.

Oddly enough using tools I can see that Int 13h and LBA is active under DOS so it SHOULD be able to handle bigger partitions but every single tool I use, even if I complete wipe the drive, only allows me to format up to 8GB.

Windows 98 SE however doesn't give a damn and as long as the boot partition is 8GB, I can make a second larger partition and it will work just fine. This is because Windows ignores the BIOS and "speaks" to the drive directly.

Now we come to my main problem: I want to use the C partition for basic Windows installation and software and the D partition for Windows games + media files. This works great EXCEPT that DOS absolutely HATES the D drive. Scandisk in DOS locks up the PC (Scandisk in Windows works just fine however) and any type of access of the D drive freezes the entire PC. This includes games that attempt to read the D drive either during installation or while trying to find the CD drive which means that the PC often locks up because the D partition gets accessed.

So I want to make it so DOS either won't see this D partition or won't freeze when trying to access it. Ideally I just want to hide it and have the D drive letter be free for the CD drive.

Does anyone have any idea on how to do this?

Retro game fanatic.
IBM PS1 386SX25 - 4MB
IBM Aptiva 486SX33 - 8MB - 2GB CF - SB16
IBM PC350 P233MMX - 64MB - 32GB SSD - AWE64 - Voodoo2
PIII600 - 320MB - 480GB SSD - SB Live! - GF4 Ti 4200
i5-2500k - 3GB - SB Audigy 2 - HD 4870

Reply 1 of 5, by red_avatar

User metadata
Rank Oldbie
Rank
Oldbie

OK I found the solution after a lot of Googling: you can use DLMANIP to hide any DOS drive letter or even re-assign it. Hopefully this will be of some use to someone else in the future

Retro game fanatic.
IBM PS1 386SX25 - 4MB
IBM Aptiva 486SX33 - 8MB - 2GB CF - SB16
IBM PC350 P233MMX - 64MB - 32GB SSD - AWE64 - Voodoo2
PIII600 - 320MB - 480GB SSD - SB Live! - GF4 Ti 4200
i5-2500k - 3GB - SB Audigy 2 - HD 4870

Reply 2 of 5, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

I do recommend you back things up and test the disk operation thoroughly because problems (such as corruption) can occur if trying to use disks of size beyond what BIOS could actually handle, without utilities such as Dynamic Disk Overlay. Problems caused by the BIOS' handling of larger disks may or may not be immediately noticeable.

Decades ago I had a very ancient Socket7 PC whose BIOS couldn't correctly handle any disk beyond 2GB despite it could recognize up to 8GB. It would immediately throw an error after the initial preparation reaches 100% when trying to install Windows 9x. Only with Dynamic Disk Overlay was it able to properly handle much larger disks (up to 40GB was tested at that time) and allow the installation to complete.

I also have an old laptop running with a 120GB mSATA SSD (using a mSATA to 2.5'' IDE converter). The maximum size its BIOS could show was 65535MB despite the whole disk was recognized. After some testing I found out it indeed could only handle disks up to that size, as back then I utilized the whole disk it suffered some serious performance as well as stability issues that I couldn't figure out the exact reason at that time. After rebuilding the system utilizing only about 62GB the system feels much better.

PS: For very large disks (3TB or more) and some relatively newer motherboards, if the BIOS overflows on total sector count when reporting the size of the disk (e.g. ~960GB for a 3TB disk, ~1900GB for a 4TB disk), it's a bad omen and you risk corrupting existing files the moment you write data beyond 2TB (I learned that the hard way as well). Ultimately it's BIOS that gets to decide the maximum size of disk you could use, even though the OS may support more.

Reply 3 of 5, by red_avatar

User metadata
Rank Oldbie
Rank
Oldbie
LSS10999 wrote on 2022-01-11, 01:32:
I do recommend you back things up and test the disk operation thoroughly because problems (such as corruption) can occur if tryi […]
Show full quote

I do recommend you back things up and test the disk operation thoroughly because problems (such as corruption) can occur if trying to use disks of size beyond what BIOS could actually handle, without utilities such as Dynamic Disk Overlay. Problems caused by the BIOS' handling of larger disks may or may not be immediately noticeable.

Decades ago I had a very ancient Socket7 PC whose BIOS couldn't correctly handle any disk beyond 2GB despite it could recognize up to 8GB. It would immediately throw an error after the initial preparation reaches 100% when trying to install Windows 9x. Only with Dynamic Disk Overlay was it able to properly handle much larger disks (up to 40GB was tested at that time) and allow the installation to complete.

I also have an old laptop running with a 120GB mSATA SSD (using a mSATA to 2.5'' IDE converter). The maximum size its BIOS could show was 65535MB despite the whole disk was recognized. After some testing I found out it indeed could only handle disks up to that size, as back then I utilized the whole disk it suffered some serious performance as well as stability issues that I couldn't figure out the exact reason at that time. After rebuilding the system utilizing only about 62GB the system feels much better.

PS: For very large disks (3TB or more) and some relatively newer motherboards, if the BIOS overflows on total sector count when reporting the size of the disk (e.g. ~960GB for a 3TB disk, ~1900GB for a 4TB disk), it's a bad omen and you risk corrupting existing files the moment you write data beyond 2TB (I learned that the hard way as well). Ultimately it's BIOS that gets to decide the maximum size of disk you could use, even though the OS may support more.

I've done so much searching to find the solution to getting a larger drive that I pretty much discovered all the downsides and limitations (I hope)

For example: the C drive which contains the OS has to be 8GB or less because the BIOS needs full access to the drive on boot. If you go above 8GB and vital system files fall outside of the 8GB area, it will cause major problems.

The crashing and corruption you mention is mostly a problem with DDO (dynamic drive overlays) which change the MBR to basically bypass the BIOS. My previous drive got corrupted because I used a DDO which is why I now refuse to use one any longer. Windows itself has its own Int 13h system and ignores the BIOS so as long as you can get inside Windows, you can run a Scandisk to fix the D drive if needed. The C drive is perfectly "normal" for the BIOS (it doesn't even see the D partition)

Windows itself can handle much larger drives than 8GB but you're still limited to your system - in my system, the maximum is 32GB. I tested this in the past: when I go over 32GB, it starts writing garbage and files get corrupted. Later systems can go up to 127GB which is why my Pentium III has a 120GB SSD.

Basically, my current setup should be perfect:
- set the C (boot) drive to 8GB which the BIOS can boot from and access
- set the D drive to 22GB and use it for Windows software & media files
- use the C drive for all DOS applications
- hide the D drive in DOS so the PC does not lock up trying to access it

I will also make a backup of the drive using HDD Raw Copy which is excellent for backing up drives completely regardless of their content.

Retro game fanatic.
IBM PS1 386SX25 - 4MB
IBM Aptiva 486SX33 - 8MB - 2GB CF - SB16
IBM PC350 P233MMX - 64MB - 32GB SSD - AWE64 - Voodoo2
PIII600 - 320MB - 480GB SSD - SB Live! - GF4 Ti 4200
i5-2500k - 3GB - SB Audigy 2 - HD 4870

Reply 4 of 5, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
red_avatar wrote on 2022-01-11, 10:44:
I've done so much searching to find the solution to getting a larger drive that I pretty much discovered all the downsides and l […]
Show full quote

I've done so much searching to find the solution to getting a larger drive that I pretty much discovered all the downsides and limitations (I hope)

For example: the C drive which contains the OS has to be 8GB or less because the BIOS needs full access to the drive on boot. If you go above 8GB and vital system files fall outside of the 8GB area, it will cause major problems.

The crashing and corruption you mention is mostly a problem with DDO (dynamic drive overlays) which change the MBR to basically bypass the BIOS. My previous drive got corrupted because I used a DDO which is why I now refuse to use one any longer. Windows itself has its own Int 13h system and ignores the BIOS so as long as you can get inside Windows, you can run a Scandisk to fix the D drive if needed. The C drive is perfectly "normal" for the BIOS (it doesn't even see the D partition)

Windows itself can handle much larger drives than 8GB but you're still limited to your system - in my system, the maximum is 32GB. I tested this in the past: when I go over 32GB, it starts writing garbage and files get corrupted. Later systems can go up to 127GB which is why my Pentium III has a 120GB SSD.

Basically, my current setup should be perfect:
- set the C (boot) drive to 8GB which the BIOS can boot from and access
- set the D drive to 22GB and use it for Windows software & media files
- use the C drive for all DOS applications
- hide the D drive in DOS so the PC does not lock up trying to access it

I will also make a backup of the drive using HDD Raw Copy which is excellent for backing up drives completely regardless of their content.

It depends on the DDO. In my case, my ancient PC's BIOS can't properly access disks without DDO (Windows will refuse to install). Only when using a DDO would I be able to install Windows and use the entire disk.

As for corruption, I'm not sure what happened, but from what I remember, trying to boot floppy/CDs outside DDO is unsafe and could indeed cause corruption especially when using disk utilities.

By booting outside DDO I mean booting a floppy/CD directly (by setting floppy/CD first in the boot sequence), before DDO gets loaded (which expects the DDO-installed hard disk to be first in the boot sequence). Booting floppy inside DDO (by using the key combination for floppy boot shown in the DDO prompt after it's loaded) is usually safe.

PS: I think DDO did so by overriding certain "broken" BIOS calls (like INT13) with its own, and the overridden calls carry over to the OSes booted afterwards (so that any further operations on the disk would work correctly). The currently active INT13 (and other BIOS calls) can still affect things even after Windows booted. In my other case (which happened on a 865-based motherboard), the data in my 3TB drive got partially corrupted when I tried to back up stuffs from other drives to there and the corruption happened after data got written to spaces past 2TB. At that time, the BIOS overflowed when reporting total sectors count and showed the disk as being ~960GB, but the OSes I was using could fully recognize the entire 3TB and could even quickformat it without issues.

Also, utilities such as Hard Disk Sentinel can notice such discrepancy between sizes reported by BIOS and by the OS, and warned me about potential data loss back then, but I didn't pay serious attention to it until I learned my lesson the hard way.

Reply 5 of 5, by flynnsbit

User metadata
Rank Newbie
Rank
Newbie

For DOS, let the D: drive get associated to the disk on boot, and then use the assign command to take it back over and mirror something like you cd drive. So in your autoexec:
ASSIGN D:=F:

Where D is your disk you want to take over and F is where your CD is mapped to. When you are done or before you run windows just run assign again to unmap. running the assign command with nothing after will unmap those drives.