FsRover is a read-only multi-filesystem explorer for Windows and Linux, powered by GNU GRUB.
- Browse physical disks, optical discs, disk images, partitions, RAID, and logical volumes.
- Extract files, or mount a filesystem read-only as a Windows drive (WinFsp or Dokany) or a Linux FUSE mount.
- Open nested and compressed disk images as virtual disks.
- Inspect files with built-in properties, hashes, text, image, hex, and storage-map views.
- Read S.M.A.R.T. health data from physical disks.
- Unlock LUKS1, LUKS2, BitLocker, GELI, VeraCrypt/TrueCrypt, and plain dm-crypt volumes.
- Search a disk or image for lost partitions (NTFS, FAT, exFAT, ext2/3/4, XFS, Btrfs, HFS/HFS+, APFS, ReFS, F2FS, UFS, JFS, ReiserFS, ISO9660, UDF, backup GPT and orphaned EBR entries), quickly or sector by sector, and open them read-only without rewriting the partition table.
- Script everything from the command line with
CliRover(Windows) andLinuxRover(Linux).
- Linux and flash: Btrfs, cramfs, DwarFS, EROFS, ext2/3/4, F2FS, JFS, JFFS2, littlefs, NILFS2, ReiserFS, UBIFS, XFS, YAFFS1/2, ZFS
- Windows: FAT12/16/32, exFAT, NTFS, ReFS 1.x/3.x, registry hives
- macOS: APFS, HFS, HFS+/HFSX
- Unix and other: ADFS, AFFS, AFS, BFS, SGI EFS, FATX/XTAF, FbFS, HPFS, LynxFS, MINIX1/2/3, QNX4/6, RedoxFS, romfs, SFS, System V, UFS1/2, UnixWare BFS, VMFS, VxFS
- Optical media: ISO9660, UDF, Xbox XDVDFS, CUE/BIN, Nero NRG, CloneCD CCD/IMG/SUB, Alcohol 120% MDS
- Archives: cpio, SquashFS, tar, WIM, ZIP, RAR, 7z, NSIS installers, CAB, MSI, LZH/LHA, ARJ, FsArchiver FSA, Proxmox VMA, DEB, RPM, XAR, SQLite databases
- Firmware: UEFI capsules, firmware volumes (FFS1/2/3), Intel flash descriptor images, coreboot CBFS
- Embedded: Hikvision DVR disks
File-level and filesystem-native encryption is not supported. See FsRover/help.md for per-format details and limitations.
- Virtual disks: VHD, VHDX, VDI, QCOW1/2/3, QED, VMDK, DMG, Apple sparseimage, ASIF, ISZ, EWF (E01/S01/Ex01), Parallels HDD, Android sparse, Windows FFU
- Compression: gzip, bzip2, LZ4, LZOP, XZ, Zstandard, Brotli, LZMA
- Dynamic disks and RAID: Android LP (dynamic partitions), Windows LDM, Linux LVM, mdraid, RAID5/6, NVIDIA dmraid
- Partition tables: MBR, GPT, Apple, BSD, DragonFly BSD, Acorn, Amiga, DVH, Plan 9, Sun, UnixWare, SCO Xenix 2.2+ divvy
- Backups: Acronis True Image TIB/TIBX, TeraByte Image TBI, DiskGenius PMF/PMFX, Drive Snapshot SNA, Norton Ghost GHO/GHS, Lenovo OKR, ntfsclone, Partclone
sudo apt install cmake g++ pkg-config libfuse3-dev
cmake -S . -B build/linux -DCMAKE_BUILD_TYPE=Release
cmake --build build/linux --parallelList an image and mount its filesystem read-only:
build/linux/LinuxRover --file=disk.img --list
build/linux/LinuxRover --file=disk.img --list='(img0)/'
mkdir -p /tmp/rover
build/linux/LinuxRover --file=disk.img --mount=img0 --foreground /tmp/rover
fusermount3 -u /tmp/roverFor partitioned images, pass the GRUB device name reported by --list, for
example --mount='(img0,gpt1)'. Running LinuxRover --list as a user that can
read the corresponding /dev nodes exposes native disks as hdN and optical
drives as cdN; root is commonly required for raw block devices.
- GNU GRUB
- Dokany
- WinFsp
- VirtualBox
- wimboot
- file
- stb_image
- NanoSVG
- tiny-webp
- MD4C
- 7-Zip
- VC-LTL and YY-Thunks
FsRover is licensed under GPL-3.0-or-later.