Releases: Hultwl/Rufux
Release list
Rufux 2.2
- Window: 34 interface languages from Rufus's own translations, Arabic fully covered with right-to-left layout. Desktop language is auto-detected, globe icon to switch; missing strings fall back to English.
- Window: language menu opens upward (it rendered off-screen); title bar now says Rufux.
- Download dialog: progress bar hidden until a download runs; status line reports the actual stage.
- Removed the old BIOS fixes checkbox (it did nothing);
rufux --gui image.isoopens the image again; the Windows-options dialog copies the real system locale; the--themeflag that was never implemented is out of the docs. - AppImage: backend is the entry point again with an internal GUI handoff, the GUI resolves only to host libraries, WebKit/codec strays are excluded, CI verifies the bundle and smoke-boots it.
- Docs: deleted
tests/HW_MATRIX.md, trimmed TODO to Windows To Go and the UDisks2 D-Bus backend, ReFS documented as refused by design, save-image and BIOS-ID listed as missing.
The AppImage is attached below by CI; it needs system WebKitGTK on the host.
Rufux 2.1 — the Rufus GUI, for real this time
2.1 replaces the old approximate window with a Tauri + WebView front end that is Rufus's dialog 1:1: same sections, same wording, same order, same compact fixed dialog — in light and dark, with the real Rufus behaviors (SELECT/DOWNLOAD split button, chevron sections that grow the window, status bar with device count and timer, log, checksums, Windows User Experience, ISOHybrid choice).
That was the project goal from day one — Rufus on Linux, indistinguishable — and the previous Qt and GTK clones never got the smell right. This one does.
Underneath nothing changed: the same CLI backend does all disk work in a pkexec worker. The window just drives it.
Heads-up: the window renders in your system's WebKitGTK (webkit2gtk-4.1), which is now a run-time requirement instead of a bundled toolkit. AUR users get it as a dependency automatically.
Rufux 2.0 Tauri GUI (test)
Test build from branch tauri-gui. Tauri+WebView 1:1 Rufus front end driving the CLI backend. Requires system WebKitGTK (webkit2gtk-4.1) on the host. Backend CLI unchanged from v2.0.
Rufux 2.0
- Download Windows 11 or 10 from inside Rufux. A DOWNLOAD button next to
SELECT opens a small window: version, edition, language, architecture,
folder. It asks Microsoft's own download service for the official ISO (the
protocol of Rufus's Fido script), shows the progress, resumes a partial
file, and selects the ISO when it is done.rufux download-windowsdoes the
same from the command line (--list,--list-langs,--url-only). This
depends on a service Microsoft does not document; it can change or rate-limit. - Windows sticks boot on legacy BIOS machines too (MBR scheme, FAT32 or
NTFS). GRUB 2 goes in the gap before the first partition and startsbootmgr.
This replaces the "UEFI only" note. GPT drives are unchanged. - Virtual disk images: VHDX, dynamic VHD, VMDK, QCOW2 and VDI are expanded
onto the drive throughqemu-img, with an optional verify. An image that
refers to another file (a backing file, a VMDK extent elsewhere) is refused,
and so is one that fails its consistency check. - Drive health. The SMART status is read before writing (
smartctl); a
drive that reports itself as failing is refused unless--ignore-smartis
given.rufux smart DEVshows it. Drives that report nothing are not blocked. - Secure Boot revocation check. Bootloaders copied to the drive are checked
against the UEFI DBX (hashes and certificates), SBAT and the Windows boot
manager version, and a revoked one is reported in the log.rufux check-boot
does it for a file or folder. - More file systems: FAT16 and real ext2 and ext3. Before, ext2 and ext3
were silently formatted as ext4. FAT16 refuses a volume over 4 GiB. - The AppImage carries the new helpers (smartctl, qemu-img, GRUB's tools with a
400 KB slice of its modules). Expect about 4 MB more. - Still missing: ReFS, Windows To Go, the language button.
1.9.1: hotfix
Hotfix release.
- Windows User Experience dialog: every bypass/tweak checkbox now defaults to unchecked (TPM/Secure Boot/RAM bypass, skip privacy questions, disable BitLocker, regional options, local account). Previously most defaulted to on.
- Fixed the GUI progress bar staying at 0% with no live update while a write ran.
- Fixed the progress bar text showing a bare "%" instead of the actual percentage.
See CHANGELOG.md for details.
Rufux 1.9 — GTK4 GUI
- The interface is GTK4 now, not Qt6. Same window as before - same
sections, same wording, same field order, same command line built for
thecreateworker - only the toolkit changed. - GTK4 draws its own window decorations and follows the desktop's
light/dark setting natively, through the settings portal when
sandboxed (as in the AppImage), with no extra plugin or pinned toolkit
version needed. This is what the previous Qt build had to work around
with a bundled GNOME decoration plugin and a specific newer Qt version;
GTK4 does not need either. - The AppImage now bundles GTK4 via
linuxdeploy-plugin-gtkinstead of
Qt6 vialinuxdeploy-plugin-qt. The bundled-tools list (mkfs.*, sfdisk,
wimlib-imagex, hivexsh, syslinux, 7z, curl, udisksctl) and the
library-resolution check are unchanged. - All disk-facing logic is unchanged from 1.8: device scanning, ISO
probing, partitioning, formatting, Windows media, and the CLI are the
same code, called the same way, whether from the GTK window or from the
command line.
Rufux 1.8
- Every command line option is checked against a full list for its command.
A typo (--relainstead of--real) is now a hard error with a "did you
mean" suggestion and nothing is changed, instead of being silently ignored- the worst failure mode for a disk writer.
/dev/disk/by-id/...and other symlinked device paths are resolved before
use.- The MBR boot code write and the partition-clearing write now check the
actual number of bytes written; a short write or a signal no longer passes
as success. Verification reads survive being interrupted by a signal. - One shared helper resolves the running executable's directory; the Windows
installer and the FreeDOS boot record writer no longer each parse
/proc/self/exethemselves. - Quick format is now honoured for Windows media, matching the checkbox.
- The file system list for a Windows image is FAT32 or NTFS only - the two
the Windows flow actually builds - instead of also offering exFAT/UDF/ext4,
which never worked for Windows media anyway. - Cluster size is only enabled for FAT32/NTFS, where it applies.
- The Windows registry bypass writer uses
hivexshonly;hivexget, a Perl
script, cannot be bundled in the AppImage. - The window now follows the desktop's light/dark setting through the
org.freedesktop.appearanceportal, checked on a timer, independent of
the Qt version in use. - CI now runs the full test suite as root as well as as a normal user, and
fails the build if anything is skipped as root - the hardware-dependent
tests (partition tables, file systems, boot.wim edits, WIM splitting) need
root and loop devices, so as a normal user they only skip, and a green
build previously proved nothing about them. - The AppImage bundles Qt 6.8 (the distro's older Qt cannot follow the
desktop theme or load Wayland window decorations) and the GNOME/libadwaita
Wayland decoration plugin, so the window gets a normal title bar on a GNOME
Wayland session instead of none at all. CI now fails the build if a bundled
helper tool turns out to be a wrapper script instead of a real binary, or
if any library in the bundle fails to resolve. - New
tests/test_cli.sh: checks the strict option parsing, and every
documented Windows-flow argument combination, end to end.
Rufux 1.7
Rufux 1.7
Rufux is a port of Rufus to Linux. This release is the first one where the window is a copy of Rufus's main window.
What's new
- The window mirrors Rufus: Drive Properties, Format Options and Status, in the same order and with the same wording. It uses your desktop's own widget style, icons and file dialogs, and has normal window controls. The AppImage uses the desktop file chooser through the portal.
- The Windows options dialog is Rufus's: skip the 4GB+ RAM, Secure Boot and TPM checks, skip the online account, create a local account, copy your regional options, skip the privacy questions, no BitLocker auto-encryption, and the QoL tweaks. The RAM/Secure Boot/TPM bypass writes the same three values Rufus does.
- ISOHybrid images ask for ISO or DD mode when you press START, like Rufus.
- Windows media is GPT by default again.
- Rufux refuses to finish a GPT write if
sfdiskcannot name a partition type. - Removed what Rufus does not have: the drivers folder option, the extra bypass values, and a few extras I had added.
Download
Rufux-x86_64.AppImage below (chmod +x, then run), or rufux-git on the AUR.
Full notes: CHANGELOG.md
Rufux 1.6.4
Rufux 1.6.4
This is the fix for "A media driver your computer needs is missing" on GPT sticks.
Since 1.2.4, Rufux typed the GPT data partition EBD0A0A2-B938-11D2-B3FA-00A0C93EC93B. That is not a real GUID (it mixes two others). The Microsoft basic data type is EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. sfdisk labelled the partition unknown, and Windows ignores partitions of an unknown type, so Windows PE saw the stick as an online GPT disk with no volume at all. Setup then could not find its files.
It was found by booting a Rufux stick in QEMU: list disk showed the disk, and list volume showed no volume from it. The bug was there from the first version with the GPT layout, which is why every layout and file system failed the same way. MBR sticks and Ventoy never used this GUID.
Please write the stick again with 1.6.4 (GPT or MBR, NTFS or FAT32) and check list volume in Setup's Shift+F10 window. Your stick's volume should now appear with a drive letter.
The layout and extract tests now check the exact GUID and that sfdisk does not report an unknown type.
Full notes: CHANGELOG.md
Rufux 1.6.1
Rufux now makes sure the NTFS volume fits its partition. Right after partitioning, the kernel can still report the old partition size, and mkfs.ntfs then wrote a volume larger than its partition (one stick's boot sector claimed 31.1 M sectors on a 30.3 M sector disk). UEFI:NTFS boots such a volume, but Windows treats it as corrupt and never mounts it, which matches "boots fine, then Setup cannot find its files". Rufux now waits for a consistent partition size, gives mkfs.ntfs the exact sector count, and refuses a finished volume that does not fit. This builds on the boot-sector geometry fix in 1.6.0.
To check a stick yourself after writing: sudo blockdev --getsz /dev/sdX1 (partition sectors) must be at least the value at offset 0x28 of the first sector: sudo dd if=/dev/sdX1 bs=1 skip=40 count=8 2>/dev/null | od -An -tu8.
Full notes: CHANGELOG.md