Max disk space

Although *this* article is not directly related to FreeDOS, all users of non-LBA DOSes have similar problems than described below when they have harddisks greater than 8 Gb. It is nothing but fortune that DR-DOS inheritely offers a solution by utilizing its C5h partition type. This is why Matthias Paul is CC'ing this to the FreeDOS community. I have reposted it here.

Given the ongoing discussion about OEM DR-DOS 7.05, hereīs a tip how to maximize the disk storage space available for DR-DOS 7.03 (and earlier) to up to 8 Gb per harddisk even in multi-boot scenarios with MS-DOS 7.10 without loosing the space above 8 Gb.

One annoying issue with DR-DOS 7.03 on modern systems is, that if you have a harddisk larger than 8 Gb and donīt use special multi-boot loaders, you will most probably be forced to use the new type 0Fh extended partition (LBA) instead of the traditional type 05h extended partition (CHS). This is because of design limitations in MS-DOS 7.10+, which will always access logical drives in a type 05h extended partition via CHS, even if the individual logical drives in there are of LBA type, or go beyond 8 Gb... (Although this workaround is sometimes used in conjunction with OS/2, using a 05h partition going beyond 8 Gb may cause MS-DOS 7.10 to hang or corrupt your data...)

The problem is, that DR-DOS 7.03 does not recognize the 0Fh partition type (DR-DOS 7.04/7.05 does, but again, itīs an OEM issue), so you can either use only 2 Gb (instead of up to 8 Gb) on each hard disk for DR-DOS (and only as a primary partition), or, if you would use a 05h partition, you could use up to 8 Gb under DR-DOS, but would also be limited to these 8 Gb under MS-DOS 7.10 and thereby loosing all the harddisk storage space above 8 Gb. (There may be exceptions if you would use multiple primary partitions, but this would require a multi-boot facility beyond the functionality offered by DR-DOS LOADER.)

However, there is one possible solution, when you create *two* extended partitions (in this order):

1. The first extended partition should occupy everything up to 8 Gb (which is not used for primary partitions) and it must be of the C5h type ("DR DOS secured"). You can use DR-DOS FDISK to create a 05h extended partition and all the logical drives in there, and afterwards change the extended partition type to C5h (for example with DEBUG or a disk editor). Of course, such partitions will not actually be secured, but using C5h instead of 05h helps to hide the partition from MS-DOS, so you can create another extended partition:

2. The remainder of the drive (above 8 Gb) can be allocated in a type 0Fh partition (using MS-DOS 7.10+ FDISK).

DR-DOS will then only see the logical drives in the C5h partition, and MS-DOS 7.10 will only see the logical drives in the 0Fh partition. (MS-DOS/PC DOS up to 7.0 and other current non-LBA DOS implementations will see neither of them.) Each OS will recognize the other extended partition as non-DOS primary partition, so there is *no* actual conflict by MS specs, and disk utilities will *not* get confused by this. Another advantage is that the DR-DOS logical drives wonīt get polluted by long filenames and other incompatible stuff. There is one restriction: Due to the fact, that DR-DOS normally uses the C5h type for secured partitions, it will not log-in any logical drives in there when booting from floppy. So always keep a set of emergency utilities on floppy or the C: primary partition, which (in this example) is visible under both OS.

This is an ad-hoc solution that should work with DR DOS 6.0-7.03. I donīt recommend to use it under 7.04/7.05, because this OS recognizes both, C5h and 0Fh extended partitions and would only log-in the logical drives for the physically *first* extended partition entry in the partition table of the Master Boot Record. (Of course, this can also be a feature.)

Alternatively, you can combine type 05h and 0Fh extended partitions, but then you must ensure, that the type 05h partition is created after the 0Fh partition, and that the *entry* for the 0Fh partition is physically located before the 05h entry in the partition table. Since MS-DOS FDISK makes it difficult to control the physical location of a partition and some disk utilities may change the order of partition *entries* in the partition table, this can led to all kind of trouble and serious data loss in some scenarios. Therefore, I donīt recommend it. But if you know exactly what youīre doing, it may have some advantages compared to the use of the C5h type (for example, this helps if you want to access these logical drives under MS-DOS/PC DOS up to 7.0 as well).

Of course, the best solution is to introduce new partition types, but obviously this will work only for future DOS releases. I am currently writing a proposal for new partition types to be introduced with FreeDOS, which would allow almost the same under FreeDOS (and all other future DOS releases) at virtually no memory impact for the kernel and disk tools (FDISK) (maybe 20-30 bytes).