edrdos icon indicating copy to clipboard operation
edrdos copied to clipboard

Drive letter assignment disagree between FreeDOS and EDR kernel

Open boeckmann opened this issue 1 year ago • 3 comments

EDR kernel assigns drive letters for multiple primary partitions on a drive solely by the order in the partition table. It takes not into account which of them is actve. FreeDOS (and MS-DOS) assigns the active partition first.

Workaround: Use FDISK to swap the partition entries, so that the active partition is in the first partition entry. For example:

FDISK 1 /SWAP:1,3

would swap partition table entries one and three

boeckmann avatar May 20 '24 18:05 boeckmann

Does that mean that with EDR the system (boot) drive could appear as "E:" if the system booted from the third partition ? That would be indeed a compatibility nuisance, and would make SvarDOS installation fail because the SvarDOS installer assumes in a couple of places that post-installation the system drive is necessarily "C:".

That being said, I never liked how MSDOS reorders the letters depending on which partition booted. It is sometimes confusing, plus it can break some applications or batch scripts. EDR's approach seems saner. Maybe the SvarDOS installer should be more flexible about the system drive's letter...

mateuszviste avatar May 20 '24 19:05 mateuszviste

Does that mean that with EDR the system (boot) drive could appear as "E:" if the system booted from the third partition ? That would be indeed a compatibility nuisance, and would make SvarDOS installation fail because the SvarDOS installer assumes in a couple of places that post-installation the system drive is necessarily "C:".

Yes, that is exactly what happened to me this afternoon. I installed SvarDOS with the FreeDOS kernel on C:, and after switching to the EDR kernel the drive was suddenly D:.

That being said, I never liked how MSDOS reorders the letters depending on which partition booted. It is sometimes confusing, plus it can break some applications or batch scripts. EDR's approach seems saner. Maybe the SvarDOS installer should be more flexible about the system drive's letter...

It also caused me some headache, especially regarding FDISK. The behaviour of the FreeDOS kernel can actually be altered via configuration variables, so it supports multiple DLA algorithms. FDISK supports only the Microsoft algorithm, and there is currently no (easy) way to query which DLA the FreeDOS kernel used once booted. Worst (despite not in FreeDOS default config) case is that the drive letters between kernel and FDISK disagree, and the user deletes a wrong partition. There could be some heuristics implemented to verify the drive letters, but this would be out of sync as soon as the user modifies the partition layout. From that point on, FDISK has to calculate the drive letter by itself.

boeckmann avatar May 20 '24 20:05 boeckmann

Leaving this open for documentation purposes, as this probably will not be changed in the next time.

boeckmann avatar Aug 04 '24 15:08 boeckmann