Research toolkit that automates the process to derive real-world behavior from DOS disk utilities like FDISK and FORMAT. DOSContainer doesn't rely on folkore, it relies on hard fact.
- Rust 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .roo | ||
| bootdisks | ||
| original media | ||
| plans | ||
| src | ||
| tests | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
Disk research
This is a Rust-based tool that brute-forces old DOS disk utlity behavior due to a lack of formal documentation. The process:
- Create hard disk images of every conceivable geometry.
- Boot Qemu i386 into DOS from a boot floppy.
- Run FDISK through a Qemu i386 emulation and choose the default to use the whole disk.
- FDISK requests a reboot. Just stop the process here.
- Spawn a new Qemu process that picks up the freshly partitioned disk image.
- Run FORMAT on the new partition.
- Shut down Qemu.
- Pull as much relevant metadata as possible from the BPB and partition table and put that in a database along with the 512-byte raw boot sector and some information on this specific run-attempt itself: did we succeed? Where did things break (if appropriate)? What parameters were used for the disk image creation, particularly geometry? Which OS and boot floppy were used?
This should run in parallel on as many cores as the host machine has, because it'll take thousands upon thousands of disk images. To not destroy the host SSD, we should also put the hard disk images in a tmpfs storage area.
The result is a SQLite3 database with a whole slew of disk metadata for how FDISK and FORMAT behave on every conceivable disk geometry. This gives an authoritative answer to the question how these tools behave on different disks and for different operating systems without reverse-engineering the tools themselves.