DrvFs のマウント

DrvFs のマウント

ローカルの Windows コンピューターにマウントされた samba ドライブがあります。

/mnt/cWLS (Windows 10 Bash) にドライブがありますが、ありません/mnt/z

何らかの方法でアクセスする方法はありますか? WSL で再マウントできますか?

答え1

[アップデート - どうやらこの機能は、ビルド 16176まだ試していません。

いいえ、私が発見していないトリックがあるかもしれませんが。Windows Subsystem for Linuxはネットワークドライブをマウントしません。Microsoftの従業員はこう言います。ここ(コメント内):

現時点では、固定ドライブのみを「マウント」します。USB/リムーバブル/ネットワーク ドライブは、現時点では処理されません。この機能はバックログにありますが、すぐには実現しません。

だから息を止めないでください。

私は次のようにシンボリック リンクを使用してこれを回避しようとしました。

c:> mklink /d c:\some\directory \\some_server\some_share

リンクは「通常の」Windows (cmd.exe、PowerShell、ファイル エクスプローラーなど) では正常に機能しますが、WSL には表示されません。

$ ls -ld /mnt/c/some/directory
/mnt/c/some/directory not found

私自身の使用では、この制限は致命的です。ネットワーク ドライブ上に、移動したくないものがあります。代替手段はいくつかあります。私は Cygwin を使用しています。

答え2

からbleaterが投稿したリンク

DrvFs のマウント

DrvFs を使用して Windows ドライブをマウントするには、通常の Linux マウント コマンドを使用できます。たとえば、リムーバブル ドライブ D: を /mnt/d ディレクトリとしてマウントするには、次のコマンドを実行します。

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

これで、/mnt/d の下にある D: ドライブのファイルにアクセスできるようになります。たとえば、安全に取り外すためにドライブをアンマウントする場合は、次のコマンドを実行します。

$ sudo umount /mnt/d

ネットワークの場所のマウント

ネットワークの場所をマウントする場合は、もちろん Windows でマップされたネットワーク ドライブを作成し、上記のようにマウントできます。ただし、UNC パスを使用して直接マウントすることもできます。

$ sudo mkdir /mnt/share
$ sudo mount -t drvfs '\\server\share' /mnt/share

UNC パスを一重引用符で囲むことに注意してください。これは、バックスラッシュをエスケープする必要を回避するために必要です。UNC パスを一重引用符で囲まない場合は、バックスラッシュを二重にしてエスケープする必要があります (例\\\\server\\share)。

WSL には、ネットワーク共有への接続に使用する資格情報を指定する方法がありません。サーバーに接続するために別の資格情報を使用する必要がある場合は、Windows でファイル エクスプローラーで共有に移動するか、Windows 資格情報マネージャーを使用するか、net use コマンドを使用して資格情報を指定します。net use コマンドは、interop を介して WSL 内から呼び出すことができます (net.exe use を使用)。このコマンドの使用方法の詳細については、「net.exe help use」と入力してください。

答え3

WSL2はサポートしていますCIFS (SMB)プロトコル。マウント時にネットワーク サーバーのバージョンを指定する必要がある場合があります。例: Ubuntu の場合:

$ sudo apt install cifs-utils
$ sudo mount -t cifs -o user=joe,pass=shmo,vers=1.0 //server/share /mnt/share

答え4

見るhttps://github.com/Microsoft/WSL/issues/2999#issuecomment-455835951

WSLでGFSをマウントする方法は次のとおりです。WSL で `sshfs` を動作させるか、代替手段を見つけるコツはhttps://www.nsoftware.com/sftp/netdrive/Windows から GFS に ssh し、WSL でマウントできるファイルシステムに変換します。

  1. Win10 に OpenSSH サーバーをインストールします。Win10 設定 -> アプリ -> オプション機能の管理 -> 機能の追加 -> OpenSSH サーバーを再起動します。必要に応じてサービスを開きます -> OpenSSH -> プロパティ -> スタートアップの種類 -> 自動 (遅延)

  2. SFTPNetDrive をインストールして実行し、非表示アイコン内のアイコンを右クリック -> メイン ウィンドウ (または既に開いている) -> プロファイル -> 新しいプロファイル (サーバー: localhost、ユーザー:* パスワード:*ドライブ文字: F (または別の文字) 詳細設定 -> ( プロトコル -> 圧縮のチェックを外す; 指定されたフォルダー: G:\ ) )

  3. Bash (wsl) の場合: sudo mkdir /mnt/f; sudo mount -t drvfs F: /mnt/f

どれくらい安定しているかはわかりませんが、WSL でファイルを開くことができました。

関連情報