$ extendが原因で外部USBドライブを安全に取り外すことができません


26

外付けUSB 3.0ハードドライブをUSB 3.0ポートに接続するとき、安全に取り外すことはできません。

どういうわけか、ウィンドウは常にジャーナルファイルを開いたままにします。 今回はここに画像の説明を入力してください 「常に」ドライブを接続し、10GB VMをコピーし、その後それを切断したかったのです(コピーの15分後、すべてのコピーが完了しました)。

ご覧のとおり、ディスク以外にSystem以外のハンドルを保持するプログラムはありません。Uwe Sieberexplorer.exeと同様に再起動してみました。運が悪い、ハードドライブのロックは常に残ります。RemoveDrive.exe

私の唯一の解決策は、プラグを抜くか(データを損傷するのが怖いのか?)、またはコンピューターを再起動することです(常に役立ちますよね?)。

SSDハードドライブしかなく、外部ディスクが通常のドライブであることに関係があるのでしょうか。USB 3.0ドライバ(NEC Electronics USB Hub)と関係があるのでしょうか?通常のUSB 2.0ポートを使用する場合、この問題は発生しません。

ディスクを適切にアンマウントする方法についてのアイデアはありますか?


これらの回答のいずれかが解決策である場合、自由に投票するか、回答としてマークしてください。
user88311

回答:


25

MFT / TxF / NTFSメタデータのこの「ロック」をクリアするための可能な説明または簡単な方法(自動化/スクリプト化された方法)を探しに来ました。私は無数の状況で私のために働いた解決策を持っているので、私はそこにこれを投げると思いました。私はこれを使用して、このようにスタックするあらゆる種類のUSBおよびeSATAドライブを削除しました。この問題は、主に eSATAドックやUSBエンクロージャーなどの固定ドライブとしてマウントされるリムーバブルドライブにあるようです。USBサムドライブは通常、この問題を私には見せないようです。

この最後の区別に関する注意事項:Sankey Extreme USB 3.0は、USBキーの本体にSSDコントローラーを備えた奇妙な獣であり、固定ドライブとして表示されますが、不意に引っ張られても問題なく引き出されるようです安全な削除が行われているので、その速度と潜在的に何かのために少なくとも書き込みキャッシュをオフにしていると推測しています。この問題はないようで、常にその即時の取り外し可能性を保持しています。必ずしも完璧な例ではありません。テストを徹底的に行ったわけではありません(これは単なる逸話です)が、「固定」された性質でありながら、この問題の影響を受けにくいため、これに少し光を当てるかもしれません。思考の糧。

<- ソリューション ->

とにかく、簡単に言えば、ドライブをオフラインにする必要があります。これは、2つの方法のいずれかで実行できます。注:これを行うには少し短い方法がありますが、聴衆がわからないので、ここではとんでもないほど徹底的な手順を示します。GUI方式は、diskpart.exeがスイッチやインラインコマンド/引数を受け取らないため、断然最速です。

  1. GUI:実行-> "diskmgmt.msc"->物理ディスクリストでドライブを検索(下部ペイン)->パーティションではなく、ドライブ(左端)を右クリック->「オフライン」をクリック

または:

  1. CLI:実行-> "cmd.exe"-> "diskpart"と入力-> "list disk"と入力し、ディスク番号を検索#-> "select disk x"と入力します。xは最後のステップのディスク番号です->入力「オフラインディスク」。これで、コマンドプロンプトを終了するか、diskpartで「exit」と入力して、プロンプトを閉じます。

ノート:

  • 重要なのは、ボリュームをオフラインにすることです。これにより、ドライブ上のNTFSの保持が削除されますが、ディスクのオフライン化はより簡単で徹底的です。

  • あなたが好奇心/心配/用心深い場合に備えて、同じ場所から情報を引き出しているので、ディスク番号はdiskpart.exeとdiskmgmt.mscの間で常に同一です。


1
ルーク、これは素晴らしいですね。試してみるのを待つことができません。はい、これは常に固定ドライブで発生します-通常、VMをホストする外部ドライブ。質問が1つ残っています。外部ドライブをオフラインに設定したらどうなるでしょうか。抜くだけ?安全に削除しますか?
デニスG

