A reliable USB bootable media creator
Features • Downloads • Installation • Usage • Documentation • Contributing
SmartBoot is a cross-platform utility that helps you create bootable USB drives from ISO images. It provides a simple, reliable interface for creating bootable media for Windows, Linux, and other operating systems.
- Cross-Platform Support - Works on Windows, Linux, and macOS
- Multiple ISO Types - Supports Windows, Linux, FreeDOS, and generic bootable ISOs
- Flexible Partitioning - MBR and GPT partition schemes
- Multiple Boot Modes - BIOS, UEFI, Dual (BIOS+UEFI), and FreeDOS boot support
- Various Filesystems - FAT32, NTFS, exFAT, UDF, ReFS, ext2/3/4, APFS, HFS+
- Direct Write Mode - Fast dd-like writing for large ISOs
- Automatic Detection - Auto-detects ISO type and USB devices
- Progress Tracking - Real-time progress updates during creation
- Logging - Comprehensive logging for troubleshooting
git clone https://github.com/zikani/smartboot.git- Python 3.7 or higher
- PyQt5 >= 5.15.0
See Installation Guide for detailed installation instructions.
# Clone the repository
git clone https://github.com/zikani/smartboot.git
cd smartboot
# Create virtual environment (recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the application
python main.pyFor detailed installation instructions for your platform, see:
-
Launch SmartBoot
python main.py
-
Select USB Device
- Choose your USB drive from the device dropdown
- Click "Refresh" if your device doesn't appear
-
Select ISO Image
- Click "Browse" to select your ISO file
- SmartBoot will auto-detect the ISO type
-
Configure Options
- Partition scheme: MBR or GPT
- Boot type: BIOS, UEFI, Dual, or FreeDOS
- Filesystem: FAT32, NTFS, exFAT, etc.
- Enable "Quick Format" for faster formatting
-
Create Bootable USB
- Click "Start" to begin
- Wait for the process to complete
- Safely remove the USB drive
| Type | Examples | Notes |
|---|---|---|
| Windows | Windows 7/8/10/11, Server | Supports both BIOS and UEFI |
| Linux | Ubuntu, Debian, Fedora, Arch | Most distributions supported |
| FreeDOS | FreeDOS ISOs | BIOS boot only |
| Generic | Other bootable ISOs | May require manual configuration |
For detailed usage instructions, see the User Guide.
- Installation Guide - Detailed installation instructions
- User Guide - Complete usage documentation
- FAQ - Frequently asked questions
- Architecture - System architecture and design
- Changelog - Version history and changes
- Contributing - How to contribute to SmartBoot
Screenshots coming soon
- OS: Windows 7+, Linux (Ubuntu 18.04+), macOS 10.14+
- RAM: 512 MB
- Disk Space: 100 MB for application
- USB Drive: At least 4 GB (8 GB recommended for Windows ISOs)
- OS: Windows 10+, Linux (Ubuntu 20.04+), macOS 11+
- RAM: 1 GB
- USB Drive: USB 3.0+ for faster writes
| Feature | SmartBoot | Rufus | Etcher |
|---|---|---|---|
| Cross-Platform | ✅ Windows, Linux, macOS | ❌ Windows only | ✅ Windows, Linux, macOS |
| GUI | ✅ PyQt5 | ✅ Native | ✅ Electron |
| ISO Type Detection | ✅ Auto | ✅ Auto | ❌ Manual |
| Multiple Boot Modes | ✅ BIOS/UEFI/Dual | ✅ BIOS/UEFI | ❌ None |
| Direct Write Mode | ✅ Yes | ✅ Yes | ❌ No |
| Verification | ❌ Planned | ✅ Yes | ✅ Yes |
| Open Source | ✅ MIT | ✅ GPL | ✅ Apache 2.0 |
See GitHub Issues for current known issues and to report new ones.
Contributions are welcome! Please see the Contributing Guide for details on:
- Code contributions
- Bug reports
- Feature requests
- Documentation improvements
- Command-line interface
- Multi-boot USB support
- ISO verification (checksums)
- Written data verification
- Configuration profiles
- Persistent storage for Linux live USBs
- Windows To Go support
- Plugin system
- Internationalization (i18n)
- Standalone executable builds
This project is licensed under the MIT License - see the LICENSE file for details.
- PyQt5 for the excellent GUI framework
- Python for the programming language
- Rufus for inspiration and reference
- The open-source community for various tools and libraries
If you find SmartBoot useful, consider supporting the project:
Made with ❤️ by the SmartBoot team