Skip to content

v1.0.20

Compare
Choose a tag to compare
@maxpat78 maxpat78 released this 19 Jun 15:44
· 41 commits to master since this release
Fixes and large enhancements

Highlights:
- added 4K sectors support in VHDX images
- FAT format code merged into a single fat_mkfs function
- 128K and 256K clusters allowed with 4K sectors (FAT)
- really working cylinder alignment for new partitions
- partition type code is now correctly updated in MBR after format
- better compatibility switches with traditional DOS/Windows FORMAT

disk.py:
- new type() member returns a string type name

exFAT.py:
- VBR checksum is checked at boot sector from disk initialization

FAT.py:
- mostly cosmetic changes in some member names
- FAT() initialization accepts and uses disk sector size

gptutils.py:
- pack() honours sector size

mkfat.py:
- new single fat_mkfs function for all FAT12/16/32 formats with better documentation
- support for 4K sectors
- simplified cluster auto-selection (FAT)
- enhanced CHS geometry handling
- return codes and optional messages
- better FAT media byte handling
- duplicated format app tool (__main__) is removed from here

partutils.py:
- LBA-CHS conversions moved in utils.py
- new (definitive?) partition type code calculator
- 4K sector support
- partitioning algorithms revised to do proper cylinder (old DOS) or MB alignment, and to honor disk geometry whenever possible

scripts/mkfat.py:
- new options for FAT tuning (FAT32 limits, FAT12 exclusion with HDDs, no 64K clusters in old systems)
- partition type code is updated in MBR according to applied format

scripts/mkvdisk.py:
- added 4K sectors support (VHDX)

utils.py:
- LBA-CHS conversions moved from partutils.py

vdi/vhd(x)/vmdkutils.py:
- added 4K sectors support (actually effective for VHDX only)

vhdutils.py:
- removed block alignment check in BAT (Windows does not care, and blocks could be unaligned in some scenarios)
- parent's timestamp is checked no more (like Windows 11)
- fixed a bug in dwMaxTableEntries calculation
- fixed a bug in parent timestamp assignment
- fixed a bug in parent's locator encoding

Volume.py:
- added 4K sectors support
- copy_tree_in can optionally convert file names in upper case passing uppercase=1