• Please review our updated Terms and Rules here

Drive partitioning recommendation for a CF based storage system?

1200XL M.U.L.E.

Experienced Member
Joined
May 9, 2021
Messages
84
Now that I have my XF-CF Lite V4 card working with a 4GB CF card, I am wondering what is the best way to partition the card. Back in the 80s and 90s when I ran my Atari and PC clones, I kept everything on one drive. A 40 MB drive simply had a C: drive. Now on my modern Win10 machine, I have a few drives with several partitions.

C: drive for nothing but the Win10 OS.
D: drive for applications.
E: drive for data and documents.
F: drive for photographs
G: drive for gaming
... etc etc etc ...

How well would this approach work with older software and operating systems? Or, should I just stick with one or two drives instead?

I'd like to hear how you set up your CF based drive.

Thanks! :)
 
I have never been a fan of partitioning for the sake of partitioning. All my systems from decades ago to today use a single partition unless I have a specific reason to do so. My recommendation is to use a single partition.

That said I am currently learning the nuances of installing NetBSD 1.0 onto my 80486 system with a 130MB hard drive. It was common in the early UNIX days to partition a drive and I have done so in accordance with the installation instructions. However as I become more comfortable with this version of UNIX I will likely convert back to as few partitions as I can (with only one for / and one for swap). I will also be testing various configurations on my XT-IDE card now that I know what is necessary in order to install NetBSD 1.0 so maybe this mindset will change.
 
Personally I'm a big fan of huge drives.

A folder hierarchy is no different as an organization mechanism as a drive partition, save that it's now "impossible" to fill up one category, while having "wasted space" in another.

And that's mostly an issue simply because it's difficult to resize partitions after they're set up.

Obviously, this is not universal. There's advantages to having the "system" on one partition that can be freely obliterated and reinstalled with no loss of "data".

But in general, historically, I've found that hard partition sizes have punished me more than they've helped me over the years.

Of course, with a 4GB CF card, reorganization is trivial. You're not 8-puzzling free space to reorganize a 4GB CF Flash card, since you can offload it to a spare USB fob that you got free in a box of cereal.

It's different with a bunch of TB drives.

Lol, I just realized I have 7.5TB of drives on my main computer, not counting the 4G USB fob.

Good to have free space!
 
Given the system is a 5150 and probably doesn't have the necessary megabytes to use FAT32, partitioning will be needed. DOS 5 and 6 have maximum partition size of 2 GB so at least 2 partitions would have to be created. FAT16 at 2 GB uses 32 KB clusters which would be very wasteful with most DOS applications and games. 4 partitions each slightly smaller than 1 GB or 8 partitions each smaller than 512 MB would provide more efficient utilization of space while keeping the number of drive letters manageable.
 
If your concern is about DOS commands like dir taking long time to run, just get a smaller CF card, like 32-512MB or some such. I have a bunch of them from early 2000, work fine.
 
I ALWAYS do:

1. partition for the OS
2. partition for apps/games
3. partition for backup and temp files (e.g. swap file for Windows)

Why? Because on retro systems using the FAT16/32 file system, a crash can (and very often does) damage the FAT. Repairing it never really worked for me. If you have all files on a single partition, you're pretty much screwed.

Also, having a dedicated partition for the OS means you can just format and reinstall if something goes bad. All your apps/games stay intact.
 
Back in the day I always used to partition my drives into 4 primary partitions. Although at first there was utility to this, so I could have all my data files on one partition and multi-boot up to 3 different OSs on the other, and also so I could do clean installs without worrying about my data, over time it became little more than to look impressive by having lots of 'drives' (not sure who I was supposed to be impressing other than myself though). Also went through a phase in the XP era of having a huge permanent swap file on it's own partition under the belief that this somehow would dramatically enhance system performance. If you really just want to do it for organisation and have different drive letters for different things, you can always mount folders to drive letters. In fact you can even still use SUBST like it's the 1980s in Windows 10 and it will work fine, without the disadvantage of having a hard limit to the size of each 'drive'.

