web-dev-qa-db-ja.com

Windows Linux Subsystem上のネットワークマウントドライブにアクセスするにはどうすればいいですか?

私は私のローカルウィンドウズコンピュータにマウントされているsambaドライブを持っています。

WLS( "Windows 10 bash")に "/ mnt/c"ドライブがありますが、 "/ mnt/z"はありません。

どういうわけかそれにアクセスする方法はありますか? WLSで再マウントできますか?

45
Charles Shiller

[Update - どうやら この機能は build 16176 で利用可能です。まだ試していません。]

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

現時点では固定ドライブのみを「マウント」しています。 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を使っています。

22
Joseph Thvedt

投稿者 からリンクした投稿者

取り付けDrvF

DrvFを使用してWindowsドライブをマウントするには、通常のLinuxのmountコマンドを使用できます。たとえば、リムーバブルドライブ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パスを一重引用符で囲まない場合は、バックスラッシュを2倍にしてエスケープする必要があります(例:\\\\server\\share)。

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

75
gman

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 Win10の設定 - >アプリケーション - >オプション機能の管理 - >機能の追加 - >必要に応じてOpenSSHサーバーの再起動でOpenSSHサーバーをインストール - > OpenSSH - >プロパティ - >スタートアップの種類 - >自動(遅延)

  2. SFTPNetDriveをインストールして実行し、隠れたアイコンのアイコンを右クリック - >メインウィンドウ(または既に開いているかもしれません) - >プロファイル - >新しいプロファイル(サーバー:localhost、ユーザー:* pwd:*ドライブレター:F(または他の)詳細 - >(プロトコル - >圧縮解除;指定フォルダ:G:\))

  3. bash(wsl)の場合:Sudo mkdir/mnt/f。 Sudo mount -t drvfs F:/ mnt/f

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