(very OT) Ideal partition schemes (history of partitioning)

Polytropon freebsd at edvax.de
Mon Aug 31 04:43:04 UTC 2020

On Sun, 30 Aug 2020 22:12:10 +0000, Thomas Mueller wrote:
> from Polytropon (excerpt):
> > Most multi-OS settings seem to work best with BIOS + MBR.  
> > Boot selection can either happen using a PF key at system
> > startup, if it's more than one disk, or you have a separate
> > software solution, like GRUB or FreeBSD's boot manager, if
> > all systems are on one and the same disk.
> How is that?  It seems to me that GPT would be practically
> the only way for multi-OS.

I've been running multi-boot system even before GPT existed,
and so have many others. With MBR and the restriction with
only up to 4 "DOS primary partitions", it could be a bit
complicated, but using "DOS extended partitions" and the
"logical volumes" inside them could help. For example, I
once had an experimental system with DOS, OS/2, and Linux.
If I remember correctly, there were 3 primary partitions:
#1 for GRUB, #2 for DOS, #3 for OS/2; then one extended
partition where the Linux filesystems were included in.
Later I removed Linux and installed FreeBSD, using the
4th entry as primary partition #4, and inside it, regular
FreeBSD labels. But that was many years ago, and time had
some undesired effects on my memory... :-)

> Grub 2 can be used to select the partition to boot.

This only works as long as all the operating system
you want to have on one and the same disk can actually
be installed in either a MBR or a GPT partition - it
is of course not possible to mix them. :-)

Using a boot manager (and typically "wasting" one
paimary partition for it) was the most convenient way
to multi-boot on MBR. There was another option: Out
of the 4 primary partitions, exactly one had to be
marked "active" (i. e., bootable), because the BIOS
would simply check for the first partition table entry
that contained an active primary partition, and then
transfer control to it. If you accidentally had, by
whatever means made it possible, achieved to mark two
partitions active, usually the first one was booted.
The "order of finding" and therefore booting could
also have an effect on what "drive letters" would be
designated to the disk partitions, if the booted OS
could identify (and maybe use) partitions of the other
non-booted OSes; what was C: to one system became D:
for another one.

By the way, the FreeBSD boot manager is an exact example
of how to multi-boot on MBR. It has worked for decades,
and due to its size, it does not require a primary
partition for itself or its configuration, as it would
fit into a regular boot block natively.

> Some or many OSes can not run on a logical partition,
> only a primary partition, using MBR scheme.

Yes, that is a restriction that might apply. In such a
case, you are limited to 4 primary partition entries
and have to select accordingly.

> And what if hard disk > 2 TB, or would that be 16 TB in
> the case of 4096-byte sectors?

That means trouble for MBR. :-)

> FreeBSD and NetBSD can't read each other's disklabel or
> bsdlabel-type subpartitions, and sub-partitioning a NetBSD
> slice with disklabel is very tricky, drives me crazy.

All kinds of sub-partitioning don't really appear to be
portable across different operating systems. While in
worst case you get a "drive letter" with the inability
to proceed any further with on-board means, regularly
they just get ignored. If your goal is to have some kind
of "data exchange partition" or even a "shared /home",
your options are limited depending on the operating
systems involved.

> GPT means I never have to deal with traditional BSD
> disklabels any more; I don't run OpenBSD or DragonFlyBSD.

That is correct - GPT supports all required "carrier types"
for UFS (and ZFS) and declarations for swap.

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list