HotSwap!
Copyright (c) 2004-2019 中山 和之 (Kazuyuki Nakayama). All Rights Reserved.
2004/11/18 からの訪問者 :
最終更新日 2019/01/07
最新バージョン 6.3.0.0 (2019/01/07 更新!)
このソフトウェアはSilicon Image社のKnowledge Base Article #10744 - SATA: Hot Plugging Drives under Win2000/XP (Internet Archive)の情報を元に開発されました、
このソフトウェアはデバイスマネージャからデバイスを削除するのと同じ事を行いますが、通知領域の「ハードウェアの安全な取り外し」アイコンで取り外し可能なデバイスを取り外すのと同等に使いやすいユーザーインターフェースを提供します。また、このソフトウェアはデータをディスクに書き出してからデバイスをホットスワップできるようにする事で、SATA/eSATAドライブをUSB/IEEE1394ドライブと全く同等のリムーバブルドライブとして使用できるようになります。
Windowsの「ハードウェアの安全な取り外し」アイコンと同等なユーザーインターフェース。
ドライブに割り当てられている全てのボリュームが使用中でないか確認してから削除実行。
ドライブを安全に取り外しが行えるように、ドライブの回転を停止。
固定ディスクドライブ以外のドライブにも対応。
コマンドラインに対応し、GUIなしでも実行可能。
マルチリンガル・ユーザーインターフェース。
Windows Vista / 7 / Server 2008 / 8 / 10 (32ビット / 64ビット)
Silicon Image製 SATA-PATA (Parallel ATA)ブリッジコントローラ (SiI3611)
各社 SATAホストコントローラ (BIOS上でAHCIモード選択) (Intel製 コントローラー・ハブ (ICH)、JMicron JMB363等)
Silicon Image社製コントローラの場合は、ドライバがデバイスの取り外し時にドライブの回転を停止するようです。
当方では以下のような組み合わせで動作を確認しています。
SIIG製 SATAホストアダプタ
Serial ATA PCI : SC-SAT212
SIIG製 SATAホストアダプタ
Serial ATA 4-Channel PCI : SC-SA4011
BELKIN製 SATAホストアダプタ
SATA II RAID 2-Port PCI Express Card : F5U251 (非RAID BIOSに書き換え必要)
ViPowER製
IDE to SATA SwapRACK : VP-1001LSF
ダウンロードしたファイルを解凍し、HotSwap!.EXE を実行すると、通知領域にアイコンが表示されます。 その後はログインの時に自動的に起動します。
アイコンを左クリックするとドライブ一覧メニューが表示されます。
ドライブを取り出す場合は、メニューからドライブを選択してください。バルーンにデバイスを安全にホットスワップできると表示されましたらドライブの電源を切り、取り外しを行ってください。なお、表示はされるが選択できないドライブはホットスワップ不可指定されているか、もしくは、Windowsが使用中なために削除を行えません。
また、Ctrlキーを押しながらアイコンを左クリックするとホットスワップ不可デバイスの選択メニューが表示されます。ここで選択されたドライブはドライブ一覧メニューに表示されなくなります。
アイコンを右クリックすると設定メニューが表示されます。
ハードウェア変更のスキャン
デバイスマネージャでの「ハードウェア変更のスキャン」と同じ動作を行います。この操作は新しいドライブが自動認識されない場合に使用されます。
[デバイスの種類]
固定ディスクドライブ
リムーバブルディスクドライブ
BD/DVD/CD-ROM ドライブ
安全に取り外しが可能なハードウェア
ホットスワップが不可能なハードウェア
標準では固定ディスクドライブのみドライブ一覧メニューに表示されます。設定する事により、他の種類のデバイスも表示されるようにします。また、「ハードウェアの安全な取り外し」アイコンで取り外すことが可能なドライブも表示可能です。さらに、ホットスワップできないドライブも表示可能ですが、取り外しの選択は出来ません。
[言語 (Language)]
中国語 - 簡体字
中国語 - 繁体字
チェコ語
オランダ語
英語
フランス語
ドイツ語
ギリシャ語
ヘブライ語 (2019/01/07 更新!)
ハンガリー語
イタリア語
日本語
韓国語
ポーランド語 (2019/01/07 更新!)
ポルトガル語
ロシア語
スペイン語
スウェーデン語
使用する言語を選択します。
自動起動
ログオン時に自動起動を設定します。
PDO表示
通常のデバイス名の代わりにデバイスに固有に割り当てられている物理デバイスオブジェクト(PDO)名を表示します。
回転停止
ドライブの削除時にドライブの回転を停止させます。
オフライン
ドライブを削除する前にドライブをオフラインにします。
アンインストール
レジストリを削除し、自動起動を解除した後、終了します。終了後に実行ファイルを削除してください。
使用法
使用法とドライブレターが割り当てられていて、コマンドラインから取り外しを行えるドライブの一覧を表示します。また、コマンドラインに不正なスイッチを指定したときも同じ表示を行います。
ホームページ
このホームページを表示します。
バージョン情報
バージョン情報を表示します。
終了
終了します。
デバイスを取り外してホットスワップ
HotSwap! C:
HotSwap! C:\MountPoint
HotSwap! \Device\00000080
HotSwap! \Device\Ide\IdeDeviceP1T0L0-1
HotSwap! DISK=7
HotSwap! \\?\Volume{d2361e8a-2978-10dc-9c18-816e6f6a6963}\
メッセージの表示を抑制
HotSwap! C: -Q
ハードウェア変更のスキャン
HotSwap! -S
PDOにワイルドカード
HotSwap! \Device\Ide\IdeDeviceP1T0L0-?
HotSwap! \Device\Ide\IdeDeviceP1*
HotSwap! \*\Ide\*P1T0L0*
HotSwap! *P1T0L0??
ERRORLEVEL 0
要求された操作は正常に完了しました。
ERRORLEVEL 1
要求された操作は失敗しました。
ERRORLEVEL 2
コマンドラインスイッチが不正です。
ERRORLEVEL 3
デバイスは見つかりませんでした。
ERRORLEVEL 4
要求された操作はサポートされていません。
ERRORLEVEL 5
要求された操作は想定外の失敗をしました。
USB/IEEE1394接続と比べてSATA/eSATA接続の利点は?
USBやIEEE1394に変換する事に比べると性能ははるかに良好です。一般的に、USB接続の場合で35MB/秒程度、IEEE1394(S400)接続でも40MB/秒程度で転送速度が頭打ちになりますが、SATA/eSATA接続ならば150MB/秒や300MB/秒まで対応しています。また、Windowsの電源設定の「ハードディスクの電源を切る」の設定も機能します。
デバイスの削除を行なわなくてもホットスワップできますが、なにか問題でもありますか?
Windowsはドライブが取り外される事を想定していないので、ドライブを強引に取り外すとボリュームやファイルが破壊される可能性があり危険です。そのような問題がある場合、次のようなシステムイベントを見ることが多いようです。
"{遅延書き込みデータの紛失} ファイル のためのデータを一部保存できませんでした。データを損失しました。 このエラーは、コンピュータのハードウェアまたはネットワーク接続の障害によって発生した可能性があります。このファイルをどこか別の所に保存してください。"
"データをトランザクション ログにフラッシュできませんでした。障害が発生する可能性があります。"
"デバイスは、最初に取り外しの準備が行われずにシステムから消滅しました。"
「プログラムがデバイス 'X' にまだアクセスしているため、デバイスを停止できません」と警告が出ましたが?
この警告はHotSwap!がボリュームに対して排他的にアクセスが出来なかった場合、つまり何かがボリュームにアクセス中だったためにデバイスを取り外せない時に出ます。該当ボリューム上のフォルダやファイルを全て閉じてからもう一度試してみてください。
なお、Version 6.0.0.0からはボリュームをオフラインにしてから取り外しを行いますので、取り外しがより成功するようになりました。
稀に「'X' デバイスがシステムの再起動を要求したため、デバイスを今削除できません」とエラーが出ますが?
HotSwap!はデバイスの取り外し要求を出す前にボリュームが使用中でないか確認しますが、もしデバイスに対する参照が行われている時はWindowsが削除要求に対して拒否を行います。ファイルシステムのフィルタードライバが取り外し要求にきちんと対応していない時などにこの問題が発生しますが、ファイルシステムそのものに問題があることもあります。もしこの問題が続くようでしたら再起動を行う必要があります。またウィルス監視ソフト等がインストールされている場合は、一旦それを削除してから問題が改善されるか試してみる事も出来るでしょう。
なお、Version 6.0.0.0からはボリュームをオフラインにしてから取り外しを行いますので、取り外しがより成功するようになりました。
ドライブを接続したときにWindowsが数秒反応しなくなりますが?
ドライブの電源が投入されてからディスクがスピンアップし、ドライブが認識されるまでの間(3.5インチの固定ディスクドライブで7秒~10秒、2.5インチの固定ディスクドライブで3秒ほど)、Windowsが全く反応しなくなります。詳細は未確認ですが、恐らくドライバがドライブを認識するまでの間、処理を占有してしまうためだと思われます。
ドライブの電源を投入した後、Windowsが完全に反応しなくなりますが?
Windowsをインストールしている固定ディスクドライブが他のドライブと電源ケーブルを共有しているときにこの問題が起きる事を確認しています。その場合、固定ディスクドライブが不安定になりWindowsの動作が停止するようです。この場合は、ドライブを別の電源ケーブルに接続することで回避できます。
ドライブを削除してもドライブの回転が停止しませんが?
HotSwap!はATAパススルーを使ってデバイスにATAスタンバイコマンドを送信します。このATAパススルーが動作するためには次のような条件があります。
ATAパススルーは、Windows XP Service Pack 2、Windows XP x64 Edition、Windows Server 2003、もしくはそれ以上で使用できます。
ATAパススルーは、Windows標準のATA/ATAPIドライバのatapi.sysやmsahci.sysのようなIDEミニポートドライバでのみ使用可能で、一般的に使われているSCSIミニポートドライバでは使用できません。
ドライブはATAスタンバイコマンドに対応している必要があります。
Windows 2000に対応していませんか?
Version 3.0.0.0からWindows 2000は未対応になりました。引き続きVersion 2.0.0.0をご使用ください。
Windows XPとServer 2003に対応していませんか?
Version 6.0.0.0からWindows XPとServer 2003は未対応になりました。引き続きVersion 5.0.0.0をご使用ください。
Windows Defenderが自動起動を妨害し、UACが実行許可を求めますが?
Version 6.0.0.0から自動起動にタスクスケジューラーを使うように変更されました。Version 6.0.0.0以上をご使用ください。
エクスプローラーでボリュームが見えているにも関わらず、そのドライブはHotSwap!に表示されないのですが?
この問題はデバイスがディスククラスデバイスでもCD/DVDクラスデバイスなく、不明なデバイスと認識されたときに発生する事が確認されています。一度、不明なデバイスと認識されると再起動後もそのままです。この場合、デバイスマネージャから”ディスク ドライブ”をアンインストールし、「ハードウェア変更のスキャン」を実行する事で修正可能です。
eSATAドライブだけじゃなく、内蔵のドライブもドライブ一覧メニューに表示されるのはどうしてですか?
HotSwap!はWindowsから得られる情報では内蔵なのか外付けなのか知る術がありません。もし、ドライブをドライブ一覧メニューに表示されないようにしたい場合は、そのドライブをホットスワップ不可デバイスとして登録する事で可能です。
Windows 8で取り外したディスクを取り付けるとWindowsが「スキャンして修復しますか?」と聞いてくるのはどうしてですか?
Windows 8はボリュームのダーティビットをクリアしないでオフラインにするようです。設定メニューからオフラインを無効にしてください。
特定の環境下 (Windows PE上でWinXShellを使用) で、デバイスの取り外しを行ってもバルーン「安全にホットスワップ」が表示されないのですが? (2019/01/07 更新!)
次のレジストリを設定することで、バルーンの代わりにダイアログで「安全にホットスワップ」の表示を行い、問題を回避することが可能です。
[HKEY_LOCAL_MACHINE\SOFTWARE\HotSwap!]Version 6.3.0.0 (2019/01/07)
デバイスの取り外しの時にバルーン「安全にホットスワップ」が表示されない問題を回避する機能を追加
ヘブライ語を追加
ポーランド語を追加
Version 6.2.0.0 (2017/02/13)
Windows 10に対応
ボリュームをオフラインにするかどうか設定できるように変更
チェコ語を追加
ギリシャ語を追加
開発環境をWindows 10 SDK/WDKに移行
Version 6.1.0.0 (2012/06/22)
コマンドラインからボリュームGUIDパス(\\?\Volume{GUID}\)も指定できる機能を追加
ドイツ語版Windowsにて自動起動が有効にならない問題を修正
バルーンに間違ったアイコンが表示される問題を修正
韓国語を追加
スウェーデン語を追加
Version 6.0.0.0 (2012/03/09)
Windows 8 Consumer Previewに対応
Windows XPとServer 2003をサポート対象外へ
オランダ語を追加
ハンガリー語を追加
ポルトガル語を追加
ロシア語を追加
自動起動にタスクスケジューラーを使用するように変更
ボリュームをオフラインにしてから取り外しを行うように変更
コマンドラインからディスク番号(DISK=#)も指定できる機能を追加
翻訳メッセージを一部修正
Version 5.0.0.0 (2009/11/11)
Windows 7に対応
中国語を追加
イタリア語を追加
スペイン語を追加
コマンドラインモードにERRORLEVELを追加
コマンドラインから物理デバイスオブジェクト(PDO)名にワイルドカード (*) と (?) を指定できる機能を追加
翻訳メッセージを一部修正
デバイスの種類と言語の設定をサブメニューへ移動
言語名を翻訳名から自国語名へ変更
開発環境をWindows 7 SDK/DDKに移行
連絡先を変更
ホームページを新しいドメインへ移動
Version 4.5.0.0 (2009/01/10)
Windows 7 Betaに対応
ドイツ語を追加
物理デバイスオブジェクト(PDO)名の表示を追加
コマンドラインから物理デバイスオブジェクト(PDO)名も指定できる機能を追加
ドライブの回転を停止させる機能を選択可能に変更
選択できるドライブがない場合でもメニューを表示するように変更
メッセージを一部訂正
起動時にはレジストリキーを作成しないように修正
自動起動のパスをダブルクォーテーションで囲むように修正
コマンドラインモードでも設定メニューの設定内容を有効にするように変更
Version 4.1.1.0 (2008/02/09)
Windows Vistaでエクスプローラーが強制終了し再起動したときに通知領域にアイコンが表示されない問題を修正
Version 4.1.0.1 (2008/01/04)
タスクスケジューラーから起動すると通知領域にアイコンが表示されないことがある問題を修正
Version 4.1.0.0 (2007/12/08)
自動起動を選択できる機能を追加(Windows DefenderとUACを回避)
コマンドラインからパス(マウントポイント等)も指定できる機能を追加
Windows Vistaでバルーンが表示されないことがある問題を修正
Version 4.0.0.0 (2007/09/17)
ドライブの削除後にドライブの回転を停止させる機能を追加
フランス語を追加
バルーン表示にアイコンを追加 (XP SP2と2003/XP64 SP1は小アイコン、Vistaは大アイコン)
言語選択メニューをチェックマーク表示に変更
Version 3.0.0.1 (2007/06/17)
Windows 2000で起動時にエントリポイントが見つからないというメッセージが表示されるのを修正
コマンドラインが余計なスペースを許さないのを修正
開発環境をWindows Vista SDK/DDKに移行
Version 3.0.0.0 (2006/10/23)
Windows Vistaでリムーバブルディスクドライブが固定ディスクドライブとして認識されてしまう問題を修正
Windows Vistaで安全に取り外しが可能なハードウェアを認識できない問題を修正
上記の問題に対応したためWindows 2000をサポート対象外へ
ドライブレターが設定されていない場合は最初に見つかったマウントポイントを表示するように変更
コマンドラインスイッチをスラッシュ(/)からハイフン(-)に変更
使用法のダイアログを更新
Version 2.0.0.0 (2006/03/25)
Windows VistaとUser Account Protection (UAP)に対応
64ビット版を追加
ドライブレターだけでなくボリューム名も表示されるように変更
開発環境をVisual Studio 2005に移行
Version 1.1.0.2 (2005/04/08)
選択できるドライブがない場合、ホットスワップ不可デバイスの選択メニューが表示されないように変更
Version 1.1.0.1 (2005/01/06)
ホットスワップ出来ないドライブを選択する機能を追加
Version 1.0.0.0 (2004/12/31)
正式公開
Version 0.9.3.0 Beta3 (2004/12/20) - 0.9.3.2 Beta3.2 (2004/12/23)
デバッグ版に機能追加
Version 0.9.2.0 Beta2 (2004/11/20) - 0.9.2.1 Beta2.1 (2004/11/28)
限定公開
ドライブの使用確認をドライブレター単位からボリューム単位に変更
ドライブの列挙方法を最適化
Version 0.9.1.0 Beta1 (2004/11/04) - 0.9.1.3 Beta1.3 (2004/11/21)
コマンドラインモードに機能追加
Version 0.4.0.0 Alpha4 (2004/10/29)
コマンドラインモードを若干変更
Version 0.3.0.0 Alpha3 (2004/10/15)
日本語と英語のバイリンガル化
Version 0.2.0.0 Alpha2 (2004/10/11)
通知領域へのアイコン登録
Version 0.1.0.0 Alpha1 (2004/10/09)
コマンドラインモード専用
Dismount (2004/10/01)
簡易ドライブアンマウントツール
Test (2004/09/30)
評価テスト開始
本ソフトウェア”HotSwap!”(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。
ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。
ご意見、ご質問、ご感想等ありましたら kazuyuki.nakayama+HotSwap@gmail.com までメール下さい。