Repository navigation
Releases: Dissimilis/FlashTester
Release list
FlashTester 0.4.0
FlashTester v0.4.0 adds quick diagnostics: one run on a whole disk that answers in minutes what a full test takes hours for, as far as sampling can.
New in this release
- Quick diagnostics. In the GUI, select a whole disk and choose Quick diagnostics (listed first, under "Recommended"). On the command line:
flashtester diagnose --disk N --destroy. The run erases the disk, then samples its capacity, watches sequential writes for the point where the write cache fills, and reports the speed before and after it, whether fast writes come back after idle, sequential read speed, mixed small writes, random 4K reads and writes, whether reads freeze during writes, stalls, TRIM and SMART changes. It stops early on lost data, mismatches or new SMART errors. The default limit is 3 minutes on USB 2, 10 on USB/SD and SATA, 15 on NVMe;--max-time 2mshortens it, and every check still gets its share. - Hide serial numbers.
--hide-serial(and a checkbox in the GUI's drive details) leaves serial numbers out of everything printed or saved, so a report can be shared. - Fixed: random 4K speed on whole disks in Windows.
iops --diskfailed with error 87 since v0.2.0; it works now. - Fixed: the quick capacity probe on drives with a small write cache. Its first timed writes could land in the cache, so it planned for far too many positions; on one stick it ran for over 50 minutes. It now times its real writes and coarsens the grid when it falls behind.
- Smaller changes: the HTML report's speed chart marks positions in GB; in the GUI, a finished test offers "Back to menu", and the setup pane scrolls when it is taller than the window.
Downloads
| Platform | Binary | Interface |
|---|---|---|
| Windows 10/11 x64 | flashtester.exe |
GUI and CLI |
| Linux x64 | flashtester-linux-x86_64 |
GUI and CLI |
| Linux ARM64 | flashtester-linux-aarch64 |
GUI and CLI |
| FreeBSD amd64 | flashtester-freebsd-x86_64 |
GUI and CLI |
| Haiku x64, experimental | flashtester-haiku-x86_64 |
CLI |
Windows needs no installer or extra DLLs. Linux and FreeBSD binaries are statically linked. The Linux and FreeBSD GUIs need X11 or XWayland. On Unix, run chmod +x <filename> and then ./<filename> for the GUI or ./<filename> --help for the commands.
See SHA256SUMS for hashes and BUILDINFO.txt for build provenance and validation.
Limits
- Quick diagnostics samples. Capacity is checked at spaced positions and test writes cover at most half of the disk; cache size and recovery are estimates, less certain when the drive cannot be trimmed. A whole-disk discard can erase all of the disk. A run whose checks do not finish is reported as incomplete, not OK. Use the full test to check every byte.
- Quick diagnostics was run on USB 2 and USB 3 sticks and a USB SSD (with TRIM) on Linux, on a USB stick under Windows 11 and on more in a Windows 11 virtual machine, on VHDs, and on emulated USB, SATA and NVMe disks under FreeBSD. Internal SATA and NVMe drives have not been tested on hardware.
- FreeBSD is tested in QEMU/KVM virtual machines, not on physical FreeBSD hardware.
- Haiku remains experimental, CLI-only and untested at runtime.
FlashTester 0.3.0
FlashTester v0.3.0 brings the GUI to FreeBSD and hardens how the GUI saves files when it runs as root.
New in this release
- GUI on FreeBSD. Start
flashtester-freebsd-x86_64without arguments inside an X11 desktop to open the same GUI as on Linux. It is still one static binary, built against FreeBSD 14.5. File mode does not offer the quick capacity check, because FreeBSD cannot locate a file's blocks on the disk. - Restart as root through pkexec, sudo or doas. "Restart as root" uses
pkexec(on FreeBSD fromsysutils/polkit). Without it, the GUI shows the fullsudoordoascommand to run, including the display and X cookie, so the root window can open. A root GUI started through doas now also saves its reports in your home folder. - Safer report saving as root (Linux and FreeBSD). A root GUI used to write reports into the desktop user's home with root's rights, and then change their owner. A link placed there in advance could redirect those writes to another file. Reports are now written by a helper running as that user, as new files only.
- Private test records. The local copy of each test's record moved from a shared
/tmp/FlashTesterfolder to/tmp/flashtester-<uid>, readable only by its owner. If another user has taken that name, the test continues and logs that no local copy was kept.
Downloads
| Platform | Binary | Interface |
|---|---|---|
| Windows 10/11 x64 | flashtester.exe |
GUI and CLI |
| Linux x64 | flashtester-linux-x86_64 |
GUI and CLI |
| Linux ARM64 | flashtester-linux-aarch64 |
GUI and CLI |
| FreeBSD amd64 | flashtester-freebsd-x86_64 |
GUI and CLI |
| Haiku x64, experimental | flashtester-haiku-x86_64 |
CLI |
Windows needs no installer or extra DLLs. Linux and FreeBSD binaries are statically linked. The Linux and FreeBSD GUIs need X11 or XWayland. On Unix, run chmod +x <filename> and then ./<filename> for the GUI or ./<filename> --help for the commands.
See SHA256SUMS for hashes and BUILDINFO.txt for build provenance and validation.
Limits
- FreeBSD was tested in QEMU/KVM virtual machines with an emulated USB stick, not on physical FreeBSD hardware. The GUI ran under Xvfb on 14.4 to 16.0-CURRENT, and on 14.5 under the openbox window manager, through
pkexecanddoas. - Without root, FreeBSD's
usbconfighides USB details: a USB stick is listed as a SCSI disk with no USB ID or link speed. - A root GUI saves reports with your user's rights and primary group only. If your Documents folder links to a place you can reach only through another group, saving fails with "Permission denied"; save from a non-root GUI or change the link.
- Haiku remains experimental, CLI-only and untested at runtime.
- Known issue carried over from v0.2.0: the Windows raw-read IOPS path returned error 87 in a disposable-VHD test. File-mode benchmarks remain available.
FlashTester 0.2.0
FlashTester v0.2.0 adds file-level and whole-disk backup and restore in the GUI and command line.
New in this release
- Save files to a single ZIP archive with a SHA-256 manifest. Restore into a new folder, preserving file contents, empty folders and modification times.
- Save every disk sector to an
.imgfile with an.img.jsonchecksum manifest. Restore requires a destination at least as large and with the same logical sector size. - Validate backups before restore and read the restored data back afterward. Reject corrupt input, existing output paths, unsafe archive paths and backups stored on the same physical disk.
- Keep system disks protected from backup-source and restore operations. They can hold backup files. Whole-disk restore requires explicit erase confirmation.
Downloads
| Platform | Binary | Interface |
|---|---|---|
| Windows 10/11 x64 | flashtester.exe |
GUI and CLI |
| Linux x64 | flashtester-linux-x86_64 |
GUI and CLI |
| Linux ARM64 | flashtester-linux-aarch64 |
GUI and CLI |
| FreeBSD amd64 | flashtester-freebsd-x86_64 |
CLI |
| Haiku x64, experimental | flashtester-haiku-x86_64 |
CLI |
Windows needs no installer or extra DLLs. Linux and FreeBSD binaries are statically linked. Linux GUI mode requires X11 or XWayland. On Unix, run chmod +x <filename> and then ./<filename> --help. Start Windows or Linux without arguments to open the GUI.
See SHA256SUMS for hashes and BUILDINFO.txt for build provenance and validation.
Backup limits
Backups must be on a different physical disk from the source or restore destination. File backups are not snapshots and do not preserve permissions, ownership, alternate data streams or other filesystem metadata. Close programs using the source. System-drive backups are not supported.
Whole-disk images include unused space. Keep the image and its JSON manifest together. Restore does not expand partitions on a larger disk. Unreadable data stops the operation; failed or cancelled output remains incomplete. Read-back checks may use the OS cache and do not prove that a drive survives power loss.
Haiku remains experimental, CLI-only and untested at runtime for this release. It requires updated R1/beta5 system libraries. File operations require BFS, and whole-disk backup, free-space probing and formatting are unavailable.
Known issue: the existing Windows raw-read IOPS path returned error 87 in a disposable-VHD test. File-mode benchmarks remain available.
See the backup documentation for commands and platform requirements.
FlashTester 0.1.0
FlashTester checks flash drives and other disks for fake capacity, data loss and read errors. This is the first binary release.
Downloads
| Platform | Binary | Interface |
|---|---|---|
| Windows 10/11 x64 | flashtester.exe |
GUI and CLI |
| Linux x64 | flashtester-linux-x86_64 |
GUI and CLI |
| Linux ARM64 | flashtester-linux-aarch64 |
GUI and CLI |
| FreeBSD amd64 | flashtester-freebsd-x86_64 |
CLI |
| Haiku x64, experimental | flashtester-haiku-x86_64 |
CLI |
Download the binary for your system. Windows needs no installer or extra DLLs. Linux and FreeBSD binaries are statically linked. Linux GUI mode requires X11 or XWayland. On Unix systems, run chmod +x <filename> after downloading, then ./<filename> --help for CLI usage. Start the Windows or Linux binary without arguments to open the GUI.
SHA256SUMS contains the hashes of the release files. Build details are in BUILDINFO.txt.
Features
- Drive details, USB IDs, controller hints and SMART counters where supported. Offline NAND-ID lookup and saved controller-response decoding.
- Read scans and read-speed checks on system drives. Write tests remain blocked on protected drives.
- Full write-and-verify tests, quick capacity probes, saved-data and h2testw verification, benchmarks, endurance tests and reconnect checks.
- HTML and JSON reports, evidence summaries and working file/folder buttons after saving a report.
The release also fixes cleanup through linked folders, incomplete protected-drive detection, cancellation handling, short-read errors and report coverage calculations.
Limits and validation
Read scans do not verify usable capacity. Quick probes sample the drive; full tests check the selected space. Whole-disk write tests erase data, and even free-space tests can damage existing files on a fake drive that redirects writes.
Haiku is experimental and command-line only. The binary links to Haiku system libraries and was built against updated R1/beta5 libraries (hrev57937_129); keep Haiku updated. File tests require BFS; free-space probing and command-line formatting are unavailable. The Haiku binary is cross-compiled and has not been run on Haiku for this release.
Windows and Linux tests passed in CI. Windows passed the system-DLL-only check; Windows, Linux x64 and Linux ARM64 binaries passed startup checks. The FreeBSD binary passed the release build and static-link check. No new destructive hardware tests were performed for this release.