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

Polytropon freebsd at edvax.de
Sun Aug 30 15:39:39 UTC 2020

On Sun, 30 Aug 2020 04:18:48 -0600, @lbutlr wrote:
> On 28 Aug 2020, at 21:08, Aryeh Friedman <aryeh.friedman at gmail.com> wrote:
> > Also why are partitioned need at all? (both currently and historically)
> They are not needed now, and I don't think they provide any benefit, really.

This is actually what "dedicated" means: no MBR, no GPT, just labels.
And you are correct: Only _one_ label (i. e., one partition which
is, in fact, no partition / slice) is required: the 'a' partition,
defining it as a boot partition. For a single-OS install of FreeBSD
this is possible. Now you might say: what about swap? No separate
swap partition? You can use memory-backed or file-backed swap.

Yes, all this has several restrictions and limitations, but from a
purely technical point of view, it's absolutely possible.

By the way, I do the same on "fill & stack" data disks: They only
get one UFS filesystem directly to the device, no partitioning at
all: "newfs <options> /dev/da0" - and it can be used. Sure, it does
not boot, but data disks _don't_ boot. Can they be read in "Windows"?
No, but FreeBSD data disks aren't read outside of FreeBSD. In this
special case, only /dev/da0c (which equals /dev/da0) is created,
and you can mount it as "mount -t ufs /dev/da0 /mnt".

> Sure, you can do a multiple OS setup on a single drive with
> partitions, but this is quite risky if Windows is involved which
> is the main reason people want to do this. It's better to have
> separated physical drives.

That's often not as easy, especially when you use a laptop. But
in such cases, it's sometimes more secure to use external USB
(usually USB-C for better speed), to keep your regular workstation
out of risk (at least try to).

The problem with multiple systems on one disk is that they might
not be able to boot from anything than a slice (a "DOS primary
partition"), and there can only be up to 4 of them. Let's say
you also need a boot manager - 1 slice gone, 3 remaining. One
for FreeBSD, one for Linux, one for "Windows". If you need
more, for example, if you want to have a dedicated data exchange
partition or "shared /home", you will probably see "DOS extended
partitions" and the "logical volumes" inside them as a possible
solution. That might work for data, or subsequently mounted
partitions (for example, if you have Linux and want to separate
/usr, /var, /tmp, and such), but in most cases, those cannot
hold a OS to _boot_ from, not because it wouldn't be possible
to tell GRUB to load from that device (GRUB doesn't care, it
just transfers control), but because the OS might expect to
be run from a _primary_ partition and simply refuse to boot.

Also note that in traditional DOS partitioning, only one of
the 4 partitions can be marked "active", which indicates a
bootable partition, and BIOS systems will tend to boot from
the first one they find. Furthermore, this approach is quite
static and does not easily allow to switch systems - that's
where GRUB (or any other suitable boot manager for that
matter) is the most useful part.

> Historically they were quite important because partitions could
> fail without the disk failing, and restoring a partition is
> obviously much faster than restoring a whole drive.

That is the reason why the programs dump and restore exist: They
process data partition-wise (not at file level), so any VFS overhead
can be avoided. Linear reads and writes are also an advantage if
your backup media is sequencial access, such as tape. Backups
were quite common, partially automated, scheduled, and required,
so in case of severe drive problems, you loaded a new disk pack
and restored from yesterday's tape backup.

You are right - this is _not_ what people do today. :-)

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

More information about the freebsd-questions mailing list