Cukup jelas bahwa sistem file 10 "host" Windows dipasang pada /mnt/c/
dari sudut pandang "Linux". Tetapi apakah mungkin untuk mendapatkan akses ke sistem file "Linux" dari Windows? Kalau begitu, dimana tempatnya?
linux
ubuntu
windows-10
windows-subsystem-for-linux
Ada Empat Lampu
sumber
sumber
mount
dalambash
shell?rootfs on / type rootfs
cat /etc/fstab
?LABEL=cloudimg-rootfs / ext4 defaults 0 0
Jawaban:
Sistem file root tunggal berada di sini sampai pembaruan Windows 10 Fall Creators (dirilis pada Oktober 2017):
Sebagai contoh,
C:\Users\Vigo\AppData\Local\Lxss\rootfs\
Poin pemasangan lainnya terletak satu tingkat di atas
lxss
direktori. Misalnya,home
direktori Anda sendiri di Linux akan masuk%LOCALAPPDATA%\Lxss\home
.Mulai dari pembaruan Fall Creators, dimungkinkan untuk menginstal lebih dari satu instance Linux dan menjalankannya secara paralel. Instance yang ada (alias legacy) akan tetap berada di direktori tetapi instance baru yang dibuat berada di bawah:
Sebagai contoh, instalasi Ubuntu 18.04 saya terletak di bawah
direktori.Menjelajahi dan membaca file adalah satu-satunya operasi yang tidak berbahaya. Lihat halaman blog Microsoft ini untuk detailnya.
Perhatikan bahwa mulai dari Build 1903, ada cara alternatif untuk mengakses file dari distribusi yang sedang berjalan yang tidak menunjukkan masalah yang disebutkan sebelumnya.
Cukup gunakan path
\\wsl$\<distribution_specific_name>\
dan Anda akan dapat membuat dan memodifikasi file. AppData masih bukan cara yang didukung untuk mengakses file dengan build 1903.sumber
%USERPROFILE%\AppData\Local\Lxss\rootfs
%LOCALAPPDATA%
alih-alih%USERPROFILE%\AppData\Local
Saat ini, Anda dapat menginstal beberapa distribusi Linux. Oleh karena itu, setiap distribusi akan memiliki sistem file sendiri yang terletak di folder yang berbeda.
%USERPROFILE%\AppData\Local\Packages\...\LocalState\rootfs
Memperoleh informasi dari Registry
Lokasi setiap sistem file dapat diperoleh dari Windows Registry. Data terletak di bawah
Anda dapat memulai jendela PowerShell dan menjalankan perintah berikut untuk mendapatkan lokasi sistem file
Anda akan mendapatkan tabel dengan informasi seperti berikut ini
Menggunakan lxRunOffline
LxRunOffline adalah alat untuk mengelola distribusi linux yang diinstal pada WSL. Anda dapat menggunakan LxRunOffline untuk mendapatkan direktori yang digunakan oleh distribusi yang diinstal
sumber
Untuk WSL2 Anda dapat mengakses direktori home dari windows explorer seperti ini:
Maaf terlambat datang ke pesta!
sumber
Versi subsistem linux yang lebih baru menginstal sistem file di bawah
packages
sehingga path lengkapnya akan seperti:atau:
... tentu saja tergantung pada mount point. Melakukan pencarian direktori
.bashrc
akan mengungkapkan jalur ini ...Atau gunakan
readlink .
dalam shell linux untuk memposting path linux saat ini sebagai path 'DOS' ke windows clipboard. Tempel di suatu tempat yang masuk akal untuk membaca jalur fisik yang sebenarnya.sumber
Sepertinya Microsoft telah mengubah / menyembunyikannya lagi, saat ini di:
% USERPROFILE% \ AppData \ Local \ Packages \ CanonicalGroupLimited.UbuntuonWindows _ ?????????????? \ LocalState \ rootfs
Karena ini bisa berubah lebih lanjut di masa depan, lakukan saja saran PGP untuk melakukan pencarian file file .profile atau .bashrc.
sumber
Saya membuat skrip ini yang membuka folder WLS di Explorer
cukup simpan sebagai yourScript.cmd dan jalankan
sumber