การเข้าถึงสื่อแบบถอดได้ใน Bash บน Windows


38

มีวิธีเข้าถึงสื่อแบบถอดได้ (เช่น thumb drive หรือ SD card) จากใน Bash บน Windows หรือไม่?

Bash บน Windows ใช้ DriveFsเพื่อติดตั้งไดรฟ์คงที่ใน/mntโฟลเดอร์ แต่จะไม่ทำการเมานท์สื่อแบบถอดได้โดยอัตโนมัติ และมันก็ดูไม่เหมือนว่าจะใส่ไว้ใน/dev:

Aaron@MYPC:/$ ls /dev
block  fd  kmsg  lxss  null  ptmx  pts  random  shm  stderr  stdin  stdout  tty  tty0  tty1  urandom  zero

มีวิธีการติดตั้งไดรฟ์แบบถอดได้หรือไม่? มีวิธีเข้าถึงอุปกรณ์บล็อกพื้นฐานหรือไม่?



พิมพ์mountและดูว่ามันให้เบาะแสกับคุณหรือไม่ หากใช้cygwinbash พา ธ คือ / cygdrive /
strobelight

Nope: Aaron@MYPC:~$ mount rootfs on / type rootfs (rw,relatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204320k,mode=755)[ฯลฯ ]
Aaron Campbell


ที่คล้ายกันแม้ว่าคำถามนี้โดยเฉพาะกล่าวถึงสื่อที่ถอดออกได้และหนึ่งที่อ้างถึงสื่อคง คำตอบที่ให้คะแนนสูงสุดในโพสต์นั้นใช้ได้กับคำถามนี้เพียงบางส่วนเท่านั้น
แอรอนแคมป์เบล

คำตอบ:


49

ข่าวดีตอนนี้เป็นไปได้ที่จะเชื่อมต่อสื่อ USB (รวมถึงการจัดรูปแบบเป็น FAT) และเครือข่ายที่ใช้ร่วมกันกับ drvfs บน Windows 10:

เมานต์สื่อที่ถอดได้: (เช่น D :)

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

หากต้องการเลิกเมานท์อย่างปลอดภัย

$ sudo umount /mnt/d

คุณยังสามารถกำหนดใช้เครือข่ายร่วมกันได้โดยไม่ต้องใช้ smbfs:

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

คุณต้องการอย่างน้อย Build 16176 ดังนั้นคุณอาจต้องเลือกใช้โปรแกรม Windows Insider จากนั้นอัปเดต Windows ที่มา: https://blogs.msdn.microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux/


4
กรุณาอย่าโพสต์คำตอบเดียวกันกับหลายคำถาม หากข้อมูลเดียวกันตอบคำถามทั้งสองข้อจริงๆแล้วควรปิดคำถามหนึ่งคำถาม (โดยปกติคำถามใหม่กว่า) เป็นข้อมูลซ้ำ คุณสามารถระบุสิ่งนี้ได้โดยการโหวตเพื่อปิดเป็นซ้ำหรือหากคุณไม่มีชื่อเสียงเพียงพอให้ยกธงขึ้นเพื่อระบุว่าซ้ำกัน มิฉะนั้นปรับคำตอบสำหรับคำถามนี้และไม่เพียงแค่วางคำตอบเดียวกันในหลาย ๆ ที่
DavidPostill

7
ถึงเดวิด อย่าลังเลที่จะยกธงสำหรับการทำซ้ำตัวเอง คำตอบนี้เหมาะสำหรับคำถามและคุณยินดีให้คำแนะนำในการปรับปรุง
user643011

2
เรียน "ผู้ใช้" ฉันยกระดับความคิดเห็นของคุณที่นี่โดยสมมติว่าสิ่งที่คุณพูดนั้นดีจริง ... ตอนนี้ฉันรู้ว่าฉันผิด แต่ดูเหมือนจะไม่สามารถยกเลิกความคิดเห็น upvote ของฉันได้ดังนั้นฉันต้องถามอย่างชัดเจนว่า นี้คือ "เหมาะกับคำถามที่ว่า" ขณะที่ยังคงเป็นที่แน่นอน "บิต" คัดลอกคำตอบอื่น ๆ ของคุณ ?
Sz.

