Mac OS X Server: Computer Stops Responding at "Starting Network Filesystem"

The computer does not finish starting up if it is providing both DNS Service and NFS Service. It stops when the progress bar reaches "Starting Network Filesystem."
Symptom

During system startup time, the Mac OS X Server computer appears to stop responding ("hangs" or "freezes") when the progress bar reaches the message "Starting Network Filesystem."


Solution

This occurs when you are providing DNS Service on your network and you have client or network NFS exports (not world). If this is not your configuration, review this alternative cause. To recover, follow these steps.

  1. Start up the computer in single-user mode.
  2. At the prompt, type: /sbin/fsck -fy
  3. Press Return.

    The fsck utility will go through five phases and then return information about the disk. If no issue is found, you should see:

    ** The volume  appears to be OK. 
    
    If fsck alters, repairs, or fixes anything, it will display the message: 
    
    ***** FILE SYSTEM WAS MODIFIED ***** 

    Important: If this message appears, repeat the "/sbin/fsck -fy" command until this message no longer appears. It is normal for your computer to require several passes of fsck, because first-pass repairs may uncover additional issues.

  4. Type: /sbin/mount -uw /
  5. Press Return.
  6. Type: pico /System/Library/StartupItems/NFS/StartupParameters.plist
  7. Press Return. This opens the NFS StartupPararmeters preference file in the pico text editor. The file should look like this:

    { 
      Description     = "Sun network file system"; 
      Provides        = ("NFS"); 
      Requires        = ("Portmap", "Resolver"); 
      Uses            = ("Disks"); 
      OrderPreference = "None"; 
      Messages = 
      { 
        start = "Starting network file system"; 
        stop  = "Stopping network file system"; 
      }; 
    } 
    

    Note: The "Uses" line only appears in Mac OS X Server 10.1.5.

  8. Add "Watchdog" to the Requires section. The file will then look like this.

    { 
      Description     = "Sun network file system"; 
      Provides        = ("NFS"); 
      Requires        = ("Portmap", "Resolver", "Watchdog"); 
      Uses            = ("Disks"); 
      OrderPreference = "None"; 
      Messages = 
      { 
        start = "Starting network file system"; 
        stop  = "Stopping network file system"; 
      }; 
    } 
    

    Note: Do not add a "Uses" line in Mac OS X Server 10.1.4 and below. It will only exist in Mac OS X Server 10.1.5.

  9. Press Ctrl-X to exit, then "y" and Return to save the file.
  10. Type: reboot
  11. Press Return .


The server should start up normally now.
Published Date: Feb 17, 2012