Linux通过nfs挂载根文件系统失败:VFS: Unable to mount root fs via NFS, trying floppy.
报错如下:
IP-Config: Complete:
device=eth0, addr=192.168.1.113, mask=255.255.255.0, gw=192.168.1.1,
host=192.168.1.113, domain=, nis-domain=(none),
bootserver=192.168.1.114, rootserver=192.168.1.114, rootpath=
Looking up port of RPC 100003/2 on 192.168.1.114
Looking up port of RPC 100005/1 on 192.168.1.114
VFS: Unable to mount root fs via NFS, trying floppy.
bootargs 配置:
set bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.1.114:/nfsRoot/fs ip=192.168.1.113:192.168.1.114:192.168.1.1:255.255.255.0::eth0:off
改来改去,都是这个报错,文件系统重做了,确认内核和文件系统是同一个编译器版本。
最后看到这个博客:
https://blog.csdn.net/p1279030826/article/details/112179714?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.control
“以前使用的16.04版本的ubuntu没问题,现在更换了18.04.4版本,开始报错。
从Ubuntu17.04开始,nfs默认只支持协议3和协议4,而kernel中默认支持协议2。”
我的环境是ubuntu 20:
1, 修改 NFS 配置文件:
sudo vim /etc/default/nfs-kernel-server
2, 在末尾添加:
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
3,重启nfs服务后就好了
systemctl restart nfs-kernel-server
参考引用:
https://blog.csdn.net/p1279030826/article/details/112179714?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.control