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 the 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 as good or efficient as it should be.
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 (by the same developer) 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 utility. 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 in Explorer. If any applications launched from the drive are open, they can be asked or forced to close, change this in Options > Ejection. There’s also command line arguments for ejecting the device, /Removethis will eject the drive the program is running on while /Removeletter n removes a specific drive using its 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 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. Firewire devices are also supported by USB Disk Ejector.
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, show the drive properties, or open it in Explorer on double click. ProEject is portable and very light on system resources.
Besides the standard device removal, 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 process the close. It can also clean leftover registry traces and folders including the Temp folder. Clean, Close, and Eject can be launched individually or all will run together by selecting the right click > ProEject option.
Unfortunately, the official website is dead but you can still download the program elsewhere. A beta is available with more features although it cannot save any settings. Being from 2013, it’s highly unlikely there will be any more updates to 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 the drive, the tool 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.
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 list will keep specific programs open on eject. The Inclusions list 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 some of the other USB eject tools listed here, like USB Disk Ejector, RemoveDrive, and DevEject.
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 Removeable disk drives and Safely removable devices. Select Fixed disk drives to be able to eject USB hard drives. Optionally unselect Autostart (with Windows) and Spindown which is only useful 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 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 several 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 “SanDisk Extreme USB Device”. More advanced options like wildcards, supplying a device ID, or kernel name are available.
RemoveDrive can 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 or visit the website 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.