Today I removed my external hard drive by clicking ejected, which was not succeeded after all. Afterwards the external hard wasn't detected when I plug it into my Mac Book Pro. Then I tried with two of my friend's machines. First was as same as my machine, external hard drive was not detected. The second was running Ubuntu and it detected the external hard drive and show all the files/directories. Of course it made me happy, at least the hard drive is working. Then I google around and try to find a solution for this issue. And this is how I ended up with solving the problem.
First I go to Disc Utility, Application -> Utilities -> Disc Utility. There I saw that my disc is detected and listed there but I couldn't do anything. Actually the external hard drive shown in yellow color.
Then I understood that this should be a issue of not correctly unmounting. So I decided to search on unmounting external hard drive in Mac. Then I ended up with the following command where some of the people who had this kind of problem solved after executing following commands. Yes you need to open a Terminal and execute the commands :).
First I use the discutil list command to list down all the drives connected to my machine. This command show me two drives, first one is the hard drive of my machine and the second one is my external hard drive.
diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 250.1 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *1.0 TB disk1
1: Windows_FAT_32 Transcend 1.0 TB disk1s1
Now I executed diskutil unmountDisk command against the /dev/disk1, which identified as my disc in list command. But it failed with the following message.
diskutil unmountDisk /dev/disk1
Unmount of disk1 failed: at least one volume could not be unmounted
Then as I have seen in a post I tried the same command with force. Again it didn't work.
diskutil unmountDisk force /dev/disk1
Forced unmount of disk1 failed: at least one volume could not be unmounted
Then I have research more and found that I can use hdiutil which can be use to manipulate disc images. So I have tried to detach the external hard drive using hdiutil.
hdiutil detach /dev/disk1
"disk1" unmounted.
"disk1" ejected.
It did work....... At last I have a solution.
You can refer the manual page of hdiutil here.
Hope you solve your problem. Thanks for reading.