Hello, I am now reaching a state where I think that FDISK not any longer breaks the partition layouts created by itself.
However, there is at least still one MAJOR flaw when dealing with partition layouts created by other partition managers: If there exists an extended partition with a start address not aligned to cylinder boundaries, the position and size determination for logical drives is completely messed up. For example: While continuing to cylinder-align the logical partitions, this is only reflected by the CHS values and not by the corresponding LBA sector numbers. CHS and LBA sectors get out of sync because of some wired mix of doing LBA and CHS calculation. A problematic line is for example: https://github.com/boeckmann/fdisk/blob/2c7da2178c097792c3642e73eeb319330e122c71/SOURCE/FDISK/PCOMPUTE.C#L189 Here the relative starting sector gets set unconditionally. But that is wrong in case the extended partition does not start on a cylinder boundary while the logical still gets aligned to it. I must confess that I do not really know how to solve this issue without being in danger to completely break everything and want to ask: a) If someone has an idea of a clever solution without rewriting the (sadly large) calculation routines. b) If it would be ok (at least as an interim solution) to make FDISK refuse handling disks with such type of partition layout, because the user must have another partition manager to create such layouts anyway. While not being optimal, I think this is better than letting FDISK break things. Greetings, Bernd _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel