Rufus is a utility that helps format and create bootable USB flash drives.

Overview

Rufus: The Reliable USB Formatting Utility

Build status Coverity Scan Build Status Build contributors Github stats Release Licence

Rufus logo

Rufus is a utility that helps format and create bootable USB flash drives.

Features

  • Format USB, flash card and virtual drives to FAT/FAT32/NTFS/UDF/exFAT/ReFS/ext2/ext3
  • Create DOS bootable USB drives, using FreeDOS or MS-DOS (Windows 8.1 or earlier)
  • Create BIOS or UEFI bootable drives, including UEFI bootable NTFS
  • Create bootable drives from bootable ISOs (Windows, Linux, etc.)
  • Create bootable drives from bootable disk images, including compressed ones
  • Create Windows To Go drives
  • Create persistent Linux partitions
  • Download official Microsoft Windows 8 or Windows 10 retail ISOs
  • Compute MD5, SHA-1 and SHA-256 checksums of the selected image
  • Twice as fast as Microsoft's USB/DVD tool or UNetbootin, on ISO → USB creation (1)
  • Perform bad blocks checks, including detection of "fake" flash drives
  • Modern and familiar UI, with 38 languages natively supported
  • Small footprint. No installation required.
  • Portable
  • 100% Free Software (GPL v3)

Compilation

Use either Visual Studio 2019 (version 16.0 or later with SDK 10.0.18362 installed) or MinGW and then invoke the .sln or configure/make respectively.

Visual Studio

Rufus is an OSI compliant Open Source project. You are entitled to download and use the freely available Visual Studio Community Edition to build, run or develop for Rufus. As per the Visual Studio Community Edition license, this applies regardless of whether you are an individual or a corporate user.

Additional information

Rufus provides extensive information about what it is doing, either through its easily accessible log, or through the Windows debug facility.

Enhancements/Bugs

Please use the GitHub issue tracker for reporting problems or suggesting new features.

(1) Tests carried out with a 16 GB USB 3.0 ADATA pen drive on a Core 2 duo/4 GB RAM platform running Windows 7 x64. ISO: en_windows_7_ultimate_with_sp1_x64_dvd_618240.iso

