Network File System (NFS) allows you to turn your Xiaomi Redmi 10 into a full-fledged client for working with remote files β whether itβs a home NAS, server or even another smartphone. Unlike SMB or FTP, NFS provides faster data transfer speeds and minimal latency, which is critical for streaming 4K video or working with large databases. However, standard MIUI tools do not support NFS out of the box β you will need manual configuration.
In this article, we will discuss three working ways to connect NFS to Redmi 10 (relevant to 2021/2022 models with MIUI 12.5β14): through specialized applications, the Termux terminal, and alternative firmware. We will focus on common errors like βmount: permission deniedβ or βno such deviceβ that often occur when working with networked file systems on Android. If you plan to use NFS for backup, media server or development, here you will find proven solutions with Xiaomi limitations.
What is NFS and why you need it on your smartphone
NFS (Network File System) was developed by Sun Microsystems in 1984 to unify file access on local area networks. In the context of Xiaomi Redmi 10, it allows:
- π Mount network folders as local disks (for example, to work with files on the NAS synchronously, without copying).
- π¬ Streaming video without buffering (relevant for movies in the 1080p/4K from the home server).
- π Automate backup of photos and documents to remote storage.
- π» Develop applications on a smartphone, connecting to the working directory on a PC.
Compared to alternatives (SMB, WebDAV, FTP), NFS benefits in two key ways:
| Protocol | Transmission speed | Delay (ms) | Android support | Encryption |
|---|---|---|---|---|
| NFS v3/v4 | βββββ (up to 1 Gbps) | 1β5 | Requires manual adjustment | Only NFSv4 with krb5 |
| SMB (Samba) | ββββ (up to 500 Mbps) | 10β30 | Built-in support in MIUI | Yes (SMB3) |
| FTP/FTPS | βββ (up to 300 Mbps) | 50β100 | Any file managers | Yes (FTPS) |
β οΈ Attention: NFS It does not encrypt traffic by default (unlike the default traffic code). SMB3 or SFTP). If you connect to the server via a public network (for example, 4G), use VPN or tunnel through SSH (sshfs: On the local network, the risks are minimal.
Preparation: What you will need to connect NFS
Before setting up, make sure you have:
- NFS-server (can be configured to a PC with a Linux/Windows, router with OpenWRT, or NAS sort of Synology/QNAP).
- Local area network (Wi-Fi or Ethernet via USB-C adapter β RJ45). Redmi 10 does not support NFS over mobile Internet (3G/4G/5G) without additional settings.
- Root rights (optional, but recommended for stable operation) without them, mounting is possible only through Termux with restrictions.
πΉ Minimum requirements for the server:
- π₯οΈ OS: Linux (Ubuntu, Debian), FreeNAS, or Windows 10/11 s NFS Server.
- π‘ Port port: 2049/TCP (default NFS).
- π Exportable folder: must be read/writeable (Rw rights,no_root_squash).
π οΈ Android software:
- π± Termux (for manual mounting).
- π Solid Explorer or Solid Explorer FX File Explorer (with support for network protocols).
- π§ Root Browser (if there is root).
π‘
If you are using Windows as a NFS-server, enable the "Services" component NFS" via the control panel β Programmes and components β Enabling or disabling Windows components. Linux just install nfs-kernel-server package (Debian/Ubuntu).
Method 1: Connecting NFS over Termux (without root)
This is a method that works for people without root rights, and we're going to use Termux, a terminal emulator for Android that supports Linux packages.
Step 1 Install Termux and the required packages
- Download Termux (recommended version with F-Droid, not Google Play).
- Update repositories and install nfs-common: pkg update && pkg upgrade pkg install nfs-utils
Step 2: Creating a mounting point
In Termux, do:
mkdir ~/nfs_mount
mount -t nfs -o port=2049,nolock,soft 192.168.1.100:/path/to/share ~/nfs_mountWhere:
- 192.168.1.100 β IP-address NFS-server.
- /path/to/share is the exported folder (as indicated in /etc/exports on the server).
Step 3: Checking the connection
Do this:
ls ~/nfs_mountIf the command outputs the contents of the network folder, the connection is successful.
umount ~/nfs_mountPing to the server is passed (ping 192.168.1.100)
Port 2049 open (nc -zv 192.168.1.100 2049)
Folder exported with rw rights
Termux has access to a storage (termux-setup-storage)
-->
β οΈ Warning: Termux mounting is temporary - after restarting the smartphone or closing the application, the connection will break. ~/.termux/boot/ (See the section on autoloading).
Method 2: Permanently mounting NFS with root rights
If your Redmi 10 has root (like Magisk), you can set up automatic NFS mounting when you boot up, which is more reliable and works at the Android kernel level.
Step 1: Verify NFS Support in the Core
Open Termux and do:
su
cat /proc/filesystems | grep nfsIf the output has nfs or nfs4, the kernel supports the protocol; if it doesn't, you'll need a custom kernel (e.g., KernelSU).
Step 2.Editing /etc/fstab
Open /etc/fstab in any root-access text editor (such as Root Explorer) and add a line:
192.168.1.100:/path/to/share /mnt/nfs nfs rw,soft,intr,noatime,nodiratime 0 0Create a folder for mounting:
mkdir /mnt/nfs
chmod 777 /mnt/nfsStep 3: Installation and inspection
Do this:
mount -a
df -h | grep nfsIf df shows you a connected file system, the setup is successful. To make the mounting work after the reboot, make sure that Magisk has Mount namespace mode enabled.
What if you fail to install a βno such deviceβ error?
Method 3: Using a file manager with NFS support
If you don't want to work with a terminal, you can connect to NFS through a GUI, and file managers like Solid Explorer or FX File Explorer are good for that.
Instructions for Solid Explorer:
- Open the application and go to the Network β Add storage.
- Choose. NFS enter: π Server address: 192.168.1.100 π The way to the folder: /path/to/share π€ Username: leave blank (or indicate if the server requires authentication).
Connect.
Limitations of the method:
- β There is no automatic mounting when loading.
- β Speed is lower than when mounted via Termux or fstab.
- β Some files may not open due to Android restrictions on access to network resources.
π‘ If you need to work with files regularly NFS, Combine this method with Termux: connect through the manager to view, and use commands for copy/move operations cp/mv terminally.
Solving Common Errors When Connecting NFS
Even with the right setup, you can encounter errors, and let's look at the most common ones and how to fix them.
| Mistake. | Reason. | Decision |
|---|---|---|
| mount: permission denied | The server does not allow connection from your IP or incorrect export rights. | Check /etc/exports on the server and restart NFS: sudo exportfs -a. |
| no route to host | The smartphone and server are in different subnets or the firewall blocks traffic. | Check the ping to the server and the router settings (open port 2049). |
| Stale file handle | The server has rebooted and the client is trying to use outdated file descriptors. | Unmount and reconnect: umount /mnt/nfs; mount /mnt/nfs. |
| Operation not permitted | The server has an option on. root_squash, And you're connecting without root. | Change the export on the server: /path/to/share 192.168.1.0/24(rw,no_root_squash,sync). |
β οΈ Note: If you are using Windows NFS Server, by default, requires authentication through ANONYMOUS Or a domain account. To make access easier, set up the Control Panel. β Services NFS β Server for NFS Anonymous access and specify the user Everyone with Read/Write rights.
π‘
The most common error β permission denied β is solved by editing. /etc/exports on the server, make sure yours IP or subnets are specified with rw,sync options,no_subtree_check.
Automatic mounting of NFS when loading
So NFS-Connection restored after the Redmi 10 reboot, you can use it:
- Script in Termux (without root): Create a file ~/nfs_mount.sh: #!/bin/bash mount -t nfs -o port=2049,nolock,soft 192.168.1.100:/path/to/share ~/nfs_mount Make it executable: chmod +x ~/nfs_mount.sh Add to autoboot: mkdir -p ~/.termux/boot ln -s ~/nfs_mount.sh ~/.termux/boot/
- Tasker + Termux (without root): Install Tasker. Create a task with the action Run the shell and specify the command: am start -a com.termux.RUN_COMMAND -e com.termux.RUN_COMMAND_PATH"~/nfs_mount.sh" Set up a trigger for the event Download the device.
Init.d or Magisk (with root):
- Create a script in /data/local/userinit.d/ (Magisk userinit.d is required).
- Or add a string to /etc/fstab (see Method 2).
πΉ Important: When you install automatically, add soft (breaks connection when errors occur) and intr (allows you to interrupt operations) to prevent the system from freezing if you have network problems:
192.168.1.100:/share /mnt/nfs nfs rw,soft,intr,noatime 0 0