Today I now store my data files on a physically separate drive, but whether on my modern or my retro systems I generally only go with one single partition for the whole drive unless there is some specific usage case which requires partitioning.

One such case probably is something like adding mass storage to a 5150, where I generally like to run with several 'small' partitions (around 100-200MB, although this is still cavernous by the standards of the day) in order to mitigate against appallingly slow DIR times that gigabyte-sized partitions will introduced to a 5150.

Personally, I wouldn't bother with trying to utilise all the space on a 4GB CF card with an XT-class machine. You'll need at least 2 partitions, but even with 4 you'll wait ages for free space to be calculated with that sort of storage available. I don't think these days it really matters if you waste some space on the card to achieve tolerable performance. My 5150 has an 850MB physical spinning IDE drive attached to my XT-IDE and even though it's loaded with period software I'm struggling to fill it. XT-era software just isn't that big!
 
If your concern is about DOS commands like dir taking long time to run, just get a smaller CF card, like 32-512MB or some such. I have a bunch of them from early 2000, work fine.

FWIW, I did some experimentation and while I wouldn't call my results definitive it looked to me like once you broke the 32MB barrier the time taken to compute the free space after the first DIR didn't significantly differ between a 40MB partition and a 2GB one, it's just the fact that it's "big" (FAT16B) that makes it take forever. So unless you specifically limit yourself to sub-32MB partitions you're going to see it.

The delay only hits you on the first time DIR runs, so I don't consider it worth worrying about.

One thing you might want to consider if you're into weirdly torturing yourself is since you're starting from scratch it could be an opportunity to use a boot manager to do weird things so you can run multiple versions of DOS. I use this adorable little lightweight one:

https://www.bttr-software.de/products/bootmgr/

To have both Tandy DOS 3.30 and PC-DOS 7 on my main retro-heap. If you set this up any 32MB partitions in the extended partition will be available to either DOS. So you could, for instance, have DOS 3.3 in its 32MB boot partition (which will be hidden when the other DOS is active), DOS 5 or higher in its own arbitrarily sized partition (likewise), and then in the Extended partition you could have "D" and "E" drives for programs you want available to both DOSes and an "F" drive using up the rest of the space for just DOS 5/6/7.

What I haven't tried yet (mostly because it's not good for much) is seeing if I could do a DOS 2.x partition along with later DOSes. I *think* if it can be made to work at all you might have to split the first 32MB of the drive between 2 and 3. Which, *shrug*, if you want to have a 10MB DOS 2.10 just so you can pretend you have an original XT on odd days could be fun.
 
CF-based, so this obviously isn't your W10 machine. If I had a 4GB CF drive on a 5160, I'd parition off a 10 MB partition for boot and system and maybe a 50 MB one for "stuff" and let the remainder go blank. What others may have brought up is that this a 1984-based 16 bit PC running at 4.77MHz. Your W10 system is likely several thousand times faster with a few thousand times more memory. Given the constraints of the slower platform, you simply won't be able to take advantage of the gigs of storage.

On my regular machines, I use various partitioning schemes, but always include a partition for root of the dominant system and another for user data and, if required, another for swap. I may add partitions for other operating systems; for example, on my "hook up a peripheral" system, I have partitions for Win98SE, Windows 7 and Debian 10.

The early prototype XTIDE on a 5160 clone that I have has always hosted a 192MB CF card. I've never come close to filling it up. C: and D: partitions.
 
How well would this approach work with older software and operating systems?
For retro purposes, I keep a single partition per OS. Most systems (newer DOS, OS/2 and Windows versions as well as any UNIX I tried) can deal with multiple visible FAT partitions easily. No need for a "sharing" partition. Linux always gets a second partition for swap.

In the past, I used to have two partitions: One for the OS and applications (since they are too intertwined to be useful separately: registry entries; DLLs in the Windows folder; entries in CONFIG.SYS/AUTOEXEC.BAT), and a separate partition for data files (images, videos, downloads, etc.) for the mentioned file system corruption issues. If I had a second physical drive, it contained copies of important things as backups.

