Mount anything by giving the image to an operating system that understands it, then exposing the result over 9P. qemount runs one small guest per image, using real kernels and filesystem implementations instead of reimplementing every format on the host.
MAKE BACKUPS OF YOUR DISK IMAGES BEFORE USING THIS TOOL.
Currently, there are:
- Linux 2.6, Linux 6.12, NetBSD 10.0 and AROS i386 guests
- 9P2000.U support in both a simple9p server and 9pfuse client
- Platform filesystem discovery:
/on POSIX guests and a synthetic root containing mounted DOS volumes on AROS - A collection of filesystems to play with
- A build system that isolates everything inside containers, so it actually builds easily
- A way to archive everything, inputs, outputs and containers, so the archive.org dumps will work long after the sources go offline
Install podman, fuse, make and qemu; install pigz too if you want to
create archival builds. The catalogue exposes individual build targets:
python -m qemount_build outputs
python -m qemount_build build bin/qemu/x86_64-linux/6.12/boot/rootfs.img
python -m qemount_build build bin/qemu/x86_64-netbsd/10.0/boot/boot.img
python -m qemount_build build bin/qemu/i386-aros/boot/aros.iso
python -m qemount_build build bin/x86_64-linux-musl/9pfuseThe guest-selection and launch layer is still under construction, so this is currently a developer workflow rather than a finished one-command mounting tool. Guest-specific operational details and remaining integration work live in the catalogue documentation and project plan.
These tables describe guest capabilities as exercised by the current qemount integration, rather than every handler that an operating system could support with additional configuration.
| Partition Table | Linux 6.12 | Linux 2.6 | NetBSD 10 | AROS i386 | Notes |
|---|---|---|---|---|---|
| MBR/DOS | ✅ | ✅ | ✅ | ❌ | Test image stalls AROS startup |
| GPT | ✅ | ✅ | ✅ | ❌ | Partitions are not auto-mounted |
| BSD disklabel | ✅ | ✅ | ✅ | ❌ | Native BSD partitioning |
| Apple APM | ✅ | ✅ | ✅ | ❌ | Classic Mac partition map |
| Amiga RDB | ✅ | ✅ | ✅ | ✅ | Real hard-drive image tested |
| Atari AHDI | ✅ | ✅ | ✅ | ❌ | Atari ST/TOS |
| Sun VTOC | ✅ | ✅ | ❌ | ❌ | Solaris/SunOS |
| SGI DVH | ✅ | ✅ | ❌ | ❌ | IRIX disks |
| LDM | ✅ | ❌ | ❌ | ❌ | Windows dynamic disks |
| Minix | ✅ | ✅ | ❌ | ❌ | Minix subpartitions |
| UBI | ✅ | ✅ | ❌ | ❌ | NAND flash volumes (not a PT) |
| Acorn | ✅ | ✅ | ❌ | ❌ | RISC OS partition map |
| AIX | ✅ | ✅ | ❌ | ❌ | IBM AIX PV headers |
| Ultrix | ✅ | ✅ | ❌ | ❌ | DEC Ultrix (VAX/MIPS) |
| SYSV68 | ✅ | ✅ | ❌ | ❌ | Motorola 68k System V |
| IBM DASD | ❌ | ❌ | ❌ | ❌ | S/390 mainframe |
| PC-98 | ❌ | ❌ | ❌ | ❌ | NEC PC-98 (Japan) |
| Rio Karma | ✅ | ❌ | ❌ | ❌ | Portable media player |
| OSF/1 | ✅ | ✅ | ❌ | ❌ | DEC Alpha / Tru64 |
| HP-UX LIF | ✅ | ✅ | ❌ | ❌ | PA-RISC / Itanium |
| QNX4 PT | ✅ | ✅ | ❌ | ❌ | QNX subpartitions |
| Plan 9 | ✅ | ✅ | ❌ | ❌ | ASCII partition table |
| NetWare | ✅ | ✅ | ❌ | ❌ | Novell |
| Hybrid MBR | ✅ | ✅ | ✅ | ❌ | Partitions are not auto-mounted |
| Protective MBR | ✅ | ✅ | ✅ | ❌ | Partitions are not auto-mounted |
| OpenBSD | ✅ | ✅ | ❌ | ❌ | 16-partition disklabel |
| DragonFly | ✅ | ❌ | ❌ | ❌ | Disklabel64 variant |
| NeXT | ❌ | ❌ | ❌ | ❌ | NeXTSTEP / OPENSTEP |
| CP/M-86 | ✅ | ✅ | ❌ | ❌ | Digital Research |
| Filesystem | Linux 6.12 | Linux 2.6 | NetBSD 10 | AROS i386 | Notes |
|---|---|---|---|---|---|
| ext2 | ✅ | ✅ | ✅ | ❌ | |
| ext3 | ✅ | ✅ | ✅ | ❌ | NetBSD mounts as ext2 |
| ext4 | ✅ | ✅ | ❌ | ❌ | |
| FAT12/16/32 | ✅ | ✅ | ✅ | ❌ | Raw test images are not auto-mounted |
| exFAT | ✅ | ❌ | ❌ | ❌ | |
| NTFS | ✅ ntfs3 | 💩 ntfs | 💩 ntfs | ❌ | Raw test image is not auto-mounted |
| ISO9660 | ✅ | ✅ | ✅ | ✅ | AROS boots and serves its Live CD |
| UDF | ✅ | ✅ | ✅ | ❌ | DVD/Blu-ray |
| HFS | ✅ | ✅ | ✅ | ❌ | Classic Mac |
| HFS+ | ✅ | ✅ | ❌ | ❌ | hfsplus |
| UFS/FFS | 💩 | 💩 | ✅ | ❌ | Linux UFS is limited |
| LFS | ❌ | ❌ | ✅ | ❌ | NetBSD log-structured |
| XFS | ✅ | ✅ | ❌ | ❌ | |
| JFS | ✅ | ✅ | ❌ | ❌ | IBM journaled |
| Btrfs | ✅ | ✅ | ❌ | ❌ | |
| F2FS | ✅ | ❌ | ❌ | ❌ | Flash-friendly |
| bcachefs | ✅ | ❌ | ❌ | ❌ | |
| EROFS | ✅ | ❌ | ❌ | ❌ | Read-only compressed |
| ReiserFS | ✅ | ✅ | ❌ | ❌ | Removed in 6.13 |
| AFFS | ✅ | ✅ | 💩 adosfs | ✅ | AROS OFS/FFS tested end to end |
| SFS | ❌ | ❌ | ❌ | ✅ | RDB volume survives reboot/readback |
| PFS | ❌ | ❌ | ❌ | ❌ | Not in the current AROS image |
| Minix | ✅ | ✅ | ❌ | ❌ | |
| V7 | ✅ | ✅ | ✅ | ❌ | 7th Edition UNIX |
| SysV | ✅ | 💩 | ❌ | ❌ | System V; symlinks crash 2.6 |
| SquashFS | ✅ | ✅ | ❌ | ❌ | Read-only compressed |
| CramFS | ✅ | ✅ | ❌ | ❌ | Read-only compressed |
| RomFS | ✅ | ✅ | ❌ | ❌ | Read-only |
| EFS | ✅ | ✅ | ✅ | ❌ | SGI IRIX |
| BeFS | ✅ | ✅ | ❌ | ❌ | BeOS/Haiku |
| HPFS | ✅ | ✅ | ❌ | ❌ | OS/2 |
| QNX4 | ✅ | ✅ | ❌ | ❌ | |
| QNX6 | ✅ | ❌ | ❌ | ❌ | |
| ADFS | ✅ | ✅ | ❌ | ❌ | Acorn |
| Filecore | ❌ | ❌ | ✅ | ❌ | Acorn RISC OS |
| VxFS | ✅ | ✅ | ❌ | ❌ | Veritas |
| OMFS | ✅ | ✅ | ❌ | ❌ | Optimized MPEG FS |
| NILFS2 | ✅ | ✅ | ❌ | ❌ | Log-structured |
| GFS2 | ✅ | ✅ | ❌ | ❌ | Red Hat cluster |
| OCFS2 | ❌ | ✅ | ❌ | ❌ | Oracle cluster |
| Coda | ❌ | ❌ | ✅ | ❌ | Distributed FS |
| BFS | ✅ | ✅ | ❌ | ❌ | SCO Boot FS |
| ZFS | ❌ | ❌ | ✅ | ❌ | OpenZFS (module, not in-kernel) |
| APFS | ❌ | ❌ | ❌ | ❌ | Apple macOS 10.13+ |
| ReFS | ❌ | ❌ | ❌ | ❌ | Windows Resilient FS |
| HAMMER2 | ❌ | ❌ | ❌ | ❌ | DragonFly BSD native |
| JFFS2 | ✅ | ✅ | ❌ | ❌ | Flash journaling |
| UBIFS | ✅ | ❌ | ❌ | ❌ | UBI Flash FS |
| High Sierra | ✅ | ✅ | ✅ | ❌ | ISO9660 predecessor |