Windowsでハードドライブをマウントおよびアンマウントする方法(UNIXの方法)


36

職場のコンピューターには、めったに使用しない2台のUSBハードドライブがあります。アイドル状態になってから数分後にスリープ状態に移行する省電力モードがあります。

ファイルのコンテキストメニューを開くたびに、ドライブが起動されます(「送信」ハンドラーが原因である可能性が高い)。そのため、ドライブを取り出しますが、プラグを抜いて再接続する以外、元に戻す方法が見つかりません。

ドライブをアンマウントし、実際に必要なときにのみ再マウントする方法はありますか?(Windows 7 Ultimateで。)


それが助けであれば、私はこの質問
アルビン

回答:


38

mountvolまたはを使用してドライブ文字を削除しdiskmgmt.mscます。ドライブ文字がなければ、それらは[コンピューター]または[ 送信]の下に表示されません。

mountvol Q: /p

を使用/pすると、実際にデバイスのマウントが解除されます。古いWindowsバージョンでは/d、ドライブ文字の割り当てを解除するだけで、ボリュームはマウントされたままになります。

によって印刷されたボリュームIDを使用して、必要に応じて再割り当てしますmountvol

mountvol Q: \\?\Volume{1be3da43-6602-11e0-b9e6-f11e1c50f5b5}\

同じツールを使用して、ボリュームを空のフォルダー(Unixスタイル)にマウントすることもできます。

mkdir C:\fs\backup-disk
mountvol C:\fs\backup-disk \\?\Volume{1be3da43-6602-11e0-b9e6-f11e1c50f5b5}\

これらのすべての操作には管理者権限が必要です。


(実際、バックアップスクリプトでボリュームIDを直接使用できる場合もあります。どこにでもマウントする必要はありません。たとえば、の\\?\Volume{1be3da43-6602-11e0-b9e6-f11e1c50f5b5}\projects代わりにQ:\projects。)


6
ところで、そのGUIDはデバイスに関連付けられていますか?デバイスを別のWindowsマシンに接続しても同じになりますか?同じマシンでの再起動間でも静的ですか?
デアホッホシュプラー

2
@OliverSalzburg:ボリュームGUIDはその特定のボリュームに関連付けられており、再起動後も保持されます。(永続的なドライブ文字の割り当てとファイルシステムのマウントが機能するためには、それが必要です。)しかし、残念ながら、それはマシンに対してローカルです。(私が知る限り、WindowsはまだラベルまたはファイルシステムUUIDでボリュームを参照する方法がありません。)
grawity

3
これは本当にUNIXでのアンマウントと同じですか?UNIXボックスでは、ボリュームがマウント解除されたら、コンピューターから安全にリッピングできます。(適切なハードウェアサポートがない場合、SATAバスが動揺する可能性があり、再起動が必要になる可能性がありますが、データを失うことはありません。)\としてディスクにアクセスできる場合\?\ Volume {...}、それはファイルシステムがまだOSで利用可能であることを意味しないので、書き込みキャッシュなどにフラッシュされていないデータがあるかもしれません?
グリフ

3
@DavidBalažic:/Dドライブ文字(またはパス)割り当てのみを削除します。マウント解除とはそのような割り当てをすべて切り離し、ファイルシステム自体を閉じることです。Windowsはデフォルトですべてのファイルシステムを\\?\Volume{…}パスにマウントするため、通常のmountvol使用では追加のファイルシステムのみを追加/削除することに注意してください(mount --bind /x /yLinuxなど)。
荒廃

3
したがって、Windowsでボリュームを完全に「放す」場合は、/ Pを使用する必要がありますか?* nixのumountと同じ効果を得るには?/ Dを使用すると、ボリュームが実際にマウントされたままである間に1つの文字/パスの割り当てが削除されますか?
デビッドバラジック

6

DISKPARTを使用してディスクをオフライン
に設定します。再起動または新しい電源投入後もオフラインのままになります

DISKPARTを使用してオンラインに戻す

これはスクリプトで行うことができます

ディスク2をオフラインにするコマンドファイル:

Offline.cmd

 echo list disk              > c:\windows\temp\namexxxx.none
 echo select disk 2         >> c:\windows\temp\namexxxx.none
 echo offline disk          >> c:\windows\temp\namexxxx.none
 echo exit                  >> c:\windows\temp\namexxxx.none
 diskpart /s c:\windows\temp\namexxxx.none
 erase c:\windows\temp\namexxxx.none
 pause

ディスク2をオンラインにするコマンドファイル:

Online.cmd

 .
 echo select disk 2 ........
 echo online disk ......
 .

管理者として実行


「ディスクのリスト」は不要です。ユーザーにドライブリストを表示するだけです
-trogper

5

正解は、mountPに/ Pパラメータを使用することです(/ Dが十分でない理由を理解するには、受け入れられた回答のコメントを参照してください)が、これは最近のWindowsバージョン(NTカーネルバージョン6以降)にのみ適用されます。

devconで説明したように、ユーティリティ、この答えは、すべてのNTのバージョン間で動作します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.