これは私のために働いた。
ハッテン14

これは便利に見えます、ありがとう。@elieuxによる答えは、単にタスクマネージャーが問題を引き起こしている場合に最も簡単です。
登録編集

いくつかの古い質問を再訪し、私があなたが指摘したUwe Sieber removedrive.exeへのリンクをチェックアウトし、同じメカニズムで動作すると感じています(オフラインとマウント解除は実用的な意味でかなり近いです、前者物理ドライブ(iSCSIボリュームのようにエミュレートされているかどうか)と、マウントされたパーティション/ボリューム(C:、X:など)に使用されている後者。 「-e」オプションを使用しました。removedrive.exeの指示に従って: "" [-e]削除が失敗した場合、マウントを解除してイジェクトしよう ""
ルーク

ウーヴェ・シーバー自身がコード/ APIとエラーレベルでのプレーでのメカニズムの基盤を説明するように最後に、それが見えます:codeproject.com/Articles/13839/...
ルーク

10

今日、私はイベントログを確認するようになりました。削除を試みた直後にこれを見つけました:

ログ:システム、ソース:Kernel-PnP、イベントID:225、レベル:警告

プロセスID 6436のアプリケーション\ Device \ HarddiskVolume2 \ Windows \ System32 \ Taskmgr.exeは、デバイスの削除または取り出しを停止しました[...]

だから私はタスクマネージャーを閉じ、安全な削除が機能しました。


優れた!これで問題は解決しました。なぜマイクロソフトは、「プログラム」がまだドライブを使用しているというダイアログにその情報を入れられなかったのでしょうか!
登録編集

素晴らしい、これは私にとっても問題を解決しました。Windows 10. AutostartにTaskmgrがあることがわかりました。では、なぜTaskmgrはUSBドライブをロックするのですか?
weberjn

オフライン(@rookの答えを参照)とfsutilのようなものは過去に私にとっては機能していましたが、今日は機能しませんでした。ProcessExplorerは、ロックを行う「システム」のみだと考えました。いずれにせよ、EventViewerはあなた(TaskManager)と同じ犯人を示したので、私はそれを閉じて、金色になりました。
mpag

5

ボリュームを「ロック解除」するために、このバッチスクリプトを作成しました。管理者として.batスクリプトを実行し、ボリュームを選択してEnterキーを押すだけです。その後、通常どおり「安全な取り外し」を使用してユニットを取り外すことができます。

@echo off
@cls

set tempfile="%TEMP%\diskscrp.dsk"

echo.
echo   === Disk removal tool ===
echo.
echo   Select the disk volume number
echo   (if the disk has multiple volumes, select any of them)
echo.
echo list volume | diskpart | findstr /C:Volume /C:---
echo.
set /p volume="   Selected volume: "
echo.

echo select volume %volume% >>%tempfile%
echo offline disk >>%tempfile%
echo online disk >>%tempfile%

diskpart /s %tempfile% | findstr /C:"not valid"

if "%ERRORLEVEL%"=="1" (
  echo   Disk has been unlocked successfully.  Try to safely remove it now.
)

del /F %tempfile%

このスクリプトは@Rookの提案に基づいdiskpartているため、ディスクをオフラインにするために使用します。これが完了すると、すべてのハンドルが強制的に閉じられます。このスクリプトの違いは、自動的にディスクをオンラインに戻すため、次回システムに接続したときに認識できることです。


甘い!それを使用するが、私は皆のために簡単にそれを作るには、あなたのイニシアチブを感謝していない...私はより多くの情報を与えるいくつかの他のユーティリティ(すなわちホットスワップ!:得ているmt-naka.com/hotswap/index_enu.htm)についての組み込みのWindows 1よりもリムーバブル/固定ドライブですが、迅速で汚れたオフラインベースのソリューションが見つかりませんでした。これは素晴らしいことです。
ルーク

3

大部分の外部ドライブ/ Windows OSコンボにこの問題があります。

私がしているのは、ボックス(ラップトップ)をスリープ状態にして、外部ドライブの電源が切れるまで10秒待つことです(聞こえます)。その後、プラグを抜きます。

システムがスリープ状態の場合、すべてのI / O操作が完了し、I / Oバスが静止します。ドライブの電源が切れるのを待つのは、その上にある「ベルトとサスペンダー」です。

(そのアプローチに対して妄想が強すぎる場合は、休止状態にするだけで十分です。完全な電源オフは必要ありません。)


回避策ですが、それは機能するはずです。
デニスG

1

今のところ、コンピューターをシャットダウンしてからプラグを抜くことで外部の切断を試みることができます。そのため、データの損失を試みてから、アンマウントせずに単にプラグを抜くときにデータの損失を防ぐために簡単に削除できるようにセットアップします。

正直に言うと、MBRエラーのように聞こえます。ドライブは常にプラグインされているように見えます。 MBRを使用するか、MBR修復などのソフトウェアを使用してドライブに再度アクセスするか、gpartedなどのソフトウェアを使用してディスクを再度フォーマットし、エラーが発生した可能性が高い新しいパーティションテーブルを設定します。


「その後、簡単に削除できるように設定する」 <-意味を詳しく説明していただけますか?ドライブが常に接続されている、つまり外部USBドライブではないことをドライブが認識していることをどのように知ることができますか
デニスG

電源を切った状態でドライブを取り外し、コンピューターを再起動したら、ドライブを再び接続します。プロパティ、ハードウェア、ドライブをクリックし、プロパティ、ポリシーを選択して、すばやく取り外します。編集:あなたの質問では、それは実際には外部USBドライブであると述べています。
-user88311

ほとんどの場合、システムは「クイック削除」フラグが設定された外部ドライブをインストールします。そして、私が思うに、この設定は、単にドライブを抜くだけで問題が発生する可能性が「非常に低い」ことになっています。
ダニエルRヒックス

1

これらのファイルはTransactional NTFS(TxF)に属していると思います。

Transactional NTFSは自動更新で使用されると聞きましたが、システムがこれを外部ディスクに配置し、安全な取り外し要求時に停止できない理由はわかりません。Fsutilリソース情報にはアクティビティは表示されません。

cmdコンソールで試してください:

fsutilリソース停止E:

または、それが役に立たない場合、

fsutilリソースsetautoreset true

そして再起動します。コンピューターの管理/サービスでTxF関連のサービスを停止することもできます


これはかなり興味深いものです!私はそれが次に起こるときにそれを調べます。
デニスG

2
しかし...は機能しません。fsutil resource stop <drive:>sysinternalsを実行するとhandle.exe、ハンドルが表示されません。したがって、それらは削除されますが、その後安全に削除しようとすると、ハンドルは元の場所に戻ります。
デニスG

0

最近、フラッシュドライブでも同じことが起こりました。あなたのように、アクティブな$ Extendハンドルを表示し続け、それらがドライブを安全に取り外すことを妨げていると仮定しました。私はこの質問に出くわし、Semのfsutil提案を効果的に試みました。私にとってうまくいったのは、ドライブを手動でアンマウントすることでした。フラッシュドライブがF:としてマウントされたため、次を実行しました。

mountvol f: /d

その後、ドライブを取り外し、再び接続しmountvol f: <volumename>、使用して再マウントし、しばらく使用しました。終了したら、アクティブハンドルをチェックし、以前気付いたのと同じ$ Extendエントリを確認しました。しかし、「通常の」安全な削除を試みたとき、アクティブなハンドルにもかかわらず成功しました。

これが私にとってうまくいったかどうかはわかりませんが、他の人に役立つ場合に備えてここに追加します。


$ extendのものは赤いニシンだと思います。Windowsがドライブをマウント解除できない理由は他にもあります。
ダニエルRヒックス

この答えを投稿した最大の理由はその実現であることに同意しました。私は無制限に$ extendの問題を追いかけていましたが、それらのハンドルは安全な取り外しで問題を引き起こさないことを発見しました。その赤いニシンがこの質問に私を導いたので、おそらくこの答えが次の不運な漁師に役立つことを願っています:)。
ajk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.