history question on dos partiton tables
Boy, I am out of it. Memory failure, or not keeping up I remember when there was an absolute limit of 7 usable partitions on a disk. I forgot or never realized this limit went away for a DOS-formatted disk (I know Solaris and other basically different disk formats had different limits). Going back to MSDOS 5.0. The primary partition table 64 bytes, per AI) had 4 entries, but one of those could point to an "extended" partition with its own partition table, also of 4 entries (and 64 bytes), so the other 3 primary, and 4 extended partitions were all I could use for my data. If I tried to create one more extended partition, the format program refused. Some thing(s) could ONLY be in a primary partition (certain operating systems? multi-boot loader? I don't remember). Apparently, now there can be many extended partition tables, thus a practically unlimited number of partitions. 1. When did that change? Meaning with what level of Microsoft software, and what level of Linux, if Linux had also been limited to 3+4 originally? 2. I presume some old operating systems only recognize the first 4 extended partitions? Or can they totally not recognize a disk with a "new" DOS format mbr at all? This could be as a data disk if I am transferring data from a legacy computer to a current one. 3. Where are the groups of 4 extended partition definitions located? All in the first sector of the extended partition? Somewhere else? 4. If the extended partition tables are all in the first block of the extended partition, for a 512 byte sector size, wouldn't that mean a limit of 8 x 4 extended partitions? Hmmm, 32 is starting to jigle some memory cells as a possible limit for extended paritions. (nb the AI queries seemed to deny there was ever a limit on the number of extended partitions, probably because it wasn't trained on information that old) Carey
Why do you ask? It seems to me that this is only of archaeological interest these days. The old paritioning schemes ("MBR" -- Master Boot Record) evolved with layer upon layer of hack. <https://en.wikipedia.org/wiki/Master_boot_record> <https://en.wikipedia.org/wiki/Extended_boot_record> PC have supported GPT (FUID Patition Table) for about 15 years. Apparently Window 8 was the first Windows to be able to boot from GPT (2012). Several earlier ones could use GPT. Linux and other non-Microsft OSes could do this earler (Linux: 2008). <https://en.wikipedia.org/wiki/GUID_Partition_Table>
From: CAREY SCHUG via Talk <talk@lists.gtalug.org> To: GTALUG Talk <talk@lists.gtalug.org> Cc: CAREY SCHUG <sqrfolkdnc@comcast.net> Date: Sun, 12 Oct 2025 08:13:58 -0500 (CDT) Subject: [GTALUG] history question on dos partiton tables
Boy, I am out of it. Memory failure, or not keeping up
I remember when there was an absolute limit of 7 usable partitions on a disk. I forgot or never realized this limit went away for a DOS-formatted disk (I know Solaris and other basically different disk formats had different limits).
Going back to MSDOS 5.0. The primary partition table 64 bytes, per AI) had 4 entries, but one of those could point to an "extended" partition with its own partition table, also of 4 entries (and 64 bytes), so the other 3 primary, and 4 extended partitions were all I could use for my data. If I tried to create one more extended partition, the format program refused. Some thing(s) could ONLY be in a primary partition (certain operating systems? multi-boot loader? I don't remember).
Apparently, now there can be many extended partition tables, thus a practically unlimited number of partitions.
1. When did that change? Meaning with what level of Microsoft software, and what level of Linux, if Linux had also been limited to 3+4 originally?
2. I presume some old operating systems only recognize the first 4 extended partitions? Or can they totally not recognize a disk with a "new" DOS format mbr at all? This could be as a data disk if I am transferring data from a legacy computer to a current one.
3. Where are the groups of 4 extended partition definitions located? All in the first sector of the extended partition? Somewhere else?
4. If the extended partition tables are all in the first block of the extended partition, for a 512 byte sector size, wouldn't that mean a limit of 8 x 4 extended partitions? Hmmm, 32 is starting to jigle some memory cells as a possible limit for extended paritions.
(nb the AI queries seemed to deny there was ever a limit on the number of extended partitions, probably because it wasn't trained on information that old)
Carey
D. Hugh Redelmeier via Talk said on Sun, 12 Oct 2025 10:18:00 -0400 (EDT)
Why do you ask?
It seems to me that this is only of archaeological interest these days.
It's very much relevant today. If you don't want that UEFI mess, you need to format the boot disk with the old MSDOS partitioning scheme that Carey described almost exactly, so that you can boot to an MBR. Assuming your motherboard allows you to do that. And yes, I know that some motherboards can recognize the faux MBR on a GPT formatted drive, but that's not always the case. SteveT Steve Litt http://444domains.com
Thank you steve, "what you said". Plus, there *IS* a large community of archeologists, for whom the term "computer game" is nostalgia, NOT a 3-D graphics FPS shoot-em-up. We want to resurrect or recreate old hardware, and we still want to be able to take disks back and forth between old and new hardware, run virtually on new hardware, and be prepared for any compatibility issues we haven't thought of. And, in my case, having forgotten so much of what I "knew" back in the 1980s (and getting confused between mainframe and personal computers). For others, never having been there. Carey
On 10/13/2025 5:03 AM CDT Steve Litt via Talk <talk@lists.gtalug.org> wrote:
D. Hugh Redelmeier via Talk said on Sun, 12 Oct 2025 10:18:00 -0400 (EDT)
Why do you ask?
It seems to me that this is only of archaeological interest these days.
It's very much relevant today. If you don't want that UEFI mess, you need to format the boot disk with the old MSDOS partitioning scheme that Carey described almost exactly, so that you can boot to an MBR. Assuming your motherboard allows you to do that.
And yes, I know that some motherboards can recognize the faux MBR on a GPT formatted drive, but that's not always the case.
SteveT
Steve Litt
MBR comes out of the first PC BIOS that supported booting from a hard drives. That must have been the PC/AT. Partitioning under MBR is purely a function of the OS and its boot loader. It isn't part of the hardware or BIOS. So your questions should be referencing a particular version of a particular OS. Not really a Linux question. What OS are you trying to bring back from the dead? This is what the BIOS did: in 16-bit mode it loaded the first "sector" of the disk (128 bytes) and jumped to the first byte. That's it. The rest came out of the OS's bootloader(s). DOS created the convention of using the last part of boot sector as a partition table. Some other OSes continued the convention. The boot loader and everything that came after it could make calls on the BIOS for various tasks, but only in 16-bit "real" mode. Some devices (eg. add-on disk controllers) had BIOS extensions to operate their hardware. The DOS partition table references 512-byte disk sectors. The best represenation, reached some years, was LBA (Linear Block Address). These were limited to 32 bits so at most 2 ^ 32 sectors could be used. That limited disks to 2TB, pretty small by today's standards. <https://learn.microsoft.com/en-us/troubleshoot/windows-server/backup-and-storage/support-for-hard-disks-exceeding-2-tb> Advanced Format was a complicated and painful move to 4096-byte sectors. I don't think MBR made it. I think that real (not emulated) DOS requires MBR. <https://en.wikipedia.org/wiki/Advanced_Format> Rules for partition tables are determined by your OS. Linux tended to folow whatever MS DOS or Windows did.
From: CAREY SCHUG via Talk <talk@lists.gtalug.org> To: GTALUG Talk <talk@lists.gtalug.org> Cc: CAREY SCHUG <sqrfolkdnc@comcast.net> Date: Mon, 13 Oct 2025 08:11:15 -0500 (CDT) Subject: [GTALUG] Re: history question on dos partiton tables
Thank you steve, "what you said".
Plus, there *IS* a large community of archeologists, for whom the term "computer game" is nostalgia, NOT a 3-D graphics FPS shoot-em-up. We want to resurrect or recreate old hardware, and we still want to be able to take disks back and forth between old and new hardware, run virtually on new hardware, and be prepared for any compatibility issues we haven't thought of.
And, in my case, having forgotten so much of what I "knew" back in the 1980s (and getting confused between mainframe and personal computers). For others, never having been there.
Carey
On 10/13/2025 5:03 AM CDT Steve Litt via Talk <talk@lists.gtalug.org> wrote:
D. Hugh Redelmeier via Talk said on Sun, 12 Oct 2025 10:18:00 -0400 (EDT)
Why do you ask?
It seems to me that this is only of archaeological interest these days.
It's very much relevant today. If you don't want that UEFI mess, you need to format the boot disk with the old MSDOS partitioning scheme that Carey described almost exactly, so that you can boot to an MBR. Assuming your motherboard allows you to do that.
And yes, I know that some motherboards can recognize the faux MBR on a GPT formatted drive, but that's not always the case.
SteveT
Steve Litt
Description: GTALUG Talk Unsubscribe via Talk-unsubscribe@lists.gtalug.org Start a new thread: talk@lists.gtalug.org This message archived at https://lists.gtalug.org/archives/list/talk@lists.gtalug.org/message/GB34GXE...
D. Hugh Redelmeier via Talk said on Mon, 13 Oct 2025 16:05:31 -0400 (EDT)
So your questions should be referencing a particular version of a particular OS. Not really a Linux question. What OS are you trying to bring back from the dead?
GNU/Linux with the 6.12.41 kernel. SteveT Steve Litt http://444domains.com
From: Steve Litt via Talk <talk@lists.gtalug.org>
D. Hugh Redelmeier via Talk said on Mon, 13 Oct 2025 16:05:31 -0400 (EDT)
So your questions should be referencing a particular version of a particular OS. Not really a Linux question. What OS are you trying to bring back from the dead?
GNU/Linux with the 6.12.41 kernel.
My question was really to Carey. He's the one asking about extended partitions. To be clear, the kernel version doesn't tell you everything -- the distro and version says more. It's the distro that normally configures kernel and boot loader options.
From: Steve Litt via Talk <talk@lists.gtalug.org>
It's very much relevant today. If you don't want that UEFI mess, you need to format the boot disk with the old MSDOS partitioning scheme that Carey described almost exactly, so that you can boot to an MBR. Assuming your motherboard allows you to do that.
Not actually: the BIOS doesn't know or care about partitions. UEFI is another matter: it does know about partitions (GPT partitions). The motherboard, in BIOS / MBR mode, only boots the first 512 byte sector of the boot disk and jumps to it. That requires no knowledge of partitions. Everything after that depends on your boot loader and OS. Typically the MBR contains code to load more of the bootloader since 512 bytes is rarely enough. With the right boot loader, you should be able to use GPT on any old BIOS / MBR system. Fighting UEFI is a pretty lost cause. There may well be "smart" motherboards that sniff the disk to see if it should boot UEFI. Surely they would be looking for an ESP (EFI System Partition). Just make sure not to have one.
D. Hugh Redelmeier via Talk said on Mon, 13 Oct 2025 16:35:07 -0400 (EDT)
From: Steve Litt via Talk <talk@lists.gtalug.org>
It's very much relevant today. If you don't want that UEFI mess, you need to format the boot disk with the old MSDOS partitioning scheme that Carey described almost exactly, so that you can boot to an MBR. Assuming your motherboard allows you to do that.
Not actually: the BIOS doesn't know or care about partitions. UEFI is another matter: it does know about partitions (GPT partitions).
I didn't know I was disputing the preceding sentence. The preceding sentence is good information, but it doesn't negate UEFI's disadvantages.
The motherboard, in BIOS / MBR mode, only boots the first 512 byte sector of the boot disk and jumps to it. That requires no knowledge of partitions.
In the preceding two sentences, I think we have an ambiguity about the word "that". Bootloaders like Grub, LILO, etc have no knowledge of partitions, but the 512 byte MBR absolutely does: In fact it contains the partition table in MBR booted computers.
Everything after that depends on your boot loader and OS. Typically the MBR contains code to load more of the bootloader since 512 bytes is rarely enough.
My understanding is the same as what you express in the preceding 2 sentences.
With the right boot loader, you should be able to use GPT on any old BIOS / MBR system.
Fighting UEFI is a pretty lost cause.
Colonists fighting the British in 1776 was a lost cause. Satellite governments fighting the Soviet Union for independence in the 1980's to 1990's was a pretty lost cause. Supporting Nelson Mandela 1943-1990 was a pretty lost cause. Using a monolithic kernel for a Minix workalike was a pretty lost cause. Using Linux in the 1990's was a pretty lost cause. MBR is a "do one thing and do it well" solution, in 512 bytes, plus, as you pointed out, an intermediate hunk of code to run the correct kernel on the correct bootable disk, etc. Whatever flaws MBR had, the confusing, obfuscated, hardware-bricking UEFI is *not* the optimal solution, and not even an improvement. So you can call me the King of Lost Causes, because until I depart this earth, I will continue to advocate for simplicity and thin-interface modularity. It's because of people like me that you can still get Linux without systemd. It's because of us Lost Cause advocates that Linux remains a very DIY system. SteveT Steve Litt http://444domains.com
From: Steve Litt via Talk <talk@lists.gtalug.org>
D. Hugh Redelmeier via Talk said on Mon, 13 Oct 2025 16:35:07 -0400 (EDT)
From: Steve Litt via Talk <talk@lists.gtalug.org>
It's very much relevant today. If you don't want that UEFI mess, you need to format the boot disk with the old MSDOS partitioning scheme that Carey described almost exactly, so that you can boot to an MBR. Assuming your motherboard allows you to do that.
Not actually: the BIOS doesn't know or care about partitions. UEFI is another matter: it does know about partitions (GPT partitions).
I didn't know I was disputing the preceding sentence. The preceding sentence is good information, but it doesn't negate UEFI's disadvantages.
I was saying that you don't need to format the disk with MBR partitioning (a confusing name) to avoid UEFI. You certainly do need to have a master boot record.
The motherboard, in BIOS / MBR mode, only boots the first 512 byte sector of the boot disk and jumps to it. That requires no knowledge of partitions.
In the preceding two sentences, I think we have an ambiguity about the word "that". Bootloaders like Grub, LILO, etc have no knowledge of partitions, but the 512 byte MBR absolutely does: In fact it contains the partition table in MBR booted computers.
Not accurate. GRUB certainly knows about disk partitions. It even knows how to handle a bunch of file-system types. Very convenient but it means that functionality is duplicated between GRUB and the kernel. I've forgotten what LILO knows, but it amounts to a bunch of disk extents (typically a list of LBAs) that get written into LILO's data by each kernel installation. This kind of breaks file-system abstractions because you cannot move a kernel file the way you can move an ordinary file: LILO will access the old addresses. The first level boot loaders that are often installed as the Master Boot Record usually have an MBR-style partition table embedded in them. This is not mandated by the BIOS "standard". You can put anything in that 512-byte block that can start running in 16-bit Real Mode. You definitely want GPT for any HDD with modern sizes. SSDs are heading that way. GPT is just a Good Thing. It would be easy to write a boot loader for MBR that ends up running grub in a GPT boot disk. Maybe this is already the case with the standard GRUB package. ================== Some systems have used a cut-down Linux kernel as a boot loader. I think that's what "MILO" was on the DEC ALpha. It sounds crazy but it does reduce the chance of problems with re-implemented functionality.
D. Hugh Redelmeier via Talk said on Wed, 15 Oct 2025 11:01:30 -0400 (EDT)
You definitely want GPT for any HDD with modern sizes. SSDs are heading that way. GPT is just a Good Thing.
GPT is an excellent thing. I love my 14TB, 7200 RPM disk, especially in this age of bind mounts. On a desktop computer, motherboard permitting, you can have the best of both worlds by booting to a 1TB or even 2TB NVMe or SSD with the old partitioning scheme and MBR partition table, and have all the rest of your disks, spinning rust in my case, use the GPT partitioning scheme, with no ability to boot. SteveT Steve Litt http://444domains.com
On Sun, Oct 12, 2025 at 08:13:58AM -0500, CAREY SCHUG via Talk wrote:
Boy, I am out of it. Memory failure, or not keeping up
I remember when there was an absolute limit of 7 usable partitions on a disk. I forgot or never realized this limit went away for a DOS-formatted disk (I know Solaris and other basically different disk formats had different limits).
Going back to MSDOS 5.0. The primary partition table 64 bytes, per AI) had 4 entries, but one of those could point to an "extended" partition with its own partition table, also of 4 entries (and 64 bytes), so the other 3 primary, and 4 extended partitions were all I could use for my data. If I tried to create one more extended partition, the format program refused. Some thing(s) could ONLY be in a primary partition (certain operating systems? multi-boot loader? I don't remember).
Apparently, now there can be many extended partition tables, thus a practically unlimited number of partitions.
1. When did that change? Meaning with what level of Microsoft software, and what level of Linux, if Linux had also been limited to 3+4 originally?
2. I presume some old operating systems only recognize the first 4 extended partitions? Or can they totally not recognize a disk with a "new" DOS format mbr at all? This could be as a data disk if I am transferring data from a legacy computer to a current one.
3. Where are the groups of 4 extended partition definitions located? All in the first sector of the extended partition? Somewhere else?
4. If the extended partition tables are all in the first block of the extended partition, for a 512 byte sector size, wouldn't that mean a limit of 8 x 4 extended partitions? Hmmm, 32 is starting to jigle some memory cells as a possible limit for extended paritions.
(nb the AI queries seemed to deny there was ever a limit on the number of extended partitions, probably because it wasn't trained on information that old)
Extended partitions work by defining a partion that contains another partition table in it's first sector. Each extended partition contains one primary partition and optionally another extended partition pointing to the next partition table. So it is a linked list of partition tables. -- Len Sorensen
participants (4)
-
CAREY SCHUG -
D. Hugh Redelmeier -
Lennart Sorensen -
Steve Litt