
ローカルの Windows コンピューターにマウントされた samba ドライブがあります。
/mnt/c
WLS (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
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 でマウントできるファイルシステムに変換します。
Win10 に OpenSSH サーバーをインストールします。Win10 設定 -> アプリ -> オプション機能の管理 -> 機能の追加 -> OpenSSH サーバーを再起動します。必要に応じてサービスを開きます -> OpenSSH -> プロパティ -> スタートアップの種類 -> 自動 (遅延)
SFTPNetDrive をインストールして実行し、非表示アイコン内のアイコンを右クリック -> メイン ウィンドウ (または既に開いている) -> プロファイル -> 新しいプロファイル (サーバー: localhost、ユーザー:* パスワード:*ドライブ文字: F (または別の文字) 詳細設定 -> ( プロトコル -> 圧縮のチェックを外す; 指定されたフォルダー: G:\ ) )
Bash (wsl) の場合: sudo mkdir /mnt/f; sudo mount -t drvfs F: /mnt/f
どれくらい安定しているかはわかりませんが、WSL でファイルを開くことができました。