Skip to content

WindUSB Creator A fast, lightweight AppImage for creating bootable Windows USB drives on Linux. Features automated drive formatting, WIM splitting for FAT32 compatibility, and real-time sync monitoring.

Notifications You must be signed in to change notification settings

Broly1/WindUSB-GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WindUSB-GUI 🚀

WindUSB-GUI is a modern, Rust-based graphical tool for creating bootable Windows USB installers on Linux. It is a GTK4/Libadwaita wrapper based on the original WindUSB CLI bash script.

This tool handles partitioning, formatting (FAT32), and automatically splitting large install.wim files to ensure UEFI compatibility.

🛠️ Requirements for Building

The new build system is designed to be highly independent. You only need the basic development headers on your host machine; the script handles the complex system tools by compiling them from source.

1. Host Build Dependencies

On Arch Linux, ensure you have the base development tools:

sudo pacman -S base-devel rust git

2. Automated Build Engine

The build.sh script is a "Portable Build Engine" that automatically downloads, compiles, and bundles:

  • Static System Tools: wimlib, parted, sgdisk, util-linux, and dosfstools.
  • Packaging Tools: appimagetool and a standalone 7-Zip binary.
  • Recursive Libraries: A deep-scan trace of the GTK4/Libadwaita stack to ensure the AppImage runs on any distribution.

🚀 How to Build & Bundle

  1. Clone the repo:
git clone https://github.com/YourUsername/WindUSB-GUI.git
cd WindUSB-GUI
  1. Run the build script:
chmod +x build.sh
./build.sh

Build Options

  • Clean Start (y): Re-compiles all C tools from source and performs a Recursive Library Scan. Use this for your first build or when moving to a different OS.
  • Rust Only (n): Skips tool compilation and library gathering, only updating the Rust binary. Use this for fast iteration during development.
  • Git Preservation: The script automatically preserves .gitkeep files in bin-local and lib-local to maintain repository structure.

🤝 Credits & Appreciation

WindUSB-GUI is only possible thanks to the incredible work of the open-source community. We rely on and extend our gratitude to the following projects:

Project Purpose Link
wimlib Handling Windows Imaging files (.wim) wimlib.net
GNU Parted Partition manipulation and partprobe gnu.org/s/parted
GPT Fdisk GPT partitioning (sgdisk) rodsbooks.com/gdisk
util-linux wipefs and block device management kernel.org
dosfstools FAT32 filesystem creation github.com/dosfstools
7-Zip ISO verification and extraction 7-zip.org
AppImageTool Packaging and portability appimage.org

⚠️ Current Status

  • Host OS: Built and tested on Arch Linux.
  • Portability: The AppImage uses a Recursive Dependency Trace to bundle its own graphics and GUI stack, ensuring compatibility with Pop!_OS, Fedora, Ubuntu, and Debian.

⚖️ License

GNU General Public License v3.0.

About

WindUSB Creator A fast, lightweight AppImage for creating bootable Windows USB drives on Linux. Features automated drive formatting, WIM splitting for FAT32 compatibility, and real-time sync monitoring.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published