USB removable devices such as flash drives and portable hard drives are these days a part of everyday life. One problem Windows has had throughout this time removable devices have been around, is it’s not the best at handling them when they are attached and removed. While this has improved over the years and it’s better in newer operating systems like Windows 10, handling USB devices is still not great.
The Windows built in Safely Remove Hardware function sometimes doesn’t work the way it should and in some situations the icon can even disappear altogether. It can also be tricky identifying devices if you have several plugged in at once. There are some shareware applications around like USB Safely Remove or Zentimo that enhance how USB removable devices are handled.
In this article we’ll look at 5 freeware programs that can help control your portable USB drives and other removable devices, especially while trying to remove or eject. All tools were tested in Windows 7 and 10.1. USB Disk Ejector
USB Disk Ejector is probably the closest available free alternative to the shareware USB Safely Remove application. It’s also open source and a portable standalone executable that you can place anywhere, including on the removable drive you want to eject. When you click the tray icon a small window opens in the bottom right corner of the desktop with a list of devices that can be selected for removal.
Double click on the device, press the Enter key or use the right click tray menu to eject it, double right click to open the device. If any applications launched from the drive are open, they can be asked to close or forced to close. The option for what to do can be changed in Options > Ejection. There are also command line arguments for ejecting the device. Using /Removethis will eject the drive the program is running on while /Removeletter n removes a specific drive using a drive letter.
In the Options you will find some useful settings for controlling how the program sees card readers and whether to hide a reader with no media devices attached. In Hotkeys you can also create a keyboard shortcut to automatically eject a device. Select the type of eject, enter the hotkey combination into the box, select the drive letter/name and click Add.
ProEject is a little bit like USB Disk Ejector because it opens a small window in the bottom right corner of your desktop. This shows the available drives on the system and you can right click on the device you want to eject, and eject it. It’s also possible through settings to eject on double click. In addition to that, you get the option to show the drive properties or open it in Explorer. ProEject is portable and very light on system resources.
Besides the standard removal of portable devices, ProEject can automatically close open applications and windows that are being run from the drive. The Exclusions tab in Settings allows you to specify executable files that will be ignored when trying to execute the close. It can also clean left over registry traces and folders including the Temp folder. Clean, Close and Eject can be launched individually or all will run together by selecting the ProEject option.
Unfortunately the official website is no longer there but you can still download the program elsewhere. A beta is available with more features although it cannot save any settings. Being from 2013, there may well not be any more new releases of ProEject.
EjectUSB doesn’t have a frontend GUI and instead does its work in one of two ways. Firstly, you can place the EjectUSB executable and settings .INI file onto a removable device and run it. When you eject it copies itself to the Windows Temp folder and runs from there. Or you can run EjectUSB as a command or in a batch and supply the drive letter as the argument. EjectUSB is only a few hundred KB in size and a portable executable but it is getting old now, the last release was in 2009..
In addition to attempting to remove the device, EjectUSB also flushes the file cache, closes running programs and open windows, removes registry entries and recent shortcuts/folders. Those options can be turned off and on from a dedicated settings interface along with a few other functions. An Exclusions lists will keep specific programs open on eject while the Inclusions lists closes the specified executable files even if they are not running from the removable drive.
The close programs on eject function doesn’t really work too well but EjectUSB has a trick up its sleeve. You can add the portable version of the locked file tool Unlocker to the program folder and Eject USB will utilize it when stopping open programs. It can also work alongside and interact with a few other USB eject tools, see the Readme for more information.
As the name might suggest, HotSwap! is more of a tool to safely eject SATA and eSATA devices and swap them with other drives if you have SATA racks or drive bays. It’s also quite at home ejecting USB and other removable devices from the system. HotSwap! is a standalone portable executable of less than 200KB with separate 32-bit and 64-bit versions available.
HotSwap! works entirely from its system tray icon and you need to change a setting or two so it handles removable devices. Right click the tray icon and go to Device type, select Removable disk drives and Safely removable devices. Unselect Fixed disk drives if you don’t want to interact with fixed drives such as internal hard drives. Optionally unselect Autostart (with Windows) and Spin Down which is only needed for mechanical hard drives.
To eject a device left click on the tray icon and select the device to remove from the menu. HowSwap! will make sure all device volumes are not used and close any open programs that have a handle on the device. Devices can also be ejected via the command line, simply supply the drive letter or its ID.
RemoveDrive is a command line only tool that allows you to quickly eject removable devices from the Command Prompt or from within batch scripts. You can either place it on the removable drive itself and run from there or put the exe anywhere else and call the drive to eject as an argument. RemoveDrive has both 32-bit and 64-bit executables.
There’s a number of ways in which to supply a device for ejection. The most common are “\” to eject the current drive removedrive.exe is on (removedrive.exe is copied and run from Windows Temp), by drive letter or a friendly name such as “VERBATIM STORE N GO”. More advanced options like wildcards, supplying a device ID or kernel name are available.
RemoveDrive is able to eject the drive or volume, eject TrueCrypt volumes, show open handles and focus the offending application window, and stop the Windows Indexing Service if it’s required. Read the help file for all available arguments.
There is also another useful application that can eject and unplug/remount USB devices called DevEject. Sadly it has not been updated since 2013 and pops up a nag that the beta has expired and opens a page to the website every time you launch the program. If you can ignore this issue, DevEject is worth looking at.