web-dev-qa-db-ja.com

スクリプト/ソフトウェアによるハードドライブのマウントとマウント解除

windows 8.1でスクリプトまたは簡単なユーティリティソフトウェアを使用して、接続されたハードドライブをマウントおよびマウント解除する方法はありますか?

基本的に、ThinkPadのウルトラベイスロットに(DVDドライブではなく)ハードドライブを搭載しています。システムを起動すると、このハードドライブは自動的にマウントされ、私から見えるようになります。タスクバーのアイコンを使用して、マウントを解除できます。残念ながら、それはシステムを再起動したときにのみ再び利用可能になります。

ドライブをマウント解除し、再起動せずに別のスクリプトで再度マウントするために実行できるコマンドラインスクリプトがあるかどうかを確認したいと思いました。

この方法では、起動後にunmount-scriptを呼び出すことができるため、ドライブが常に実行されているわけではなく、ドライブから何かが必要な場合にのみ、mount-scriptを呼び出してファイルにアクセスできます。

これを解決する方法について誰かが何かアイデアがあれば素晴らしいでしょう!ありがとうございました!

8
florianbaethge

免責事項:あなたはあなた自身の行動に対して責任があります。私AM NOT下記の概要を試して、コンピュータまたはラップトップに発生する可能性のある損傷の責任を負います。

調査の結果、 [〜#〜] this [〜#〜] Windowsコマンド Mountvol を使用してドライブをマウントおよびマウント解除する方法の詳細がわかりました。

チュートリアル

  1. まず、管理者としてコマンドプロンプトを開きます。
  2. コマンドmountvolを実行し、マウント/アンマウントするドライブ文字の上にあるボリューム名をメモします(例:\\?\Volume{########-####-####-####-############}\

  3. ドライブをアンマウントするには、mountvol [DriveLetter] /pと入力します。 "[DriveLetter]"を、アンマウントするドライブに割り当てられた文字に置き換えてください(例:G:

  4. ドライブタイプmountvol [DriveLetter] [VolumeName]をマウントします。 「[DriveLetter]」をドライブをマウントしたい文字に置き換えてください。たとえば、G:、「[VolumeName]」は手順2でメモしたボリューム名に置き換えてください。

バッチスクリプト

これは、選択したドライブをマウントおよびアンマウントするために使用できる2つの単純なバッチスクリプトの例です。

バッチファイルを機能させるには、管理者権限で実行する必要があります。そうしないと、バッチファイルがAccess Deniedエラーを返します。

アンマウント:

@echo off

REM Be sure to change this to the drive you want to unmount! 
set drive=G:

echo Unmounting Drive...
mountvol %drive% /p
echo Drive Unmounted!

pause
exit

取り付け:

@echo off

REM Be sure to change this to the drive letter you want to mount the drive to!
set drive=G

REM Be sure to change this to the Volume Name of the drive you want to mount!
set volume=\\?\Volume{ae101d9f-7653-11e3-be83-8056f23387a6}\

:start
echo Mounting Drive...
mountvol %drive%: %volume%
echo Drive Mounted!

pause
exit

正しいドライブをマウント/アンマウントしていることを確認するために、バッチファイルを実行する前に、必ず最初にバッチファイルを変更してください。

ドライブ文字の割り当てのみを削除する/ Dは使用しないでください。/pを使用してください。 mountvol /?から:
/p Removes the volume mount point from the specified directory, dismounts the volume, and makes the volume not mountable. You can make the volume mountable again by creating a volume mount point.

8
joeeey

これを試してください、これがあなたが欲しいものかどうかわかりません。 diskpartを開始します(startで「diskpart」を検索するか、cmdウィンドウを開いてdiskpartと入力します。diskpartを実行するには管理者権限が必要です)

  1. diskpartに「list volume」と入力し、削除するボリュームのボリューム番号と名前を書き留めます
  2. 「ボリュームを選択[ドライブ文字(またはドライブ番号)]」と入力し、Enterキーを押します。例:「ボリュームGを選択」または「ボリューム5を選択」
  3. 「文字を削除[VOLUME LETTER]」と入力して、文字Gを削除する例

やった!

ボリュームをマウントするには、次のことを試してください。

  1. 1番目と2番目の手順に従います。ボリュームレターではなく、ボリューム番号とその他の詳細のみが表示されることに注意してください。
  2. 「assign letter [volume letter]」と入力します。ここで、[volume letter]をボリュームに割り当てる任意の文字に置き換えます。

    注意!これがWIN 8(またはWIN 8.1)で機能するかどうかはわかりませんが、WIN 7では適切に機能します。この方法を使用して、ボリュームを非表示にします。

2
RogUE

PowerShellから、WMIメソッドを介してマウント/マウント解除できます。

Get-WmiObject -class Win32_Volume | where-object {$_.DeviceID -Like "\\?\Volume{########-####-####-####-############}\"} | foreach-object -process {$_.AddMountPoint("X:")}

降りるには、たぶんこれ。

Get-WmiObject -class Win32_Volume | where-object {$_.DeviceID -Like "\\?\Volume{########-####-####-####-############}\"} | foreach-object -process {$_.Dismount()}

ここにGUIDを見つける方法があります。サンプルを編集することを忘れないでください。

Get-WmiObject -class Win32_Volume | Select-Object DeviceID,DriveLetter 
1
Knuckle-Dragger

diskpartコマンドラインユーティリティを使用できます。 diskpartコマンドを受け入れる「独自の」コマンドラインがあります。

このツールに関する記事は次のとおりです。 technet.Microsoft.comへのリンク

必ず:

  • diskpart.exeを実行します(Windows Vista/7/8に付属している可能性があります。
  • select disk nコマンドでディスクを選択(nはディスク番号)
  • select partition nコマンドでパーティションを選択(nはパーティション番号)
  • 下記のパラメータを指定して割り当てコマンドを実行します

割り当て[{letter = d | mount = path}] [noerr]

フォーカスのあるボリュームにドライブ文字またはマウントポイントを割り当てます。ドライブ文字またはマウントポイントが指定されていない場合は、次に使用可能なドライブ文字が割り当てられます。割り当てられたドライブ文字またはマウントポイントが既に使用されている場合、エラーが生成されます。

Assignコマンドを使用すると、リムーバブルドライブに関連付けられているドライブ文字を変更できます。システムボリューム、ブートボリューム、またはページングファイルを含むボリュームにドライブ文字を割り当てることはできません。 OEMパーティションまたは基本データパーティション以外のGPTパーティションにドライブ文字を割り当てることはできません。

letter = dボリュームに割り当てるドライブ文字を指定します。

mount = pathボリュームに割り当てる予定のマウントポイントパスを指定します。

list disklist partition、またはlist volumeを使用して、ディスク/パーティション/ボリューム番号を見つけることもできます。

そのツールで何をしているか注意してください。ドライブのフォーマットに使用できます。

1
Kamil