ZeroMount by Enginex0 is a metamodule that takes over how your root modules are loaded, and tries to leave no trace in the mount table. Normal modules use bind mounts or OverlayFS, which appear in /proc/mounts where detection apps can find them. With its kernel driver, ZeroMount redirects file paths at the VFS layer instead. The main feature needs a custom kernel, and it falls back to standard mounting without one.
How modules get loaded
ZeroMount runs a five-step pipeline on every boot.
1. Detect
Checks the kernel for the VFS driver, SUSFS, OverlayFS support and storage backends, and saves the results for the later steps.
2. Scan and plan
Finds every module in /data/adb/modules/, classifies its files, resolves conflicts between modules, and makes a mount plan for each partition. If two modules overlap, the last one installed wins.
3. Execute
Applies the best strategy for your kernel and falls back if it fails, even for a single module. The mount step runs before Zygote and is stopped if it hangs for 60 seconds.
4. Stealth
Applies the SUSFS protections your kernel supports, and any property spoofing you've enabled.
5. Guard
Watches boot timeout, Zygote and SystemUI. If any of them crash-loops, ZeroMount disables itself and reboots to a safe state.
Mount strategies
ZeroMount uses the first strategy that works. You can override it globally or per module in the WebUI. "Trace" here means what shows up in the mount table.
| Strategy | Method | Trace | Requires |
|---|---|---|---|
| 1. VFS | Per-file redirect rules in a custom kernel driver, /dev/zeromount | None | ZeroMount kernel driver |
| 2. OverlayFS | Overlay mounts per partition | Visible, but SUSFS can hide it | OverlayFS support |
| 3. MagicMount | Individual bind mounts per file | Visible | Nothing, always available |
Requirements and tested setups
- A rooted device with an unlocked bootloader.
- A root manager. KernelSU is tested, with full metamodule support. APatch and Magisk are untested: the hooks and fallback pipeline exist but haven't been verified on a device.
- For VFS mode, a kernel with ZeroMount and SUSFS patches. The project points to its Super-Builders repo.
The tested kernels are 5.10.209 on Android 12 and 6.6.66 on Android 15. During installation it checks for conflicting metamodules and marks them for removal.
Installation
- Build or get a kernel with ZeroMount and SUSFS patches, and flash it. Skip this if you only want the fallback strategies.
- Install the ZeroMount zip in your root manager. Use the regular build. The larger
-debugbuild is 102.86 MB against 42.34 MB. - Reboot.
- Open the WebUI from your root manager to see the engine status, detected features and loaded modules.
Hiding and spoofing
On top of mounting, the WebUI has more than 20 SUSFS toggles, including path hiding, kstat spoofing, mount hiding, /proc/maps hiding and AVC log spoofing. All of these depend on your kernel's SUSFS support.
It can also remove or spoof properties such as ro.debuggable, verified boot state, build fingerprint, serial number and custom ROM markers, and it can change the kernel release and /proc/cmdline. The ZeroMount process shows up as [kworker/0:2].
Managing modules and settings
Settings live in /data/adb/zeromount/config.toml, and most of them are available in the WebUI. You can:
- Add or remove module rules at runtime, without rebooting.
- Exclude specific modules from loading, or specific apps from seeing redirected files.
- Skip modules that contain
/system/etc/hosts, usingmount.exclude_hosts_modules. This is on by default, to prevent global DNS problems. - Set
mount.restart_frameworkto restart the Android framework after mounting, for modules that need it. - Export and import your whole configuration.
Extras include custom emoji fonts with per-app injection for Facebook, GBoard and GMS, an optional CPU performance tuner, and a root shell in ADB.
Recovery
- Bootloop guard: runs automatically as described above. After it triggers, ZeroMount stays off until you turn it back on.
- Safe mode: hold both volume keys during boot.
- Config rollback: your config is backed up before each boot, and restored if the boot fails.
- Reset to defaults: the module's Action button deletes
config.tomland its backup. Reboot to apply. - Uninstalling:
uninstall.shrestores the mount settings of modules it had been handling, and clears its data apart from a stashed copy of your config.