Tôi có một ổ đĩa samba được gắn trên máy tính windows cục bộ của tôi.
Tôi có ổ đĩa "/ mnt / c" trong WLS ("Windows 10 bash"), nhưng không có "/ mnt / z".
Có cách nào để truy cập nó bằng cách nào đó? Tôi có thể kể lại nó trong WLS không?
Tôi có một ổ đĩa samba được gắn trên máy tính windows cục bộ của tôi.
Tôi có ổ đĩa "/ mnt / c" trong WLS ("Windows 10 bash"), nhưng không có "/ mnt / z".
Có cách nào để truy cập nó bằng cách nào đó? Tôi có thể kể lại nó trong WLS không?
Câu trả lời:
[Cập nhật - rõ ràng tính năng này có sẵn trong bản dựng 16176 . Tôi chưa thử nó.]
Không, mặc dù có thể có một số mẹo tôi chưa khám phá ra. Hệ thống con Windows cho Linux không gắn ổ đĩa mạng. Một nhân viên của Microsoft nói ở đây (trong một bình luận):
Chúng tôi chỉ có các ổ đĩa cố định gắn vào thời điểm này. Ổ đĩa USB / di động / mạng không được xử lý tại thời điểm này. Khả năng này là tồn đọng của chúng tôi, nhưng nó không có trên thẻ bất cứ lúc nào sớm.
Vì vậy, đừng nín thở.
Tôi đã cố gắng làm việc xung quanh nó bằng cách sử dụng một liên kết tượng trưng, như thế này:
c:> mklink /d c:\some\directory \\some_server\some_share
Liên kết chỉ hoạt động tốt trong Windows "bình thường" (cmd.exe, PowerShell, trình duyệt tệp, v.v.), nhưng vô hình với WSL:
$ ls -ld /mnt/c/some/directory
/mnt/c/some/directory not found
Đối với sử dụng của riêng tôi, giới hạn này là một điểm dừng hiển thị. Tôi có những thứ trên các ổ đĩa mạng mà tôi không sẵn sàng di chuyển. Có những lựa chọn thay thế; Tôi đang sử dụng Cygwin.
linkname target
vậytarget linkname
Gắn DrvF
Để gắn ổ đĩa Windows bằng DrvF, bạn có thể sử dụng lệnh mount Linux thông thường. Ví dụ: để gắn một ổ đĩa di động D: as / mnt / d, hãy chạy các lệnh sau:
$ sudo mkdir /mnt/d $ sudo mount -t drvfs D: /mnt/d
Bây giờ, bạn sẽ có thể truy cập các tệp của ổ D: của bạn dưới / mnt / d. Khi bạn muốn ngắt kết nối ổ đĩa, ví dụ để bạn có thể gỡ bỏ nó một cách an toàn, hãy chạy lệnh sau:
$ sudo umount /mnt/d
Gắn kết các vị trí mạng
Khi bạn muốn gắn một vị trí mạng, tất nhiên bạn có thể tạo một ổ đĩa mạng được ánh xạ trong Windows và gắn kết như được chỉ ra ở trên. Tuy nhiên, cũng có thể gắn kết chúng trực tiếp bằng đường dẫn UNC:
$ sudo mkdir /mnt/share $ sudo mount -t drvfs '\\server\share' /mnt/share
Lưu ý các trích dẫn duy nhất xung quanh đường dẫn UNC; những điều này là cần thiết để ngăn chặn sự cần thiết phải thoát khỏi dấu gạch chéo ngược. Nếu bạn không bao quanh đường dẫn UNC bằng các dấu ngoặc đơn, bạn cần thoát khỏi dấu gạch chéo ngược bằng cách nhân đôi chúng (ví dụ
\\\\server\\share
).WSL không có cách nào để chỉ định thông tin đăng nhập nào sẽ được sử dụng để kết nối với chia sẻ mạng. Nếu bạn cần sử dụng các thông tin đăng nhập khác nhau để kết nối với máy chủ, hãy chỉ định chúng trong Windows bằng cách điều hướng đến chia sẻ trong File Explorer, sử dụng Trình quản lý thông tin Windows hoặc lệnh sử dụng mạng. Lệnh net use có thể được gọi từ bên trong WSL (sử dụng net.exe) thông qua interop. Nhập net.exe giúp sử dụng để biết thêm thông tin về cách sử dụng lệnh này.
-o
) sẽ cho tôi lỗi "loại fs sai, tùy chọn xấu, siêu khối xấu".
xem https://github.com/Microsoft/WSL/issues/2999#issuecomment-455835951
Đây là một cách để gắn kết GFS trong WSL dựa trên việc Bắt `sshfs` hoạt động trên WSL hoặc tìm một giải pháp thay thế Bí quyết là sử dụng https://www.nsoftware.com/sftp/netdrive/ để ssh sang GFS từ Windows và chuyển đổi nó đến một hệ thống tập tin có thể được gắn kết theo WSL.
Cài đặt OpenSSH Server trong Cài đặt Win10 Win10 -> Ứng dụng -> Quản lý các tính năng tùy chọn -> Thêm tính năng -> Khởi động lại máy chủ OpenSSH nếu cần mở Dịch vụ -> OpenSSH -> Thuộc tính -> Loại khởi động -> Tự động (bị trì hoãn)
Cài đặt và chạy SFTPNetDrive, nhấp chuột phải vào biểu tượng trong các biểu tượng ẩn -> Cửa sổ chính (hoặc có thể đã mở) -> Hồ sơ -> hồ sơ mới (máy chủ: localhost, người dùng: * pwd: * Drive Letter: F (hoặc khác) Nâng cao - > (Giao thức -> bỏ chọn nén; Thư mục được chỉ định: G: \))
trong Bash (wsl): sudo mkdir / mnt / f; sudo gắn -t drvfs F: / mnt / f
Tôi không chắc nó ổn định đến mức nào, nhưng tôi đã có thể mở các tệp trong WSL.
Có (ít nhất) hai cách để sử dụng Bash trong Windows:
Git-Bash có quyền truy cập vào các thư mục mạng (cài đặt git-bash> vào thư mục mạng> nhấp chuột phải> "Git Bash Here"> chạy pwd
để xem đường dẫn).
Nếu bạn phải sử dụng phiên bản bash của WLS, thì bạn có thể gọi Git-Bash từ bash của WLS như sau:
WLS_Bash_Shell:$ /mnt/c/Program\ Files/Git/bin/bash.exe ScriptThatUsesNetworkFolders.sh