Cannot mount/unmount external hard drive on Mac I have a 1TB external hard drive. It was used as backup disk for Time Machine. But from one day, my Mac cannot recognise it.   

The problem may caused by my removing disk without ejecting it first.  

I can see the disk by diskutil list:

$diskutil list
.... This is it.

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS Chang                   999.9 GB   disk2s2

$diskutil eject disk2
Volume timed out while waiting to eject

$diskutil unmount /dev/disk2
disk2 was already unmounted or it has a partitioning scheme so use "diskutil unmountDisk" instead

$diskutil unmountDisk /dev/disk2
Unmount of disk2 failed: at least one volume could not be unmounted

$diskutil mount /dev/disk2
Volume on disk2 timed out waiting to mount

$diskutil mountDisk /dev/disk2
One or more volume(s) failed to mount


And the results:

$diskutil verifyDisk disk2
Started partition map verification on disk2
Checking prerequisites
Checking the partition list
Checking the partition map size
Checking for an EFI system partition
Checking the EFI system partition's size
Checking the EFI system partition's file system
Checking the EFI system partition's folder content
Checking all HFS data partition loader spaces
Checking booter partitions
Checking Core Storage Physical Volume partitions
The partition map appears to be OK
Finished partition map verification on disk2

$diskutil verifyVolume disk2s2
Started file system verification on disk2s2 Chang
Verifying file system
Checking Journaled HFS Plus volume
Detected a case-sensitive volume
Checking extents overflow file
Checking catalog file
Checking multi-linked files
Checking catalog hierarchy
Checking extended attributes file
Checking multi-linked directories
Invalid parent for directory inode (id = 6286950)
(It should be 19 instead of 18)
Invalid name for directory inode (id = 6286950)
(It should be dir_6286950 instead of temp6286950)
Incorrect number of directory hard links
The volume Chang could not be verified completely
File system check exit code is 8
Error: -69845: File system verify or repair failed
Underlying error: 8: Exec format error
I just had this happen to me. If it won't repair on Disk Utility, you can try Disk Warrior. You might get lucky, however in my experience since the drive wouldn't mount, it was impossible to get anything. 
I was able to get some data back through a data recovery service, which cost around $220, but I am discovering that some if the data is corrupt and won't restore. 
I would recommend that you take the drive to a professional. Anything you can do might do more harm.
And have a double-backup plan.