เฮ้ Sz! เพราะมันเป็นเรื่องจริงเหรอ? คำตอบที่ถูกต้อง: มีวิธีเข้าถึงสื่อแบบถอดได้จากภายใน Bash บน Windows หรือไม่ หากคุณมีคำตอบที่ดีกว่าอย่าลังเลที่จะตอบคำถามให้ดีขึ้นหรือเสนอแนะการแก้ไขสำหรับคำถามนี้ ขอบคุณ!
user643011

wrong fs type, bad option, bad superblock on G:, missing codepage or helper program, or other error- นอกจากนี้โปรดอ่านความคิดเห็นนี้ ; ไม่ต้องตอบซ้ำ
คดีของกองทุนโมนิกา

10

มีวิธีเข้าถึงสื่อแบบถอดได้จากใน Bash บน Windows หรือไม่?

ปรับปรุง:

เห็นได้ชัดว่าตอนนี้เป็นไปได้ที่จะเริ่มต้นจาก Windows 10 Build 16176

ดูhttps://superuser.com/a/1209701/337631


เลขที่

ในขณะนี้มีข้อ จำกัด เกี่ยวกับไดรฟ์ที่ติดตั้งอยู่:

เพื่อให้ไดรฟ์แสดงขึ้นภายใต้ / mnt / จะต้องเป็นไปตามเกณฑ์ต่อไปนี้:

  1. ไดรฟ์จะต้องเป็นไดรฟ์คงที่
  2. ไดรฟ์จะต้องฟอร์แมตเป็น NTFS

นี้ได้รับการยกขึ้นเป็นปัญหา: ไดรฟ์อื่น ๆ กว่า C: ยังไม่ได้ติดตั้งใน mnt / # มันยังถูกทำเครื่องหมายเป็น "เปิด"

เพื่ออำนวยความสะดวกในการทำงานร่วมกันกับ Windows WSL ใช้ระบบไฟล์ DrvFs WSL จะเมาต์ไดรฟ์คงที่ทั้งหมดโดยอัตโนมัติด้วยระบบไฟล์ที่รองรับภายใต้ / mnt เช่น / mnt / c, / mnt / d เป็นต้นปัจจุบันปัจจุบันรองรับเฉพาะ NTFS และวอลุ่ม ReFS เท่านั้น

การสนับสนุนระบบไฟล์ WSLซอร์ส


อ่านเพิ่มเติม


ขณะนี้มีวิธีแก้ไขคือ: superuser.com/a/1209701/182880
643011

0

หากอุปกรณ์ไม่ได้อยู่ใน/devนั้นอาจเป็นไปได้ว่าการตั้งค่าของคุณไม่ได้ตรวจจับไดรฟ์

คำสั่งlsblkควรแสดงรายการอุปกรณ์บล็อกที่เชื่อมต่อทั้งหมด (ไดรฟ์) หากไม่ปรากฏในรายการนี้ทางออกที่ดีที่สุดของคุณคือลองเสียบอุปกรณ์ก่อนเริ่มทุบตี

ฉันไม่เห็นจากคำถามของคุณเกี่ยวกับวิธีใช้ bash บน windows ที่คุณพบ แต่ส่วนใหญ่แล้วมันไม่ควรยากที่จะเริ่ม bash ใหม่

หากlsblkแสดงไดรฟ์ของคุณให้ค้นหาเส้นทางที่แสดงและพิมพ์ mount <path shown by lsblk> <path you want the drive to be mounted to>


mountยังไม่รองรับไดรฟ์ที่ถอดออกได้ "WSL ติดตั้งไดรฟ์คงที่ทั้งหมดโดยอัตโนมัติด้วยระบบไฟล์ที่รองรับภายใต้ / mnt เช่น / mnt / c, / mnt / d เป็นต้นปัจจุบันปัจจุบันรองรับเฉพาะ NTFS และวอลุ่ม ReFS" ดูblogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support
DavidPostill

ฮ่า ๆ. ฉันทำไปแล้วเมื่อไม่นานมานี้ :) ดูคำตอบของฉันที่นี่จัดการไฟล์ windows ด้วย linux bash shell ใน windows 10
DavidPostill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.