Mengakses media yang dapat dilepas di Bash pada Windows

38

Apakah ada cara untuk mengakses media yang dapat dilepas (mis. Thumb drive atau kartu SD) dari dalam Bash pada Windows?

Bash pada Windows menggunakan DriveFs untuk memasang drive tetap di /mntfolder, tetapi itu tidak secara otomatis me-mount media yang dapat dilepas. Dan sepertinya tidak menempatkan mereka di /dev:

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

Apakah ada cara untuk memasang drive yang dapat dilepas? Apakah ada cara untuk mengakses perangkat blok yang mendasarinya?

Aaron Campbell
sumber
5
Lihat wpdev.uservoice.com/forums/… ini .
CodeIt
ketik mountdan lihat apakah itu memberi Anda petunjuk. Jika menggunakan cygwinbash, pathnya adalah / cygdrive /.
strobelight
Tidak: 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)[dll]
Aaron Campbell
Serupa, meskipun pertanyaan ini secara khusus menyebutkan media yang dapat dipindahkan dan yang dimaksud dengan media tetap. Jawaban berperingkat tertinggi pada posting itu hanya berlaku sebagian untuk pertanyaan ini.
Aaron Campbell

Jawaban:

50

Berita bagus, sekarang mungkin untuk memasang media USB (termasuk yang diformat sebagai FAT) dan berbagi jaringan dengan drvfs di Windows 10:

Pasang media yang dapat dilepas: (mis. D :)

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

Untuk melepas gunung dengan aman

$ sudo umount /mnt/d

Anda juga dapat memasang saham jaringan tanpa smbfs:

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

Anda memerlukan setidaknya Build 16176 sehingga Anda mungkin harus ikut serta dalam program Windows Insider dan kemudian memperbarui Windows. Sumber: https://blogs.msdn.microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux/

user643011
sumber
4
Tolong jangan memposting jawaban yang sama untuk beberapa pertanyaan. Jika informasi yang sama benar-benar menjawab kedua pertanyaan, maka satu pertanyaan (biasanya yang baru) harus ditutup sebagai duplikat dari yang lain. Anda dapat menunjukkan ini dengan memilih untuk menutupnya sebagai duplikat atau, jika Anda tidak memiliki reputasi yang cukup untuk itu, angkat bendera untuk menunjukkan bahwa itu adalah duplikat. Kalau tidak, sesuaikan jawaban Anda untuk pertanyaan ini dan jangan hanya menempelkan jawaban yang sama di banyak tempat.
DavidPostill
7
David terkasih. Jangan ragu untuk menaikkan bendera untuk duplikasi sendiri. Jawaban ini disesuaikan dengan pertanyaan dan Anda dipersilakan untuk memberikan saran untuk perbaikan.
user643011
2
"Pengguna" yang terhormat, saya membenarkan komentar Anda di sini dengan asumsi bahwa apa yang Anda katakan adalah, yah, benar ... Sekarang saya sadar saya salah, tetapi sepertinya tidak dapat membatalkan komentar saya yang membengkak, jadi saya harus bertanya secara eksplisit: bagaimana tepatnya apakah ini "disesuaikan dengan pertanyaan", sambil tetap menjadi salinan "bitwise" yang tepat dari jawaban Anda yang lain ?
Sz.
Hai, Sz! Karena itu benar? Jawabannya tepat: Apakah ada cara untuk mengakses media yang dapat dilepas dari dalam Bash pada Windows. Jika Anda memiliki jawaban yang lebih baik maka silakan menjawab pertanyaan dengan lebih baik atau menyarankan edit untuk yang ini. Terima kasih!
user643011
wrong fs type, bad option, bad superblock on G:, missing codepage or helper program, or other error- juga, silakan baca komentar ini ; jangan menjawab duplikat.
Dana Gugatan Monica
10

Apakah ada cara untuk mengakses media yang dapat dipindahkan dari dalam Bash di Windows?

Memperbarui:

Rupanya sekarang mungkin dimulai dari Windows 10 Build 16176.

Lihat https://superuser.com/a/1209701/337631 .


Tidak.

Saat ini ada batasan pada drive apa yang dipasang:

Agar drive muncul di bawah / mnt / itu harus memenuhi kriteria berikut:

  1. Drive harus drive tetap
  2. Drive harus diformat ke NTFS.

Ini telah dimunculkan sebagai masalah: Drive selain C: tidak dipasang di / mnt # 1079 . Itu masih ditandai sebagai "Buka".

Untuk memfasilitasi interoperabilitas dengan Windows, WSL menggunakan sistem file DrvFs. WSL secara otomatis memasang semua drive tetap dengan sistem file yang didukung di bawah / mnt, seperti / mnt / c, / mnt / d, dll. Saat ini, hanya volume NTFS dan ReFS yang didukung.

Sumber Dukungan Sistem File WSL


Bacaan lebih lanjut

DavidPostill
sumber
Sekarang ada solusinya: superuser.com/a/1209701/182880
user643011
0

Jika perangkat tidak ada di dalam /dev, kemungkinan setup Anda bahkan tidak mendeteksi drive.

Perintah tersebut lsblkharus mencantumkan semua perangkat blok yang terhubung (drive). Jika tidak muncul dalam daftar ini, taruhan terbaik Anda adalah mencoba mencolokkan perangkat sebelum memulai bash.

Saya tidak melihat dari pertanyaan Anda sebutkan metode apa yang menggunakan bash pada windows yang Anda temukan, tetapi untuk sebagian besar hal itu seharusnya tidak terlalu sulit untuk memulai ulang bash.

Jika lsblktidak menunjukkan drive Anda maka cari jalan itu daftar dan ketik mount <path shown by lsblk> <path you want the drive to be mounted to>

tanda waktu
sumber
mountdrive yang dapat dilepas belum didukung. "WSL secara otomatis me-mount semua drive tetap dengan sistem file yang didukung di / mnt, seperti / mnt / c, / mnt / d, dll. Saat ini, hanya volume NTFS dan ReFS yang didukung." Lihat blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support
DavidPostill
lol. Saya sudah melakukannya beberapa waktu yang lalu :) Lihat jawaban saya di sini Memanipulasi file windows dengan linux bash shell di windows 10
DavidPostill