Dear Maintainer,
dosfsck trashes really old FAT that doesn't have a volume label in the boot sector.
This renders previously bootable filesystems unbootable.
Example case:
https://github.com/joshudson/dossuperfloppy/raw/refs/heads/master/scantests/basefat16.img.bz2
The FAT boot sector is at sector 7. Hexdump:
00000000 eb 28 90 49 42 4d 20 20 32 2e 30 00 02 08 01 00 |ë(.IBM 2.0.....|
00000010 02 00 02 f9 7f f8 10 00 20 00 04 00 07 00 00 00 |...ù.ø.. .......|
00000020 00 00 00 00 80 00 28 11 11 11 11 00 00 00 00 00 |......(.........|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 80 55 aa |..............Uª|
00000200
In this boot sector, offset 0x26 is not 0x29; therefore there is no volume label,
and the boot sector code starts at offset 0x2B. (As this is actually a mock-up
test case there isn't any actual boot code there, but a DOS 2.x or 3.0 boot
sector will be destroyed and the boot disk rendered unbootable.)