Name of tool Version Time
Windows USB/DVD Download Tool v1.0.30 8 mins 10s
UNetbootin v1.1.1.1 6 mins 20s
Rufus v1.1.0 3 mins 25s
Issues
  •  [INTERNAL] List of rufus-3.20 enhancements and fixes

    [INTERNAL] List of rufus-3.20 enhancements and fixes

    This topic is flagged as INTERNAL and is therefore NOT open for comments.

    • [ ] Speed up save to VHD by switching to async I/O
    • [ ] Since we already have AttachVirtualDisk() for Windows 8 or later, can we use this to add support for .vhdx images for DD mode? Or we may be better of with CreateVirtualDisk() altogether with VIRTUAL_DISK_ACCESS_SURFACE_RO and CREATE_VIRTUAL_DISK_FLAG_PREVENT_WRITES_TO_SOURCE_DISK, if this grants us access to virtual physical sectors...
    • [ ] Likewise, it might be worth exploring using CreateVirtualDisk() for the Save to VHD operation, so that we can propose .vhdx for saving
    • [ ] Add a .esp image copy mode?
    • [ ] Add support for .ffu images
    • [ ] Add dd image verification?
    • [ ] [3db3bf527fe32c5f6715377e38204be9a2cd7d07] Figure out the best way to have translators add translations to the Windows Store listings
    • [ ] New translation round
    • [ ] Gentoo Live and multiextent with Joliet
    • [ ] Add some more Windows customization options (e.g. copy locale from current, disable internal drives for Windows to Go), and enable those applicable to Windows 10
    opened by pbatard 0
  • Bump dessant/lock-threads from 2 to 3

    Bump dessant/lock-threads from 2 to 3

    Bumps dessant/lock-threads from 2 to 3.

    Release notes

    Sourced from dessant/lock-threads's releases.

    v3.0.0

    Learn more about this release from the changelog.

    v2.1.2

    Learn more about this release from the changelog.

    v2.1.1

    Learn more about this release from the changelog.

    v2.1.0

    Learn more about this release from the changelog.

    v2.0.3

    Learn more about this release from the changelog.

    v2.0.2

    Learn more about this release from the changelog.

    v2.0.1

    Learn more about this release from the changelog.

    Changelog

    Sourced from dessant/lock-threads's changelog.

    2.1.2 (2021-08-17)

    Bug Fixes

    • ignore error when commenting on issue converted to discussion (60d2a1a), closes #24

    2.1.1 (2021-07-09)

    Bug Fixes

    • update GitHub API calls (a3ccc71)

    2.1.0 (2021-07-09)

    Features

    • make github-token optional and document the use of personal access tokens (3eba4fe)

    Bug Fixes

    • declare required permissions (877b357)

    2.0.3 (2021-01-01)

    Bug Fixes

    • update imported package name (eba004b)

    2.0.2 (2021-01-01)

    Bug Fixes

    2.0.1 (2020-07-07)

    Bug Fixes

    2.0.0 (2020-02-17)

    ... (truncated)

    Commits
    • e460dfe chore(release): 3.0.0
    • 331c3a2 chore: update screenshot
    • 381e2e9 chore: update package
    • feaf872 chore: update dependencies
    • 2ab40bb chore: update release workflow
    • 26fd836 feat: add new filtering and labeling options, update input parameter names
    • a0c7da3 feat: allow manual triggering
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Bump actions/upload-artifact from 2 to 3

    Bump actions/upload-artifact from 2 to 3

    Bumps actions/upload-artifact from 2 to 3.

    Release notes

    Sourced from actions/upload-artifact's releases.

    v3.0.0

    What's Changed

    • Update default runtime to node16 (#293)
    • Update package-lock.json file version to 2 (#302)

    Breaking Changes

    With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

    v2.3.1

    Fix for empty fails on Windows failing on upload #281

    v2.3.0 Upload Artifact

    • Optimizations for faster uploads of larger files that are already compressed
    • Significantly improved logging when there are chunked uploads
    • Clarifications in logs around the upload size and prohibited characters that aren't allowed in the artifact name or any uploaded files
    • Various other small bugfixes & optimizations

    v2.2.4

    • Retry on HTTP 500 responses from the service

    v2.2.3

    • Fixes for proxy related issues

    v2.2.2

    • Improved retryability and error handling

    v2.2.1

    • Update used actions/core package to the latest version

    v2.2.0

    • Support for artifact retention

    v2.1.4

    • Add Third Party License Information

    v2.1.3

    • Use updated version of the @action/artifact NPM package

    v2.1.2

    • Increase upload chunk size from 4MB to 8MB
    • Detect case insensitive file uploads

    v2.1.1

    • Fix for certain symlinks not correctly being identified as directories before starting uploads

    v2.1.0

    • Support for uploading artifacts with multiple paths
    • Support for using exclude paths
    • Updates to dependencies

    ... (truncated)

    Commits
    • 3cea537 Merge pull request #327 from actions/robherley/artifact-1.1.0
    • 849aa77 nvm use 12 & npm run release
    • 4d39869 recompile with correct ncc version
    • 2e0d362 bump @​actions/artifact to 1.1.0
    • 09a5d6a Merge pull request #320 from actions/dependabot/npm_and_yarn/ansi-regex-4.1.1
    • 189315d Bump ansi-regex from 4.1.0 to 4.1.1
    • d159c2d Merge pull request #297 from actions/dependabot/npm_and_yarn/ajv-6.12.6
    • c26a7ba Bump ajv from 6.11.0 to 6.12.6
    • 6ed6c72 Merge pull request #303 from actions/dependabot/npm_and_yarn/yargs-parser-13.1.2
    • 2aeee26 Bump yargs-parser from 13.1.1 to 13.1.2
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  •  [INTERNAL] List of rufus-3.19 enhancements and fixes

    [INTERNAL] List of rufus-3.19 enhancements and fixes

    This topic is flagged as INTERNAL and is therefore NOT open for comments.

    • [x] ~~Add an extra warning message (with countdown until OK becomes enabled) if we detected multiple devices and the user didn't select the smaller one. This may avoid people still managing to lose data because they've selected the wrong device.~~ → Superseded by [c76327f96ebbe0f8c54a4f7dc3cd09b80097838e]
    • [x] [e7b66e7e4ce39484e416176b32facd991e62ce61] As commented in #1877, see if we can switch to delay loading for MinGW to avoid the hassle of manual DLL hooking to prevent side loading
    • [x] [8ec570570f36161f241ee0f30d0626e143819855] Revisit the disabling of drive letter assignation to only media that have ESPs (#1842).
    • [x] What's the deal with 50% progress before file copy on GRUB2 based ISOs? → Nothing — it's the same as Syslinux based ISOs
    • [x] [a3c75e480ec6b0e21ae63f1a8e02b8ecca9d4ea5] Commit 3194a4dac4c1cff66e812c0fc3375189e0b10d31 is screwing the displaying of the UI for MinGW (whyyyyyyyyy?!?!?) Do we have to revert it?
    • [x] [d8af83dd14f10126ad417731b3262f72a3ba051f] Use Linux Data GUID for GPT ext partitions
    • [x] [c2cd5185a3f000b92f45156df5bc13334f9769dd] Add Proxmox to the list of "ISOHybrid = DD" Kool Aid drinkers
    • [x] [a9a97b6f102a71a9d713821eb889e5e1bb30f870] Secure Boot sign and update UEFI:NTFS's NTFS drivers to latest (and ask Microsoft to revoke previous ones)
    • [x] [a0d669232cb3442e54a3e640c3e4009d800183a4] Insert a BypassNRO Autounattend.xml into boot.wim for Windows 11 local account creation, like MediaCreationTool.bat does (and use this opportunity to switch to using the Autounattend.xml to alter the WinPE registry hive instead of having to do it ourselves... which should also solve the Windows Store issue we've been seeing in #1884)
    opened by pbatard 0
  • Rufus changes UAC to

    Rufus changes UAC to "prompt for credentials on the secure desktop"

    Checklist

    • [x] I looked at https://github.com/pbatard/rufus/wiki/FAQ to see if my question has already been answered.
    • [x] I performed a search in the issue tracker for similar issues using keywords relevant to my problem, such as the error message I got from the log.
    • [x] I clicked the 'Log' button or pressed Ctrl-L in Rufus, and copy/pasted the log into the line that says <FULL LOG> below.
    • [x] The log I am copying is the FULL log, starting with the line Rufus version: x.y.z - I have NOT removed any part of it.

    Additionally (if applicable):

    • [ ] I ran a bad blocks check, by clicking Show advanced format options then Check device for bad blocks, and confirmed that my USB is not defective.
    • [ ] I also tried one or more of the following:
      • [ ] Using a different USB drive.
      • [ ] Plugging the USB into a different port.
      • [ ] Running Rufus on a different computer.
    • [ ] If using an image, I clicked on the (✓) button to compute the MD5, SHA1 and SHA256 checksums, which are therefore present in the log I copied. I confirmed, by performing an internet search, that these values match the ones from the official image.

    Issue description

    This is a weird issue, but I encounter this behaviour every single time when I launch Rufus, hence I think that something must be related.

    Basically, these are my normal UAC settings:

    image

    However, as soon Rufus has been launched, the settings are changed to:

    image

    Because of this, every time after using Rufus, I need to go and change the settings manually back.

    Do you have any idea what may be causing such a behaviour? I have found https://github.com/pbatard/rufus/issues/753, which could be related. I know you mentioned a possible bug in Windows there, but I have never experienced this problem when running any other software so far.

    For the record, "prompt for credentials on the secure desktop" means that you have to enter a password in the UAC prompt instead of just being able to click "yes".

    Log

    Rufus x86 v3.17.1846 (Portable)
    Windows version: Windows 10 Enterprise S, 64-bit (Build 17763.2237)
    Syslinux versions: 4.07/2013-07-25, 6.04/pre1
    Grub versions: 0.4.6a, 2.06
    System locale ID: 0x0409 (en-US)
    Will use default UI locale 0x0409
    SetLGP: Successfully set NoDriveTypeAutorun policy to 0x0000009E
    Localization set to 'en-US'
    Found USB 3.0 device 'Corsair Survivor 3.0 USB Device' (1B1C:1A0A)
    Could not get device number for device \\.\R:: [0x00000001] Incorrect function.
    Could not get device number for device \\.\R:: [0x00000001] Incorrect function.
    Found USB 3.0 device 'WD Game Drive USB Device' (1058:262F)
    Could not get device number for device \\.\R:: [0x00000001] Incorrect function.
    Could not get device number for device \\.\R:: [0x00000001] Incorrect function.
    Device eliminated because it was detected as a Hard Drive (score 23 > 0)
    If this device is not a Hard Drive, please e-mail the author of this application
    NOTE: You can enable the listing of Hard Drives under 'advanced drive properties'
    Found UAS (USB 3.0) device 'Samsung Portable SSD T1 SCSI Disk Device' (04E8:8001)
    Could not get device number for device \\.\R:: [0x00000001] Incorrect function.
    Could not get device number for device \\.\R:: [0x00000001] Incorrect function.
    Device eliminated because it was detected as a Hard Drive (score 33 > 0)
    If this device is not a Hard Drive, please e-mail the author of this application
    NOTE: You can enable the listing of Hard Drives under 'advanced drive properties'
    1 device found
    No volume information for drive 0x83
    Disk type: Removable, Disk size: 64 GB, Sector size: 512 bytes
    Cylinders: 7783, Tracks per cylinder: 255, Sectors per track: 63
    Partition type: SFD (Super Floppy Disk) or unpartitioned
    
    deferred 
    opened by tomasz1986 21
Releases(v3.18)
Owner
Pete Batard
A Free Software Developer, with more decades of experience than we care to admit — It is through this lens that we see Stallman's foresight being vindicated...
Pete Batard
C++ fundamentals and questions for beginners and intermediates. Welcoming developers, content writers, and programming enthusiasts.

Rules To Contribute To This Repo You can write solutions only in C++ for Data Structure and Algorithms (if you dont know C++ you can submit only algor

Sushree Satarupa 196 Jun 20, 2022
Collection of algorithms and data structures in C++ and Java

Collection of algorithms and data structures in C++ and Java

Andrei Navumenka 1.7k Jun 26, 2022
Organic Maps is a better fork of MAPS.ME, an Android & iOS offline maps app for travelers, tourists, hikers, and cyclists based on top of crowd-sourced OpenStreetMap data and curated with love by MAPS.ME founders.

?? Organic Maps is a better fork of MAPS.ME, an Android & iOS offline maps app for travelers, tourists, hikers, and cyclists based on top of crowd-sourced OpenStreetMap data and curated with love by MAPS.ME founders. No ads, no tracking, no data collection, no crapware.

Organic Maps 3.5k Jun 25, 2022
WasmEdge Runtime is a high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications.

WasmEdge Runtime is a high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications.

null 3.4k Jun 27, 2022
Emusicchain is a blockchain built using Cosmos SDK and Tendermint and created with Starport.

emusicchain emusicchain is a blockchain built using Cosmos SDK and Tendermint and created with Starport. Get started starport chain serve serve comma

null 2 May 13, 2022
A library of common data structures and algorithms written in C.

C Algorithms The C programming language includes a very limited standard library in comparison to other modern programming languages. This is a coll

Simon Howard 2.8k Jun 27, 2022
Several algorithms and data structures implemented in C++ by me (credited to others where necessary).

Algorithms This repository contains my implementations of several algorithms and data structures in C++ (credited to others where necessary). It has i

Petar Veličković 571 Jun 25, 2022
C++ implementations of well-known (and some rare) algorithms, while following good software development practices

ProAlgos: C++ This project is focused on implementing algorithms and data structures in C++, while following good software engineering practices, such

ProAlgos 469 Jun 17, 2022
Xournal++ is a handwriting notetaking software with PDF annotation support. Written in C++ with GTK3, supporting Linux (e.g. Ubuntu, Debian, Arch, SUSE), macOS and Windows 10. Supports pen input from devices such as Wacom Tablets.

Xournal++ is a hand note taking software written in C++ with the target of flexibility, functionality and speed. Stroke recognizer and other parts are based on Xournal Code

Xournalpp 6.7k Jun 20, 2022
Provide building blocks (software, hardware and algorithms) for implementing SLAM using small sensors

RemoteSLAM The purpose of this repo is to provide the building blocks (software drivers, hardware and algorithms) for implementing SLAM systems using

Autonomous Drones Lab, Tel Aviv University 38 Jan 20, 2022
Pseudofermion functional renormalization group solver for (frustrated) quantum magnets in two and three spatial dimensions.

SpinParser SpinParser ("Spin Pseudofermion Algorithms for Research on Spin Ensembles via Renormalization") is a software platform to perform pseudofer

Finn Lasse Buessen 19 Apr 22, 2022
Fundamentals of Data structures and algorithms in c++

Data Structures & Algorithms About the repository: Contains theories and programming questions related to fundamentals of data structures and algorith

fifu 38 Jun 13, 2022
CXXGraph is a Header-Only C++ Library for Graph Representation and Algorithms

CXXGraph is a small library, header only, that manages the Graph and it's algorithms in C++. In other words a "Comprehensive C++ Graph Library".

ZigRazor 144 Jun 21, 2022
Official ACM CSS PEC repository for resources and all things Open source

Contributing Guidelines Ahoy there! Welcome to the PEC-ACM Open Source Repository. We request you to read the whole guidelines before making any pull

PEC CSS 74 Jun 12, 2022
Header-only C++ library for robotics, control, and path planning algorithms.

Header-only C++ library for robotics, control, and path planning algorithms.

null 335 Jun 22, 2022
c++ library including few algorithms and datastructures

c++ library including few algorithms and datastructures

null 2 Dec 25, 2021
A simple single header C/C++ Library for AABB Collision detection and resolution.

A simple single header C/C++ Library for AABB Collision detection and resolution

Siddharth Roy 8 Nov 14, 2021
My attempt at implementing the fast voxel traversal algorithm by Amanatides and Woo using OpenGL

Attempt at implementing the fast voxel traversal algorithm Works on both Linux and Windows. Recommended software: Linux: Visual Studio Code / Windows:

Niklas Mäckle 2 Sep 24, 2021
Quick sort is a highly efficient sorting algorithm and is based on partitioning of array of data into smaller arrays.

Quick sort is a highly efficient sorting algorithm and is based on partitioning of array of data into smaller arrays. A large array is partitioned into two arrays one of which holds values smaller than the specified value, say pivot, based on which the partition is made and another array holds values greater than the pivot value.

Lakshan Sandanayaka 2 Sep 21, 2021