ฉันมีไดรฟ์แซมบ้าซึ่งติดตั้งอยู่ในคอมพิวเตอร์ที่ใช้ Windows
ฉันมีไดรฟ์ "/ mnt / c" ใน WLS ("Windows 10 bash") แต่ไม่มี "/ mnt / z"
มีวิธีเข้าถึงอย่างใดหรือไม่ ฉันสามารถติดตั้งใหม่ใน WLS ได้ไหม?
ฉันมีไดรฟ์แซมบ้าซึ่งติดตั้งอยู่ในคอมพิวเตอร์ที่ใช้ Windows
ฉันมีไดรฟ์ "/ mnt / c" ใน WLS ("Windows 10 bash") แต่ไม่มี "/ mnt / z"
มีวิธีเข้าถึงอย่างใดหรือไม่ ฉันสามารถติดตั้งใหม่ใน WLS ได้ไหม?
คำตอบ:
[อัพเดท - เด่นชัด คุณลักษณะนี้มีให้ใน สร้าง 16176 . ฉันยังไม่ได้ลอง]
ไม่แม้ว่าอาจมีกลลวงบางอย่างที่ฉันไม่ได้ค้นพบ Windows Subsystem สำหรับ Linux ไม่ติดตั้งไดรฟ์เครือข่าย พนักงานของ Microsoft กล่าว ที่นี่ (ในความคิดเห็น):
ขณะนี้เราเท่านั้น "เมานต์" ไดรฟ์คงที่ ไม่สามารถจัดการไดรฟ์ USB / ถอดได้ / เครือข่ายได้ในขณะนี้ ความสามารถนี้อยู่ในงานในมือของเรา แต่ไม่ได้อยู่ในการ์ดในเวลาไม่นาน
ดังนั้นอย่ากลั้นลมหายใจของคุณ
ฉันพยายามทำงานโดยใช้ลิงก์สัญลักษณ์เช่นนี้
c:> mklink /d c:\some\directory \\some_server\some_share
ลิงก์ใช้งานได้ดีใน Windows "ปกติ" (cmd.exe, PowerShell, file explorer, ฯลฯ ) แต่ WSL มองไม่เห็น:
$ ls -ld /mnt/c/some/directory
/mnt/c/some/directory not found
สำหรับการใช้งานของฉันเองข้อ จำกัด นี้เป็นรูปแบบการอุด ฉันมีสิ่งต่าง ๆ บนไดรฟ์เครือข่ายที่ฉันไม่ต้องการย้าย มีทางเลือกอื่น; ฉันใช้ Cygwin
linkname target
ไม่ใช่ target linkname
การติดตั้ง DrvFs
ในการติดตั้งไดร์ฟ Windows โดยใช้ DrvF คุณสามารถใช้คำสั่ง Linux mount ปกติ ตัวอย่างเช่นหากต้องการเมานต์ไดรฟ์แบบถอดได้ D: as / mnt / d ให้รันคำสั่งต่อไปนี้:
$ sudo mkdir /mnt/d $ sudo mount -t drvfs D: /mnt/d
ตอนนี้คุณจะสามารถเข้าถึงไฟล์ของ D: ไดรฟ์ภายใต้ / mnt / 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 โดยไปที่แชร์ใน File Explorer โดยใช้ Windows Credential Manager หรือคำสั่ง net use คำสั่ง net use สามารถเรียกใช้จากภายใน WSL (ใช้ net.exe use) ผ่าน interop พิมพ์ net.exe ช่วยในการใช้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้คำสั่งนี้
มี (อย่างน้อย) สองวิธีในการใช้ Bash ใน Windows:
Git-Bash สามารถเข้าถึงโฟลเดอร์เครือข่าย (ติดตั้ง git-bash & gt; ไปที่โฟลเดอร์เครือข่าย & gt; คลิกขวา & gt; "Git Bash Here" & gt; pwd
เพื่อดูเส้นทาง)
ถ้าคุณ ต้อง ใช้ bash รุ่น WLS จากนั้นคุณสามารถโทร Git-Bash จาก WLS bash ดังนี้
WLS_Bash_Shell:$ /mnt/c/Program\ Files/Git/bin/bash.exe ScriptThatUsesNetworkFolders.sh
ดู https://github.com/Microsoft/WSL/issues/2999#issuecomment-455835951
นี่เป็นวิธีในการเมานต์ GFS ใน WSL ตาม รับ `sshfs 'ทำงานบน WSL หรือค้นหาทางเลือก เคล็ดลับคือการใช้ https://www.nsoftware.com/sftp/netdrive/ เพื่อ ssh ถึง GFS จาก Windows และแปลงเป็นระบบไฟล์ที่สามารถติดตั้งภายใต้ WSL
ติดตั้ง OpenSSH Server ภายใต้ Win10 การตั้งค่า Win10 - & gt; แอป - & gt; จัดการคุณลักษณะที่เป็นตัวเลือก - & gt; เพิ่มสถานที่ - & gt; เซิร์ฟเวอร์ OpenSSH รีสตาร์ทถ้าจำเป็น บริการที่เปิด - & gt; OpenSSH - & gt; คุณสมบัติ - & gt; ประเภทเริ่มต้น - & gt; อัตโนมัติ (ล่าช้า)
ติดตั้งและเรียกใช้ SFTPNetDrive คลิกขวาที่ไอคอนในไอคอนที่ซ่อน - & gt; หน้าต่างหลัก (หรืออาจเปิดอยู่แล้ว) - & gt; โปรไฟล์ - & gt; โปรไฟล์ใหม่ (เซิร์ฟเวอร์: localhost, ผู้ใช้: * pwd: * ตัวอักษรของไดรฟ์: F (หรืออื่น ๆ ) ขั้นสูง - & gt; (โปรโตคอล - & gt; ไม่เลือกการบีบอัด; โฟลเดอร์ที่ระบุ: G: \)
ใน Bash (wsl): sudo mkdir / mnt / f; sudo mount -t drvfs F: / mnt / f
ฉันไม่แน่ใจว่ามันเสถียรแค่ไหน แต่ฉันสามารถเปิดไฟล์ใน WSL ได้