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
Isn't this time for a new partitioning system?
Re:Isn't this time for a new partitioning system?
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.
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.
Re:Isn't this time for a new partitioning system?
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.
Re:Isn't this time for a new partitioning system?
Indeed, BIOS knows only of the drives them selves e.g 0x81 etc.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.
srg
Re:Isn't this time for a new partitioning system?
Look at GUID Partition Tables (GPT). GPT is a new standard for partition tables which supposedly solves all the problems of the old 'standard'.