Isn't this time for a new partitioning system?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Neuromancer

Isn't this time for a new partitioning system?

Post by Neuromancer »

Hi people.
First of all, sorry for my English.

Some times ago I started coding my OS (Venom) and when I was about to write the (MSDOS) partition handler, I thought how it is old and limited.

I designed a new partitioning/booting scheme, called ExDS (awful name, I know), Extended Disk Slicing.
Instead of having the partition list on the first sector of the disk, and limiting the boot code to less than 512 bytes, I thought to have the first sector reserved a boot code named "stage 1" which loads a boot loader in the next 8192-1 sectors (4 MB - 512). This boot loader is something like GRUB, which loads the kernel directly from the disk, or merely boot the appropriate boot code in the partition.
After this partition there is the REAL partition table. Each entry is a made of a 64-bit "start sector"-"length" pair to define each partition.

Since many today's harddisks are larger than 1 GB, this wouldn't take up many disk space, I would remove every GRUB installation issue (I hate installing GRUB) but I can break the compatibility for OSes (Linux, Win, etc.) which relies on the MSDOS scheme (but there is a way to make it compatible to them without recoding their partitioning manager).

Comments and critics are welcome.
Thx ;D
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:Isn't this time for a new partitioning system?

Post by Solar »

You can't change the stage1 thing, because that's what the BIOS expects. After that, it's basically your thing - as long as you own the hard drive.

The VAMOS bootloader uses a similar trick - since the traditional partitioning scheme leaves the first and last "cylinder" unoccupied, several software packages use that "slack space" to store stuff there.

I'd suggest going for a more BSD-like approach: Taking a partition (BSD calls it "slice"), and then subdivide it however you see fit (BSD, confusingly, calls this "partitioning"). This way, you experience little pain with the traditional partitioning, and you're still a "good citizen" of a multi-boot system.
Every good solution is obvious once you've found it.
Neuromancer

Re:Isn't this time for a new partitioning system?

Post by Neuromancer »

Sorry, I am not sure, but I think BIOS loads the first sector of the disk and checks only for a 0xAA55 signature at its end. I think BIOS does not know anything about partitions.
srg

Re:Isn't this time for a new partitioning system?

Post by srg »

Neuromancer wrote: Sorry, I am not sure, but I think BIOS loads the first sector of the disk and checks only for a 0xAA55 signature at its end. I think BIOS does not know anything about partitions.
Indeed, BIOS knows only of the drives them selves e.g 0x81 etc.

srg
Tim

Re:Isn't this time for a new partitioning system?

Post by Tim »

Look at GUID Partition Tables (GPT). GPT is a new standard for partition tables which supposedly solves all the problems of the old 'standard'.
Post Reply