Repository navigation
Releases
Rufus++ v0.2.1
Rufus++ 0.2.1 fixes VHDX captures rejected by independent readers and adds
independent VHD/VHDX decoding checks. Physical USB capture/restore tests now cover
DD, fixed VHD, dynamic VHD and VHDX on macOS.
Fixed
- Reserve an aligned, empty VHDX log region and record its offset and length in
both checksummed headers. Previously, Rufus++ accepted its own capture while
QEMU rejected the invalid log location. The fix is in the portable capture
writer and ships in every platform package. - Existing VHDX files are not rewritten by an upgrade. Recapture the source with
0.2.1 to produce the corrected layout.
Added
- Assert VHDX log geometry in native regression tests and compare captured VHD
and VHDX files byte-for-byte through QEMU's independent decoder when
qemu-imgis installed. Linux build/package CI now installs this dependency.
VHD comparisons explicitly use the footer's declared disk size so older QEMU
versions do not substitute rounded legacy CHS geometry. - Add a manual, identity-pinned physical USB capture/restore runner with
deterministic dummy files, independent raw FAT32 checks, resumable evidence
and temporary host-mount suppression. Its automated safety checks use mocks
and private files; normal tests never write a physical device.
Validation and known limits
- All 27 local macOS arm64 CTest entries pass, including the independent decoder
regression and 38 physical-runner safety cases. The decoder regression failed
with the old writer and passed with the fix. - DD, fixed VHD, dynamic VHD and corrected VHDX captures passed production
restore/verification, independent comparison of all 15,472,047,104 physical
bytes, and all 82 fixture files plus nine directories on the tested Kingston. - Some completed writes were followed by macOS losing the disk interface.
Protected reconnects and read-only continuations completed the independent
checks without repeating those writes. The cause remains unresolved; these
results establish data integrity after recovery, not uninterrupted operation. - This remains a field-testing preview. Other physical host backends, devices,
actual PC firmware, Secure Boot and a complete Windows installation remain
separate qualifications. macOS packages retain unsigned-root development mode.
See the write-test record
for the procedure, retained failures and coverage limits.
Packages built and tested from commit ba4b848.
The macOS DMGs are explicitly unsigned-root development builds for controlled field testing. They run in restricted mode normally and enable physical-device operations only when their bundle executable is launched with sudo. They are not signed or notarized distribution builds.
Rufus++ v0.2.0
Rufus++ 0.2.0 adds bundled NTFS creation for Windows USBs on macOS/Linux,
Windows legacy BIOS and dual-mode boot support, and faster quick writes that
skip unallocated space. It also fixes persistence consistency and improves
write safety, progress reporting and preflight estimates.
Added
- Bundle the direct NTFS library and private formatter for standard Windows ISO
staging on macOS/Linux. No macFUSE, filesystem mount or host ntfs-3g installation
is required for that route; original large installation files remain intact. - Create supported Windows NTFS media as MBR + BIOS or MBR + BIOS/UEFI, including
primary and backup BOOTMGR boot code. GPT remains UEFI-only. - Show the current write stage, percentage, bytes processed and elapsed time
in a separate progress readout that stays visible on macOS. - Add writer fault-injection, native file-I/O, direct NTFS and guarded manual
device-test tooling, with documented field-test procedures.
Fixed
- Quick FAT32 and macOS/Linux NTFS writes now copy formatter-authored initialized
ranges, including required zero metadata and backup structures, while skipping
free space. Full formats and ordinary DD writes retain dense semantics. - Correct ext2 persistence allocation counters and add a UUID-pinned Casper
shutdown hook so normal live-system shutdown finalizes the backing filesystem. - Correct FAT32 root-parent directory entries and reserve/handle trailing
partition metadata without overwriting persistence or GPT backup structures. - Tighten device identity revalidation, short-I/O handling, partial-write failure
reporting and completion reporting after flush/finalization. - Share NTFS temporary-space estimates between preflight and the backend,
account for both macOS/Linux staging files, and defer quick-write totals until
preparation knows the allocated ranges. Receipts retain actual outcome counts.
Validation and scope
- The local macOS arm64 build passes all 25 CTest entries, including NTFS files
larger than 4 GiB and preflight/receipt regression checks. - Physical Kingston USB tests covered Ubuntu DD readback, MBR/GPT persistence,
reconnect retention and BIOS → UEFI → BIOS persistence. - GUI-created Windows NTFS media reached Windows Setup through QEMU UEFI and
BIOS using the same physical MBR dual-mode USB. Windows guest writes used
local overlays and the physical backing remained read-only. - This remains a field-testing preview. Actual PC firmware, Secure Boot, a full
Windows installation and broad hardware qualification remain outstanding.
Standalone NTFS formatting and Windows To Go retain separate dependencies.
See the write-test record
for reproduction steps and coverage limits.
Packages built and tested from commit 248de9f.
The macOS DMGs are explicitly unsigned-root development builds for controlled field testing. They run in restricted mode normally and enable physical-device operations only when their bundle executable is launched with sudo. They are not signed or notarized distribution builds.
Rufus++ v0.1.0-alpha.1
Automated Rufus++ 0.1.0-alpha.1 packages built and tested from commit bf13832.\n\nThis is an alpha release for controlled field testing. Back up important data and verify the selected target before writing.\n\nThe macOS DMGs are unsigned-root field-test builds. They run in restricted mode normally and enable physical-device operations only when their bundle executable is launched directly with sudo. They are not signed or notarized.