I suffered the same problem and was able to nail it down to udev! (see also bug 77325)
Indeed, the mountnfs script in if-up.d is never run, because interfaces are already up when rcS reaches S40networking. The reason for this is, that udev get's notice of the hardware and calls itself (via /etc/udev/rules/85-ifupdown.rules) an "ifup --allow auto $env{INTERFACE}", which enables the interface. This is obviously too early in the boot process (S10), to successfully initialize NFS(4). Since it is called in the background (start-stop- daemon), it may eventually be delayed so that it may succeed. My fix and suggestion is to change the "auto-CLASS" (see man ifup) for the udev invocation. When changing "--allow auto" to "--allow udev" only those interfaces marked with e.g. "allow-udev eth0" are brought up by udev. This gives the admin control where interfaces are handled (udev or S40networking). -- NFSv4 mounts often missing after boot https://launchpad.net/bugs/46516 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs