- Home
- Disk Defragmentation Software
- Defraginator
Defraginator
What it is
Defraginator is a free, GPL-3.0 desktop application for defragmenting `.bin` ROM and firmware images on SD cards and other removable media. It detects mounted removable volumes, scans recursively for matching files, checks physical cluster layouts, and relocates fragmented files into contiguous free space. Only `.bin` files matching enabled target sizes—256 KB, 512 KB, 1024 KB, or 2048 KB—are processed. Windows uses filesystem controls to find contiguous free clusters and move file clusters in place, which requires administrator rights. Linux and macOS rewrite files into newly allocated space and verify their physical extent layout. Linux’s FIBMAP fallback requires root; the listed macOS operations run as a normal user. The project says unsuccessful Linux or macOS rewrites restore the original file and that success is reported only after contiguity is verified. A contiguous free gap at least as large as the file is required, and users are told not to remove the card during processing. Building and running the project requires the .NET 10 SDK. It supports Linux, macOS, Windows, and multiple filesystems.
For and against
For
- Free and open source under GPL-3.0
- Runs on Linux, macOS, and Windows
- Checks physical contiguity before reporting success
- Restores originals after failed rewrites
- Targets selectable `.bin` sizes
Against
- Needs a contiguous gap as large as each file
- Windows moves require administrator rights
- Linux FIBMAP fallback requires root
- Requires the .NET 10 SDK
The verdict
Defraginator focuses narrowly on making selected `.bin` images physically contiguous on removable media. Permissions, free-space layout, and the required .NET SDK are important setup considerations.
Who it suits
Defraginator suits users managing supported ROM or firmware `.bin` images on removable media. It is useful when files match its selectable sizes and the drive has sufficient contiguous free space.
On the record
- Build requirement
- The README lists the .NET 10 SDK as a requirement and provides instructions to build and run the app from source.github.com · read 8 Oct 2026
- Data safety
- The README says the file data remains present during defragmentation and that unsuccessful rewrites restore the original file.github.com · read 8 Oct 2026
- Drive scanning
- It detects mounted volumes that look like removable media and recursively scans them for matching files and their physical cluster layouts.github.com · read 8 Oct 2026
- File selection
- It scans for `.bin` files that match enabled target sizes of 256 KB, 512 KB, 1024 KB, or 2048 KB.github.com · read 4 Oct 2026
- 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.github.com · read 8 Oct 2026
- License
- The repository identifies its license as GPL-3.0.github.com · read 8 Oct 2026
- Linux and macOS method
- On Linux and macOS, it rewrites files into freshly allocated space and checks whether each occupies one physical extent.github.com · read 8 Oct 2026
- 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.github.com · read 4 Oct 2026
- Operating caution
- Users are told not to remove the card while defragmentation is in progress.github.com · read 4 Oct 2026
- 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.github.com · read 8 Oct 2026
- Purpose
- Defraginator is a desktop app that defragments split .bin ROM and firmware images on SD cards and other removable media.github.com · read 8 Oct 2026
- Runtime requirement
- The repository lists the .NET 10 SDK as a requirement and provides build-and-run commands.github.com · read 4 Oct 2026
- 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.github.com · read 4 Oct 2026
- Scope limit
- The tool only touches .bin files matching a selected target size.github.com · read 8 Oct 2026
- 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.github.com · read 4 Oct 2026
- Target files
- It scans .bin files exactly 256 KB, 512 KB, 1024 KB, or 2048 KB in size, with each target size independently toggleable.github.com · read 8 Oct 2026
- Windows method
- On Windows, it finds contiguous free clusters and moves file clusters in place using filesystem control operations.github.com · read 8 Oct 2026
- Windows support
- On Windows, it uses filesystem controls to find contiguous free clusters and move file clusters in place; moving clusters requires administrator rights.github.com · read 4 Oct 2026