Defraginator
github.com
What it is
Defraginator is a desktop utility for making selected ROM and firmware `.bin` images contiguous on removable storage. It detects mounted volumes that appear to be removable, scans them recursively, and checks matching files’ physical layout. You can enable or disable target sizes of 256 KB, 512 KB, 1024 KB, and 2048 KB; files outside those sizes are not in scope. The app needs a single free gap at least as large as the file. It reports available free space and, on Windows, the largest contiguous block; on Linux and macOS, that largest-block figure is unknown. Windows moves clusters in place and requires administrator rights. Linux and macOS rewrite files into newly allocated space and check their physical extents; the Linux FIBMAP fallback requires root, while the listed macOS operations run as a normal user. The project says it restores the original after an unsuccessful rewrite and reports success only after verifying contiguity. Keep the card connected during work. Defraginator is free and GPL-3.0 licensed; building it requires the .NET 10 SDK.
Spec sheet
- Purpose
- Defraginator is a desktop app that defragments split .bin ROM and firmware images on SD cards and other removable media.Read 8 Oct 2026 · github.com
- License
- The repository identifies its license as GPL-3.0.Read 8 Oct 2026 · github.com
- Build requirement
- The README lists the .NET 10 SDK as a requirement and provides instructions to build and run the app from source.Read 8 Oct 2026 · github.com
- Data safety
- The README says the file data remains present during defragmentation and that unsuccessful rewrites restore the original file.Read 8 Oct 2026 · github.com
- Drive scanning
- It detects mounted volumes that look like removable media and recursively scans them for matching files and their physical cluster layouts.Read 8 Oct 2026 · github.com
- File selection
- It scans for `.bin` files that match enabled target sizes of 256 KB, 512 KB, 1024 KB, or 2048 KB.Read 4 Oct 2026 · github.com
- Free-space limit
- A file can only be made contiguous when the drive has a single free gap at least as large as that file; Linux and macOS show the largest free block as unknown.Read 8 Oct 2026 · github.com
- Linux and macOS method
- On Linux and macOS, it rewrites files into freshly allocated space and checks whether each occupies one physical extent.Read 8 Oct 2026 · github.com
- Linux and macOS support
- On Linux and macOS, it rewrites files and verifies their physical extent layout; Linux’s FIBMAP fallback requires root, while the listed macOS operations run as a normal user.Read 4 Oct 2026 · github.com
- Operating caution
- Users are told not to remove the card while defragmentation is in progress.Read 4 Oct 2026 · github.com
- Permissions
- Windows cluster moves require administrator rights; Linux normally runs as a regular user except for the FIBMAP fallback, which requires root, and macOS runs as a regular user.Read 8 Oct 2026 · github.com
- Runtime requirement
- The repository lists the .NET 10 SDK as a requirement and provides build-and-run commands.Read 4 Oct 2026 · github.com
- Safety
- The README says the original file is restored if contiguous placement fails on Linux or macOS, and success is reported only after physical contiguity is verified.Read 4 Oct 2026 · github.com
- Scope limit
- The tool only touches .bin files matching a selected target size.Read 8 Oct 2026 · github.com
- Space requirement
- Defragmentation requires a contiguous free gap at least as large as the file; the app reports free space and, on Windows, the largest contiguous free block.Read 4 Oct 2026 · github.com
- Target files
- It scans .bin files exactly 256 KB, 512 KB, 1024 KB, or 2048 KB in size, with each target size independently toggleable.Read 8 Oct 2026 · github.com
- Windows method
- On Windows, it finds contiguous free clusters and moves file clusters in place using filesystem control operations.Read 8 Oct 2026 · github.com
- Windows support
- On Windows, it uses filesystem controls to find contiguous free clusters and move file clusters in place; moving clusters requires administrator rights.Read 4 Oct 2026 · github.com
- Workflow
- The app detects mounted removable volumes, recursively scans matching files, checks their physical cluster layout, and relocates fragmented files into contiguous free space.Read 4 Oct 2026 · github.com
Strong points and limits
Strong points
- Free and GPL-3.0 licensed.
- Runs on Linux, macOS, and Windows.
- Target file sizes can be toggled independently.
- Checks physical layout before reporting success.
- Shows free space and Windows contiguous-block size.
Limits
- Only selected `.bin` target sizes are handled.
- A sufficiently large contiguous free gap is required.
- Windows cluster moves need administrator rights.
- The .NET 10 SDK is required to build.
Who it suits
It suits users who need to arrange supported `.bin` ROM or firmware images on removable media and can meet the platform’s permission and free-space requirements.
Verdict
Defraginator has a narrow, clearly stated job: reorganizing supported `.bin` files on removable volumes. Platform-specific permissions and the need for a large enough free gap are important constraints to check first.
Where Specifiction places it
- Disk Defragmentation Software#12 of 207.3