I released FDISK 1.4.0: https://github.com/FDOS/fdisk/releases/tag/v1.4.0
I will put this also into the Gitlab archive for FreeDOS 1.4 RC2. The changes to the last version 1.3.4 shipped with FreeDOS 1.3 are listed below. Greetings, Bernd Change log 1.4.0 - 1.3.4 ------------------------------------ Fixes: - CRITICAL: FDISK would corrupt the disk if a logical other than the first is deleted while there are 23 logical partitions defined for a disk. - CRITICAL: The number n for command line operations /del /log:n and /del /num:n did not always reflect the n-th logical partition shown to the user via /info. This could trick the user into deleting wrong partitions. - CRITICAL: Avoid data loss on logical partition creation if there are already 22 partitions on a single disk and the 23th to be inserted is not going into the last partition slot. - CRITICAL: Fix a drive letter disagree between DOS and FDISK in cases involving multiple disks and a mix of active and non-active primary partitions. - CRITICAL: Prevent user from specifying multiple disks via command line leading to commands operating on the wrong disk. - CRITICAL: Fix FDISK loading wrong CHS head and sector values from MBR if operating in LBA mode. The previous incorrect behaviuor was hardcoding them to cylinder boundaries instead of calculating them from LBA address, resulting in corrupt partition tables especially if used in combination with other disk utilities (since <= v0.9.9). - CRITICAL: Fix FDISK going havoc when encountering extended partition layouts it is not designed handle: EMBR tables with entries 3 or 4 being present or an EMBR link in entry 1, 3 or 4. Creating and deleting logical drives is disabled for such layouts. - CRITICAL: Fix FDISK going havoc when encountering partition type 0 in the first EMBR table entry in the middle of the EMBR chain. - CRITICAL: Position and size calculation for new logical drives was broken if the extended partition was not aligned to cylinder boundaries, leading to all sorts of problems, including potential data loss. - CRITICAL: Fix a bug resulting in detecting non-existant extra cylinders when using ext INT 13 function (since v1.1). - CRITICAL: Fix a partition location and size calculation error triggered when creating a new logical partition after deleting the first logical partition while there are still logical partitions left (since v1.2.1). - CRITICAL: Fix different calculation errors leading to overlapping partitions, unnessessary free space between them, or partitions exceeding the end of the disk resulting from off-by-one and off-by-two errors. - HIGH: If there are multiple gaps between the partitions, FDISK would not find the largest free space but the first. - HIGH: Prevent the user from creating more drives than drive letters available. - HIGH: Fix FDISK not modifying partition type via command line /MODIFY and via UI if FDISK is started in extended options mode /XO. - HIGH: respect selected video page instead of hardcoding it to zero when calling INT 10 routines. - HIGH: Prevent querying LBA capabilities via INT13,41 if LBA is disabled by the user via command line argument /X. This caused some broken BIOS to crash the system, like BIOS version 0.9.4 of Book8088 and Xi8088. - HIGH: Fix FDISK not writing the partition table of the 8th disk. - HIGH: Fix a bug preventing FDISK to work if ext. INT 13 support is reported by the BIOS, but actual support for functions 42, 43 and 48 is non-existant (mainly 486 systems and early LBA support era). - HIGH: Fix a bug preventing FDISK from working correctly, if BIOS returns garbage in AH for INT 13 function 2 or 3 and CF is zero (mainly some buggy XT/AT era INT 13 implementations). - HIGH: Fix FDISK not returning an error code if partition table can not be written. (since <= v1.2.1) - MEDIUM: Fix FDISK not letting the user delete the last existing logical drive until program is restarted, if the first logical drive in EMBR chain is not the last to be deleted. (since v1.3.5) - MEDIUM: Fix FDISK wrongly informing the user that no space in the extended partition is left after deleting the last logical drive, until program is restarted. (since v1.3.5) - MEDIUM: Fix a bug where FDISK gets confused which boot sectors to clear if logical drives are created and deleted during the same program invocation. - MEDIUM: Fix a cylinder off by one error in partition type determination. - MEDIUM: Fix not doing proper error handling for 80% of the functionality. - LOW: Fix a display bug showing the extended partition a few MB smaller than it actually is while creating logical partitions. - LOW: Prevent FDISK from using different rounding schemes for displaying partition sizes, confusing the user by showing slightly different values in some situations. - LOW: Work around AT BIOS bug. It is LOW because it actually does not get triggered by the current version. - LOW: Fix color handling for background colors other than black. - LOW: Fix various flaws in the input handling routine. Changes: - FDISK is translated to the following languages: German, French, Turkish, Polish, Spanish and Italian - Use DR-DOS drive letter assignment if running under (E)DR-DOS kernel. - FDISK provided MBR bootloader does not require more than 128k of RAM anymore. In fact it should run with as low as 64k of RAM (untested). - Work around Xi8088 and Book8088 BIOS bug (bootloader and FDISK itself). - Assume BIOS drive number of 0x80 to boot from if BIOS tells us it is unit 0. This should be an error, because we boot from hard disk. - Do not check for extra cylinders by default. DR-DOS refuses to use partitions exceeding the BIOS reported disk size, despite being valid. - Increase compatibility with some older quirky IDE controllers by resetting the disk system via INT13,0 after failed IO operations. - Provide SvarDOS packages as part of new releases. - Prohibit deletion of DOS partitions from the Non-DOS partition removal menu. - FDISK terminates with an error message if run from OS/2 or Windows NT. - Program can be build with I16-GCC. - Support for Borland / Turbo C was dropped. - Implement /IFEMPTY command for use by the FreeDOS installers. - Write LBA marker entry 1023/254/63 into CHS partition table entries if CHS value otherwise would overflow. This may be disabled via config option LBA_MARKER. - FDISK contains experimental support for aligning partitions to 4K. This may be enabled via config option ALIGN_4K. - Warn if user tries to use FDISK with a disk size of >2TB, because it can not handle it properly. If the user decides to continue the disk size is truncated to 2TB, making sure nothing bad happens by some overflowing values. - Adapt user interface to handle larger disks. - Free FDISK now compiles with Open Watcom C. - Rework command line argument handling. - /SMBR renamed to /SAVEIPL to avoid confusion of what it does: saving the boot code and NOT saving the whole MBR including the partition table. - /SAVEMBR and /LOADMBR commands save or load a MBR from file. This includes boot code and primary partitions. - /CLEARALL command renamed to /CLEARMBR (still available under old name). - /CLEAR command renamed to /DELETEALL (still available under old name). - Support MAX quantifier in command line size arguments. - Make disks n+m, m>0, accessible if disk n is not accessible. _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel