web-dev-qa-db-ja.com

Windows上のBashでリムーバブルメディアにアクセスする

WindowsのBash内からリムーバブルメディア(サムドライブやSDカードなど)にアクセスする方法はありますか?

Windows上のBash はDriveFs を使用して/mntフォルダに固定ドライブをマウントしますが、リムーバブルメディアを自動的にマウントすることはありません。そしてそれらを/devに入れているようにも見えません。

Aaron@MYPC:/$ ls /dev
block  fd  kmsg  lxss  null  ptmx  pts  random  shm  stderr  stdin  stdout  tty  tty0  tty1  urandom  zero

リムーバブルドライブをマウントする方法はありますか?基礎となるブロックデバイスにアクセスする方法はありますか?

35
Aaron Campbell

良いニュースです。Windows10上でdrvfsを使ってUSBメディア(FATとしてフォーマットされたものも含む)とネットワーク共有をマウントすることが可能になりました。

リムーバブルメディアをマウントする:(例:D :)

$ Sudo mkdir /mnt/d
$ Sudo mount -t drvfs D: /mnt/d

安全にマウント解除する

$ Sudo umount /mnt/d

Smbfsなしでネットワーク共有をマウントすることもできます。

$ Sudo mount -t drvfs '\\server\share' /mnt/share

少なくともBuild 16176が必要なので、Windows InsiderプログラムにオプトインしてからWindowsを更新する必要があるかもしれません。ソース: https://blogs.msdn.Microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux /

44
user643011

Windows上のBash内からリムーバブルメディアにアクセスする方法はありますか?

更新:

どうやらそれは今ではWindows 10ビルド16176から始まって可能です。

https://superuser.com/a/1209701/337631 を参照してください。


いいえ.

現時点ではマウントされるドライブに制限があります。

ドライブが/ mnt /の下に表示されるには、以下の基準を満たしている必要があります。

  1. ドライブは固定ドライブでなければなりません
  2. ドライブはNTFSにフォーマットされている必要があります。

これは問題として提起されています: C:以外のドライブは/ mnt#1079 にマウントされていません。それはまだ "Open"としてマークされています。

Windowsとの相互運用性を促進するために、WSLはDrvFsファイルシステムを使用しています。 WSLは、/ mnt/c、/ mnt/dなど、サポートされているファイルシステムを使用してすべての固定ドライブを自動的にマウントします。現在、NTFSおよびReFSボリュームのみがサポートされています。

ソース WSLファイルシステムのサポート


参考文献

10
DavidPostill

デバイスが/devに入っていなければ、あなたのセットアップはドライブを検出さえしていない可能性があります。

コマンドlsblkは、接続されているすべてのブロックデバイス(ドライブ)を一覧表示します。このリストに表示されない場合は、bashを起動する前にデバイスを接続してみることをお勧めします。

私はあなたの質問からあなたが見つけたウィンドウでどのようにbashを使うのかについての言及を見ません、しかしほとんどの場合それはbashを再起動するのはそれほど難しくないはずです。

lsblkがあなたのドライブをあなたに示しているなら、それがリストしているパスを見つけて、mount <path shown by lsblk> <path you want the drive to be mounted to>とタイプしてください。

0
timotree