Skip to content

Releases: Hultwl/Rufux

Rufux 2.2

Choose a tag to compare

@Hultwl Hultwl released this 26 Sep 21:50
  • 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.iso opens the image again; the Windows-options dialog copies the real system locale; the --theme flag 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

Choose a tag to compare

@Hultwl Hultwl released this 25 Sep 19:27

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)

Pre-release

Choose a tag to compare

@Hultwl Hultwl released this 25 Sep 18:37

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

Choose a tag to compare

@Hultwl Hultwl released this 24 Sep 23:56
  • 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-windows does 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 starts bootmgr.
    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 through qemu-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-smart is
    given. rufux smart DEV shows 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

Choose a tag to compare

@Hultwl Hultwl released this 22 Sep 08:33

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

Choose a tag to compare

@Hultwl Hultwl released this 22 Sep 07:36
  • The interface is GTK4 now, not Qt6. Same window as before - same
    sections, same wording, same field order, same command line built for
    the create worker - 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-gtk instead of
    Qt6 via linuxdeploy-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

Choose a tag to compare

@Hultwl Hultwl released this 21 Sep 20:13
  • Every command line option is checked against a full list for its command.
    A typo (--rela instead 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/exe themselves.
  • 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 hivexsh only; hivexget, a Perl
    script, cannot be bundled in the AppImage.
  • The window now follows the desktop's light/dark setting through the
    org.freedesktop.appearance portal, 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

Choose a tag to compare

@Hultwl Hultwl released this 21 Sep 09:55

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 sfdisk cannot 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

Choose a tag to compare

@Hultwl Hultwl released this 21 Sep 08:58

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

Choose a tag to compare

@Hultwl Hultwl released this 20 Sep 18:45

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