Ubuntu Unmounting drive takes forever
Are you using a 64-bit version of Linux with a lot of memory and the attached disk is a relatively slow one (any USB 2 will qualify)?
In that case the problem could be that Linux can locks/delay for long time on big writes on slow devices; it depends on caching too much data during writes. It's a known bug that should be fixed in newer kernels.
See http://lwn.net/Articles/572911/
Workaround: enter a shell root (do that with care --- you are now root for every command)
sudo -i
and issue:
echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes
If it works, you can add the two lines above to your /etc/rc.local
file.
(This is a repost of my answer in U&L SE).