How can I remount an ejected (not just unmounted) USB drive on Mac?
You can remount an ejected hd using "hdiutil attach" and the appropriate /dev/ device (the BSD name under System Information). As you said, this does not work for flash drives (the /dev/ device will disappear).
kextunload IOUSBMassStorageClass.kext;
kextload /System/Library/Extensions/IOUSBMassStorageClass.kext
Will unmount and remount all USB storage devices...
Terminal Command was off by a little. The real command is:
diskutil mountDisk <<diskx>>*
where you replace <<diskx>>
with the disk number you found using
diskutil list
Eample:
diskutil mountDisk disk3
will mount the disk with the id of disk3
If you are using a Mac, one solution is to simply put your computer to sleep and then wake it up again. It's a great solution if you're feeling lazy, but it will obviously be faster to just unplug and re-insert your drive.
I've had the same problem with external USB & Firewire drives; you eject them using 'disk utility' (perhaps by mistake) only to have to physically disconnect/reconnect the drive in order to get Mac OS X to see them again; despite them being visible under 'System Profiler'.
This is more than an inconvenience if using a daisy-chain of Firewire HDDs...
Here's what worked for me; try this from within Terminal. (1st make sure you have 'diskutil' installed - see note below.)
cmd line:
diskutil list
diskutil mountDisk /dev/diskx
where diskx correlates to the physical device reference as displayed under the "list" command e.g. disk2
NB: try MacPorts for http://www.macports.org/