As the Raspberry pi runs on SD Card, attaching a hard disk to it is inevitable. These external hard disks are required to be mounted with its UUIDs to make it available across various applications. The Pi works perfectly as long as those disks are attached to it but it would crash on boot if it could not find any of the hard disks that are explicitly mounted with UUID.
The behaviour would be some what weird and would be tough to identify the root cause if your pi is running in headless mode. During the crash, the ping requests would return a success but trying to perform a RDC to Pi would fail. Unless you connect a monitor to pi you won't be able to identify the root cause. You can expect the screen like the one shown below
To fix this issue, either you have to shutdown the pi and attach the hard disk or you have to remove the corresponding UUID entry in the fstab file. Follow the below steps to edit the fstab file.
1. Open "fstab" file in editor by executing the command "sudo nano /etc/fstab" in terminal
2. Comment (by placing # at the start of the line) or remove the entry that is associated with the disk that have been detached from Pi. The list of drives that are currently loaded by pi can be viewed by executing "sudo blkid" in the terminal. The missing entry in this list of disks has to be removed from "fstab" file.
3. Reboot the Pi. Now you would be good to go !!!
Note : You can also type "startx" to open the GUI. This works as usual with out any issues