
HotSwap!
Copyright (c) 2004-2010 Kazuyuki Nakayama. All Rights Reserved.
![]()
Visitors since 11/18/2004 :
Last modified 11/16/2009
The latest version 5.0.0.0 (11/11/2009 Updated!)
This software is developed based on the information Knowledge Base Article #10744 - SATA: Hot Plugging Drives under Win2000/XP (Internet Archive) provided by Silicon Image.
It does the same thing as you can remove device from Device Manager but it provides much friendly user interface as you remove the removable device from the "Safely Remove Hardware" icon in the notification area. It also ensures that all data are written and flushed to the disk before the device to be hot-swapped, so you can use SATA/eSATA drive as a removable device much alike USB/IEEE1394 drive.
Friendly user interface equivalent to the "Safely Remove Hardware" icon in the notification area.
Ensures all volumes on the drive are not in use before removing it.
Spin-down the drive to remove the drive in safe.
Also support a drive other than fixed disk drive.
Supports the command line mode to run without graphical user interface.
Multilingual user interface. (11/11/2009 Updated!)
Windows XP / Server 2003 / Vista / 7 / Server 2008 (32-bit and 64-bit) (11/16/2009 Updated!)
Silicon Image SATA Host Controller (SiI3112A, SiI3114, SiI3132, etc)
Silicon Image SATA-PATA (Parallel ATA) Bridge Controller (SiI3611)
SUNPLUS SATA-PATA Bridge Controller (SPIF3611)
SATA Host Controller (AHCI mode enabled in BIOS) (e.g. Intel Controller Hub (ICH), JMicron JMB363)
If Silicon Image controller is used, the driver will spin-down the drive upon device removable.
The following hardware have been tested to work.
SIIG SATA Host Adapter
Serial ATA PCI : SC-SAT212

SIIG SATA Host Adapter
Serial ATA 4-Channel PCI : SC-SA4011

BELKIN SATA Host Adapter
SATA II RAID 2-Port PCI Express Card : F5U251 (Need to flash to non-RAID BIOS)

Addonics Technologies
Mobile
Rack25SA : AERHD25SAW

