🚀 AI-Enhanced Linux ISO Virtualization Tool
Built upon the excellent foundation of MobaLiveCD Linux by wlfogle
A Linux port of the MobaLiveCD application - a QEMU-based LiveCD/ISO testing tool with a user-friendly GUI.
MobaLiveCD Linux allows you to easily test bootable CD/DVD ISO images using QEMU virtualization. This is a complete rewrite of the original Windows application for Linux systems.
- Simple GUI for selecting and running ISO files
- NEW: USB Booting - Boot USB devices directly in QEMU for testing
- NEW: NVMe Partition Booting - Boot directly from NVMe partitions for testing installed OSes
- NEW: USB Creation - Create bootable USB drives directly from ISO files
- Built-in QEMU integration with optimized settings
- File association support (right-click context menu for ISO files)
- Multi-language support
- Modern GTK4 interface
- Native Linux integration
- Command-line USB creation tool
- Linux distribution with GTK4
- QEMU (qemu-system-x86_64)
- Python 3.8+
- PyGObject (GTK4 bindings)
Install required dependencies:
# Fedora/RHEL/CentOS
sudo dnf install python3 python3-gobject gtk4-devel libadwaita-devel qemu-system-x86
# Ubuntu/Debian
sudo apt install python3 python3-gi python3-gi-cairo gir1.2-gtk-4.0 gir1.2-adw-1 qemu-system-x86
# Arch Linux
sudo pacman -S python python-gobject gtk4 libadwaita qemu-system-x86# Clone or extract the application
cd mobalivecd-linux
# Check dependencies
make check
# Run directly (for testing)
make run
# OR
python3 mobalivecd.py# Install for current user only
make install-user
# OR
./install.sh user
# Install system-wide (requires root)
sudo make install
# OR
sudo ./install.sh system# Uninstall user installation
./uninstall.sh user
# Uninstall system installation
sudo ./uninstall.sh system
# OR
sudo make uninstall- mobalivecd.py: Main application entry point
- ui/main_window.py: Main GUI window implementation
- ui/help_dialog.py: Help dialog
- ui/about_dialog.py: About dialog
- core/qemu_runner.py: QEMU execution and management
- core/iso_handler.py: ISO file handling
- i18n/: Translation files
- assets/: Icons and resources
Unlike the original Windows version that bundled QEMU, this Linux version uses the system-installed QEMU with these optimizations:
- KVM acceleration when available
- Appropriate memory allocation (512MB default, configurable)
- Modern VGA adapter (std or virtio)
- CD-ROM boot priority
- Optimized for LiveCD testing
The application can register itself as a handler for ISO files, allowing right-click "Open with MobaLiveCD" functionality.
New Feature: Boot USB devices directly in QEMU for testing!
- Click the "Select USB..." button
- Choose a USB device from the list
- Click "Boot in QEMU" to test the USB device
# Boot USB device directly
python3 mobalivecd.py /dev/sdbNew Feature: Boot directly from NVMe partitions to test installed operating systems!
- Click the "Select NVMe..." button
- Choose an NVMe partition from the detected list
- Review the safety warnings and understand the risks
- Click "Select" to choose the partition
- Click "Boot in QEMU" to test the selected partition
# Boot NVMe partition directly
python3 mobalivecd.py /dev/nvme0n1p2NVMe partition booting grants QEMU direct access to your storage device. Please understand the risks:
- QEMU will have read/write access to the selected partition
- The guest OS may modify data on the partition
- There is a risk of data corruption if not handled carefully
- Always backup important data before using this feature
- Consider using snapshots of your partitions for testing
MobaLiveCD automatically adjusts memory allocation based on the boot source:
- ISO files: 16GB RAM (for large live environments)
- USB devices: 4GB RAM (optimized for portability)
- NVMe partitions: 8GB RAM (balance of performance and safety)
✅ Good for:
- Testing OS installations before committing to hardware
- Running different OS environments without dual boot
- Debugging boot issues on installed systems
- Educational purposes and experimentation
- Production systems with important data
- Systems without proper backups
- Partitions with file system corruption
❌ Not recommended:
- Root partitions of your main OS
- Partitions containing irreplaceable data
- Systems in active use by other processes
New Feature: Create bootable USB drives directly from ISO files!
- Select an ISO file using the "Browse ISO..." button
- Click the "Create USB" button (appears when ISO is selected)
- Select your USB device from the list
- Confirm and wait for completion
# Interactive mode
python3 create_usb.py
# List USB devices
make list-usb
# Create USB interactively
make create-usb
# Direct creation (advanced)
sudo python3 create_usb.py --iso myfile.iso --device /dev/sdbSee USB_CREATION.md for detailed documentation.
The application has been tested with:
- System: Fedora Linux 42 with QEMU 9.2.4
- KVM: Hardware acceleration available and working
- GUI: GTK4/Libadwaita interface
- ISO Support: Standard ISO 9660 images
- USB Booting: USB flash drives with bootable content
- USB Creation: Various Linux distributions and rescue disks
# Test system capabilities
make check
# Test core functionality
make test
# Run with specific ISO file
python3 mobalivecd.py /path/to/your/livecd.isoAfter installation, you can:
- Right-click on any
.isofile - Select "Open with MobaLiveCD" from the context menu
- The application will launch and automatically load the ISO
Or use the "Install Association" button in the application to set up file associations.
- KVM Acceleration: Automatically used when
/dev/kvmis accessible - Memory: Default 512MB RAM allocation works for most LiveCDs
- Graphics: Uses modern VGA adapter with hardware acceleration when possible
- Audio: PulseAudio integration for multimedia LiveCDs
ISO Files:
- Linux LiveCD distributions (Ubuntu, Fedora, Debian, etc.)
- Rescue/Recovery CDs (SystemRescue, Clonezilla, etc.)
- Diagnostic tools (MemTest86, hardware testing CDs)
- Any bootable ISO 9660 image
USB Devices:
- Bootable USB drives with any filesystem
- Ventoy multi-boot USB drives
- Rescue USB devices
NVMe Partitions:
- Linux installations (Ubuntu, Fedora, Arch, etc.)
- Windows installations (Windows 10, 11)
- BSD systems (FreeBSD, OpenBSD, etc.)
- Any bootable partition with supported filesystems (ext2/3/4, NTFS, FAT32, etc.)
- OS: Any modern Linux distribution with GTK4 support
- RAM: 1GB+ recommended (512MB for VM + host system)
- CPU: x86_64 architecture
- Storage: Minimal disk space for temporary files
- Optional: KVM support for hardware acceleration
- Native Linux integration with modern GTK4 interface
- NVMe partition booting for testing installed operating systems
- Smart memory allocation based on boot source type
- Automatic KVM acceleration when available
- Better memory management and performance
- Proper desktop environment integration
- No bundled QEMU binaries (uses system QEMU)
- Simple GUI for boot source selection and execution
- Support for ISO files, USB devices, and NVMe partitions
- File association support for right-click menu
- Help and about dialogs
- Easy installation and uninstallation
"QEMU not found" error:
sudo dnf install qemu-system-x86 # Fedora
sudo apt install qemu-system-x86 # UbuntuGUI doesn't start:
sudo dnf install python3-gobject gtk4-devel libadwaita-devel # Fedora
sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1 # UbuntuNo KVM acceleration:
- Check if KVM is enabled in BIOS/UEFI
- Add user to
kvmgroup:sudo usermod -a -G kvm $USER - Reboot after group changes
This project is built upon and enhances:
- Original Project: MobaLiveCD Linux by wlfogle
- License: GPL v2+ (preserved and respected)
- Enhancement: AI capabilities, modern UI, advanced packaging
Full acknowledgments: See ACKNOWLEDGMENTS.md for complete credits and attribution.
This enhanced version maintains the same core functionality while adding AI-powered features and modern Linux desktop integration.
GPL v2+ (Same as original project)
Based on the excellent foundation of MobaLiveCD Linux by wlfogle. All enhancements preserve the original GPL v2+ license and maintain full attribution to the original creator.