That said I am currently learning the nuances of installing NetBSD 1.0 onto my 80486 system with a 130MB hard drive.
For BSD systems, I recommend using a single slice (= partition table entry), but still keep separate partitions for /, /usr and swap. The reason is that the root partition can be very small, making corruption unlikely. Also - in contrast to Linux - these systems function well even without a working /usr file system. This is especially useful on older versions, since they like to corrupt their file systems and fsck takes forever on large partitions with many files. A symlink from /home to /usr/home is useful to prevent the root partition from filling up (except on old UNIX systems, which keep their home directories in /usr by default).
 
I prefer separating.

On Windows 2000 and newer (until Win 10/11) I separate my datas from operating system and applications on a separate partition. This has mainly three reasons:
1. If I occupy fully my syste partition, WIndows is no more able to write files, also writing system files is impossible. So Windows will fail. So if I put my photos, movies, documents, spreadsheets, etc. on a separate partition this never can happen.
2. In the past I sometimes had the experience that Windows crashes, and in some rare and hard cases the crash also destroys the Windows partiton. If my datas are there, they also get lost. Hopely I have backup, but one time in times of 2000 or XP, I lost everything. Since then, separate partition or better other harddisk to store my files, and make backup from time to time (robocopy is my friend since several years)
3. A good side effect of having a separate harddisk is that if my computer or system disk gets broken, I only have to put the harddisk in another PC or install Windows to a new harddisk, and I can access my data. (sometimes I need to takeown, icacls that data disk to be able to access it again)

On FAT file system based operating systems, MS-DOS and Atari TOS, the bigger the partitions are, the bigger is one cluster. A cluster is a group of sectors, and the bigger the partition is, one cluster has more sectors. And one cluster is the smallest unit which a file can occupy. So if I have big partition with lets say 32 kB clusters and I put many 1 kB files on it, then every file wastes 31 kB of disk space. This is not effective. Additionally as above, if DOS or TOS crashes, maybe it destroys the file system and I loose everything. Usually I separate by topic, operating system, patches and enhancements, system utilities, commands and Windows (on MS-DOS machines) on C:, applications, games, on D:, E: ... and data on the last drive. Usually I separate the kind of applications and games on different partitions. The most extreme installation of this kind is my Atari Falcon 030 with a 32 GB compact flash card, it has 16x 1 GB partitions to separate system tools, office applications, games, demos, music files, pictures, ... and additionally one 16 GB ext2 partition for the MiNT OS with it*s applications (here I didn't separate because when installing that I had no experience to see how big the partions must be).
 
For BSD systems, I recommend using a single slice (= partition table entry), but still keep separate partitions for /, /usr and swap. The reason is that the root partition can be very small, making corruption unlikely. Also - in contrast to Linux - these systems function well even without a working /usr file system. This is especially useful on older versions, since they like to corrupt their file systems and fsck takes forever on large partitions with many files. A symlink from /home to /usr/home is useful to prevent the root partition from filling up (except on old UNIX systems, which keep their home directories in /usr by default).

At this time I have no intention of using this for anything other than a learning system. I have no plans to store any data let alone important data on it.

That said the NetBSD installation instructions recommended a separate / and /usr partition so that's what I went with. I also created a separate /var partition for no particular reason.

I'll be going through another installation as I have added a network card and the Configure option that was available at install doesn't appear to be available post install (or at least it's not in the default path). I'll eventually learn how to do this post install but for now I've decided to just reinstall as I want the experience of going through the network configuration upon install.
 
My 5160's CF card has 'only' 2 GB; never saw the need to create more than 1 partition there.

Others mentioned the issue of DOS's slow free space computation on larger partitions... to fix that, I can enthusiastically recommend this little tool by another forum member here: https://github.com/ChartreuseK/FREESP
 
Back
Top