Kanguru Solutions
Kanguru
e-Flash : KEFL Series
Extract the downloaded file and run HotSwap!.EXE, the icon
will appear in the notification area. The program will automatically start up when user logs on.
Left click the icon, a menu will pop up listing drives.
To remove a drive, select the drive from the popup menu. A balloon will pop up saying that the device is safely hot-swapped and you can power off the drive to remove it from the system. The drive listed in grey is either selected as non-hotswap device or in use by Windows therefore cannot be removed.
Left click the icon while pressing Ctrl key, another menu will pop up and you can select a drive. Once the drive is selected in this menu, it won't appear in the drive listing menu.
Right click the icon, the configuration menu will pop up.
Scan for hardware changes
Does the same thing as you can do on Device Manager. This is used if the system doesn't automatially recognize new device.
[Device type]
Fixed disk drives
Removable disk drives
DVD/CD-ROM drives
Safely removable devices
Non-hotswap devices
By default, only Fixed disk drives are listed in the popup menu. You can configure other type of devices to be included in the popup menu. The drives removable from the "Safely Remove Hardware" icon can be included. The non-hotswap devices also can be included but not selectable for removable.
[Language]
Chinese - Simplified (11/11/2009 Updated!)
Chinese - Traditional (11/11/2009 Updated!)
English
French
German
Italian (11/11/2009 Updated!)
Japanese
Spanish (11/11/2009 Updated!)
Select the language for the user interface.
Autostart
Starts automatically when the user logs on.
Display PDO
Display Physical Device Object (PDO) name instead and it is uniquely assigned to the deivce by Windows.
Spindown
Spin-down the drive upon the device removable.
Uninstall
Deletes the registry, disables the auto startup and then closes the program. You can then remove the program file.
Usage
Pops up a dialog showing the usage along with listing devices removable from the command line mode therefore only devices that have drive letter assigned. Invalid command line switch will also result popping up the usage dialog.
Homepage
Opens this homepage.
About
Displays version information.
Exit
Closes the program.
Remove a device for hot-swapping
HotSwap! C:
HotSwap! C:\MountPoint
HotSwap! \Device\00000080
HotSwap! \Device\Ide\IdeDeviceP1T0L0-1
Suppress message popup
HotSwap! C: -Q
Scan for hardware changes
HotSwap! -S
Wildcard characters for PDO
HotSwap! \Device\Ide\IdeDeviceP1T0L0-?
HotSwap! \Device\Ide\IdeDeviceP1*
HotSwap! \*\Ide\*P1T0L0*
HotSwap! *P1T0L0??
ERRORLEVEL 0
The requested operation completed successfully.
ERRORLEVEL 1
The requested operation failed.
ERRORLEVEL 2
The command line switch was invalid.
ERRORLEVEL 3
The device was not found.
ERRORLEVEL 4
The requested operation was not supported.
ERRORLEVEL 5
The requested operation failed unexpectedly.
What's the advantage of SATA/eSATA drives over USB/IEEE1394 drives?
The performance is much better than when converting to USB or IEEE1394. Generally speaking, USB maxes out at around 35MB/sec and IEEE1394(S400) maxes out at around 40MB/sec, whereas SATA/eSATA can go higher as much as 150MB/sec or 300MB/sec. Also the "Turn off hard disks" setting in the Power Schemes is applicable to SATA/eSATA drives.
What's the problem hot-swapping the drives without first removing them?
Windows doesn't expect the drive to be removed therefore the volume and the files may get corrupted if the drive is removed inappropriately. The followings are the typical system events indicationing the problem.
"{Delayed Write Failed} Windows was unable to save all the data for the file . The data has been lost. This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere."
"The system failed to flush data to the transaction log. Corruption may occur."
"The device disappeared from the system without first being prepared for removal."
Why "The device 'X' cannot be stopped because a program is still accessing it." warning pops up?
This represents that HotSwap! failed to lock the volumes for exclusive access therefore the device cannot be removed because someone else is still accessing to the volumes. Try closing folders and files on the volume, then try again.
Why "The device 'X' cannot be uninstalled right now because the device requested a system restart." error pops up?
Although HotSwap! ensures that the volumes are not in use before attempting to remove the device, however, Windows will deny removing the device if there is any reference remains on the device. This is often caused by the file system filter driver not handling the detach request appropriately but it is also caused by the file system itself. If this problem persists, you have to restart the system. If you have anti-virus software installed on your system, you may try uninstalling it to see if it fixes the problem.
Why Windows locks up for seconds after the drive is plugged in?
Windows locks up (for 7 to 10 sec with 3.5" hard disk drives and 3 sec with 2.5" hard disk drives) while the disk spins up and the drive being recognized after the drive is powered on. It is unconfirmed, however, looks like the driver is holding the system while it is recognizing the drive.
Why Windows gets hard hang after the drive is powered on?
It is confirmed to happen when the hard drives are sharing the same power cable in which case if Windows is installed on one of the hard drives sharing the power cable, the hard drive becomes unstable and Windows stops working. This can be fixed by connecting the hard drives to individual power cables.
Why the drive doesn't spin-down after the drive is removed?
HotSwap! sends ATA standby command to the device through ATA pass through I/O request. However, there are requirements to get ATA pass through I/O request to work.
ATA pass through I/O request is available in Windows XP Service Pack 2, Windows XP x64 Edition, Windows Server 2003 and later.
ATA pass through I/O request is available only for IDE miniport driver like Windows inbox ATA/ATAPI drivers atapi.sys and msahci.sys but not SCSI miniport driver used by the most 3rd party storage driver.
The drive has to support ATA standby command.
Does HotSwap! support Windows 2000?
Windows 2000 is no longer supported as of Version 3.0.0.0. Please use Version 2.0.0.0.
Why Windows Defender blocks to autostart and UAC requests for permission to run?
You can workaround it by disabling the autostart and then register to Task Scheduler. Ensure to make the program to start when user logs on and to run with the highest privileges. Please also check the setting to see if the task isn't set to stop after 3 days. This workaround may stop working in the future because Microsoft doesn't recommend using Task Scheduler to launch an application with the highest privileges.
Why the drive doesn't appear in HotSwap! while Explorer can see the volumes on the drive? (11/11/2009 Updated!)
This is often caused by the drive being recognized as unknown class device rather than disk class device and CD/DVD class device. Once the drive is recognized as an unknown class device, it persists across the system reboot. You can fix this problem by uninstalling "Disk Drive" from Device Manager and then performs "Scan for hardware changes".
Why not only eSATA drive but also internal drive appear in the drive listing menu? (11/11/2009 Updated!)
HotSwap! cannot distinguish the drive whether internal or external from the information available from Windows. If you don't want the drive to appear in the drive listing menu, you can do so by marking the drive as non-hotswap device.
Version 5.0.0.0 (11/11/2009)
New feature to support Windows 7.
New feature to support Chinese. (Thanks to Justin Tsai for Chinese translation)
New feature to support Italian. (Thanks to Luca Longone for Italian translation)
New feature to support Spanish. (Thanks to Esteban Fernández for Spanish translation)
New feature to support ERRORLEVEL in the command line mode.
New feature to support wildcard characters (*) and (?) for Physical Device Object (PDO) name in command line mode.
Corrected typo in translated messages.
Changed device type and language configuration from popup menu root to sub menu.
Changed language name from localized name to native name.
Changed the development to Windows 7 SDK/DDK.
Changed contact information.
Moved homepage to new domain.
Version 4.5.0.0 (01/10/2009)
New feature to support Windows 7 Beta.
New feature to support German. (Thanks to Tobias Bauer for German translation)
New feature to display Physical Device Object (PDO) name.
New feature to support Physical Device Object (PDO) name in command line mode.
Changed spin-down feature selectable.
Changed menu to pop up even if no drive to select.
Corrected some messages.
Fixed problem that the registry key is created at startup.
Fixed problem that the autostart path isn't enclosed with double quotes.
Changed command line mode to honor the settings in the configuration menu.
Version 4.1.1.0 (02/09/2008)
Fixed problem that the icon doesn't appear in the notification area after Explorer crashed and restarted on Windows Vista.
Version 4.1.0.1 (01/04/2008)
Fixed problem that the icon sometime doesn't appear in the notification area when started from Task Scheduler.
Version 4.1.0.0 (12/08/2007)
New feature to configure autostart. (workaround for Windows Defender and UAC)
New feature to support a path (e.g. mount point) in command line mode.
Fixed problem that balloon sometime doesn't pop up on Windows Vista.
Version 4.0.0.0 (09/17/2007)
New feature to spin-down the drive after the drive is removed.
New feature to support French. (Thanks to Alexandre Lautel for French translation)
New feature to display the icon in the balloon popup. (small icon on XP SP2 and 2003/XP64 SP1, large icon on Vista)
Changed the language menu to display the check mark.
Version 3.0.0.1 (06/17/2007)
Fixed problem that dialog pops up saying "Entry Point Not Found" when starts up on Windows 2000.
Fixed problem that command line doesn't allow extra spaces.
Changed the development to Windows Vista SDK/DDK.
Version 3.0.0.0 (10/23/2006)
Fixed problem that removable disk drives are identified as fixed disk drives on Windows Vista.
Fixed problem that safely removable device is not identified correctly on Windows Vista.
Due to the changes to fix problems above, Windows 2000 is no longer supported.
New feature to display the first found mount point if no drive letter is assigned to the volume.
Changed command line switch specifier from slash (/) to dash (-).
Revised usage dialog.
Version 2.0.0.0 (03/25/2006)
New feature to support Windows Vista and User Account Protection (UAP).
Include 64-bit version.
New feature to display the volume lavel as well as the drive letter.
Upgraded to Visual Studio 2005.
Version 1.1.0.2 (04/08/2005)
"Select non-hotswap device" menu no longer pops up when no drive to select.
Version 1.1.0.1 (01/06/2005)
New feature to select non-hot swap drives.
Version 1.0.0.0 (12/31/2004)
Official release.
Version 0.9.3.0 Beta3 (12/20/2004) - 0.9.3.2 Beta3.2 (12/23/2004)
Improved debugging information.
Version 0.9.2.0 Beta2 (11/20/2004) - 0.9.2.1 Beta2.1 (11/28/2004)
Limited release.
Drive enumeration is changed from drive letter basis to volume basis.
Improved drive enumeration speed.
Version 0.9.1.0 Beta1 (11/04/2004) - 0.9.1.3 Beta1.3 (11/21/2004)
New feature to command line mode.
Version 0.4.0.0 Alpha4 (10/29/2004)
Improved command line mode.
Version 0.3.0.0 Alpha3 (10/15/2004)
English and Japanese bilingual user interface.
Version 0.2.0.0 Alpha2 (10/11/2004)
Icon in the notification area.
Version 0.1.0.0 Alpha1 (10/09/2004)
Command line mode only.
Dismount (10/01/2004)
Simple drive unmount tool.
Test (09/30/2004)
Evaluation started.
Suggestion, question or comment? Please send a mail at kazuyuki.nakayama+HotSwap@gmail.com. Thanks!
The author is no responsible for any damage or loss caused by this software.