Pertanyaan Di mana direktori root file sistem Ubuntu di Windows Subsystem untuk Linux dan sebaliknya?


Saya telah menginstal subsistem Ubuntu pada Windows 10 (setelah mengaktifkan fitur dalam pengaturan), tetapi di mana direktori root file sistem Ubuntu yang terletak di drive?


299
2018-04-21 10:06


asal


TOLONG DICATAT  Kami (tim WSL) SANGAT menyarankan agar Anda TIDAK melakukan spelunk ke folder data distro Linux ). Jika Anda melakukannya, kehilangan data dan / atau korupsi sangat mungkin Kami sedang bekerja untuk meningkatkan skenario interop ini dan akan mengumumkan kemajuan apa pun di blog kami: blogs.msdn.microsoft.com/commandline - Rich Turner
@RichTurner Saya telah menemukan ada alasan yang sangat spesifik (dan menjengkelkan) - kebijakan perusahaan yang menandai folder .ssh dengan izin yang salah berulang-ulang berarti perlu menandai struktur sebagai "terlarang" ke skrip perusahaan. Tetapi umumnya - saya setuju dengan Anda. - Danny Staple
Meskipun terlihat seperti pada kotak dengan pembaruan yang lebih baru - ini tidak lagi terjadi. - Danny Staple
@DannyStaple Jika Anda perlu mengubah izin pada file / folder di distro Linux Anda dari Windows, gunakan wsl.exe, mis. wsl chmod 600 ~/.ssh/id* - lakukan tidak salin file ke dalam folder ini melalui sistem file Windows. - Rich Turner


Jawaban:


Untuk Ubuntu yang diinstal dari toko Windows:

Setiap distribusi yang Anda instal melalui toko diinstal untuk itu   direktori appdata aplikasi. Sebagai contoh:    C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState  - benhillis

Dalam iterasi sebelumnya dari Windows Subsystem untuk Linux, sistem file Ubuntu berada di %localappdata%\Lxss (misalnya., C:\Users\Username\AppData\Local\Lxss - ganti Nama pengguna dengan Nama Pengguna Anda di Windows). Lihat posting blog WSL pada Dukungan Sistem File:

Sistem file utama yang digunakan oleh WSL adalah VolFs. Ini digunakan untuk menyimpan   File sistem Linux, serta konten dari rumah Linux Anda   direktori. Dengan demikian, VolFs mendukung sebagian besar fitur Linux VFS   menyediakan, termasuk izin Linux, tautan simbolik, FIFO, soket,   dan file perangkat.

Volf digunakan untuk me-mount direktori root VFS, menggunakan    %LocalAppData%\lxss\rootfs sebagai penyimpanan backing. Sebagai tambahan   beberapa tambahan titik mount VolF ada, terutama /root dan    /home yang dipasang menggunakan %LocalAppData%\lxss\root dan    %LocalAppData%\lxss\home masing-masing. Alasan untuk ini terpisah   tunggangan adalah bahwa ketika Anda menghapus WSL, direktori home tidak   dihapus secara default, sehingga file pribadi apa pun yang disimpan di sana akan ada   diawetkan.

PERINGATAN

Membuat / memodifikasi file apa pun dalam subsistem Linux menggunakan aplikasi & alat Windows dapat menyebabkan kerusakan data dan kehilangan data dalam subsistem Ubuntu! (Terimakasih untuk Rich Turner untuk menyarankan kata-kata peringatan ini!) Ini benar-benar tidak didukung. Dari pos blog yang sama:

Interoperabilitas dengan Windows

Sementara file Volf disimpan dalam file biasa pada Windows di   direktori yang disebutkan di atas, interoperabilitas dengan Windows tidak   didukung. Jika file baru ditambahkan ke salah satu direktori ini dari   Windows, tidak memiliki EA yang dibutuhkan oleh VolF, jadi VolFs tidak tahu apa   harus dilakukan dengan file dan hanya mengabaikannya. Banyak editor juga   strip EA saat menyimpan file yang ada, lagi-lagi membuat file   tidak dapat digunakan di WSL.


Sistem file Windows Anda berada di /mnt/c di lingkungan shell Bash.

enter image description here

Sumber: Blog Dustin Kirkland, howtogeek


322
2018-04-21 10:34



Lxss disembunyikan di sistem file saya ... menyebabkan sedikit menggaruk kepala selama satu atau dua menit yang menyebalkan. Sekarang saya telah membuat jalan pintas, tetapi saya masih tidak bisa memunculkannya. - Ogaday
@Ogaday Anda tidak dapat memperlihatkannya menggunakan jendela properti karena ditandai sebagai direktori sistem. Anda dapat menampilkannya menggunakan attrib -s -h lxss yang akan menghapus tanda itu sebagai direktori sistem juga. - developerbmw
Sepertinya lokasi telah berubah atau berbeda antara sistem karena lokasi saya berada di lokasi yang berbeda. Saya telah memposting di bawah ini dengan lokasi saya. - NicholasJohn16
@souravc Bisakah Anda menambahkan catatan penting ke bagian atas jawaban Anda, SANGAT merekomendasikan agar tidak membuat / memodifikasi file apa pun dalam LXSS menggunakan aplikasi & alat Windows: Kerusakan dan kerugian data sangat mungkin terjadi jika Anda melakukannya! - Rich Turner
Silakan baca posting yang disebutkan di atas: blogs.msdn.microsoft.com/commandline/2016/11/17/…. Aman untuk mengakses filesystem Windows dari WSL yang mengapa kami me-mount drive Anda di bawah /mnt/<drive>/, tetapi TIDAK aman (belum) untuk mengakses filesystem Linux dari Windows yang mengapa kami tidak menyediakan akses mudah ke sistem file distro. - Rich Turner


Ini tampaknya telah berubah sejak Bash awalnya diperkenalkan, dan tidak berlaku untuk distribusi dari Windows Store, atau mungkin tidak konsisten untuk semua sistem karena direktori home saya terletak di lokasi lain:

%localappdata%\lxss\home\{username}

atau:

C:\Users\{user}\AppData\Local\lxss\{username}

Dimana {user} adalah nama pengguna dan Windows Anda {username} adalah Nama Pengguna UNIX Anda saat menginstal.

Jadi direktori root adalah:

%localappdata%\lxss

Perhatikan bahwa direktori root mungkin tidak terlihat di Windows Explorer dari %localappdata% direktori. Anda seharusnya bisa mengaksesnya dengan mengetiknya di 'address bar' Explorer.


45
2017-08-10 18:35



Mesin saya tidak dapat menemukan: "C: \ Users \ {user} \ AppData \ Local \ Lxss \ {username}" atau "% localappdata% \ Lxss \ home \ {username}" tetapi "C: \ Users \ {user } \ AppData \ Local \ lxss \ {username} "berfungsi. YAITU. gunakan "lxss" NOT "Lxss" - Joe Codeswell user601770
Sistem saya memiliki subdirektori rootfs, tetapi rootfs / home kosong sementara ./home memiliki akun dan file pengguna saya. Tampaknya paling aman untuk hanya pergi ke% localappdata% \ lxss dan kemudian menjelajahi sekitar dari sana untuk melihat tata letak yang Anda miliki, ditambah langsung browsing ke alamat tersebut menghindari masalah dengan direktori lxss yang tersembunyi. - jla
@ JoeCodeswelluser601770 Aneh sekali. Filesystem Windows biasanya case sensitive. Saya dapat memasukkan% localappdata% \ Lxss atau% localappdata% \ lxss dan keduanya pergi ke% HOMEPATH% \ AppData \ Local \ lxss - jla
Perhatikan bahwa folder ini (lxss) tidak muncul di daftar explorer windows saya folder di AppData \ Local, bahkan dengan tampilan folder tersembunyi yang diaktifkan. Saya harus secara manual menempelkan menambahkan folder lxss ke bar explorer untuk mendapatkan file di sini mis. edit folder "url" ke sana - Colin D
Sebagai alternatif, Anda dapat pergi ke Desktop, klik kanan "New-> Shortcut" dan tempelkan jalur seperti C: \ Users \ yourname \ AppData \ Local \ lxss \ home \ yourname - Colin D


Jika Anda menginstal Linux dari MS Market:

mereka menempatkan distro di bawah:

$ cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/\{861c29b4-ebe2-49a5-8a22-7e53a27934a0\}/BasePath
C:\Users\user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState

Distro default ditentukan oleh:

bash# cat /proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss/DefaultDistribution
{861c29b4-ebe2-49a5-8a22-7e53a27934a0}

Akar Linux lebih dalam:

c:/Users/user/AppData/Local/Packages/46932SUSE.openSUSELeap42.2_022rs5jcyhyac/LocalState/rootfs

PS. Saya menggunakan Cygwin untuk menjelajahi kunci registri.

PPS. https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/


9
2017-09-13 14:54





Satu-satunya hal yang berhasil bagi saya adalah %localappdata%\lxss\home\{username}, Dimana {username} adalah nama pengguna BASH Anda yang Anda berikan saat instalasi. Untuk beberapa alasan, setelah menampilkan lxss folder tersembunyi menolak untuk muncul C:\Users\WINDOWS-USER\AppData\Local\, dan juga memberi penuh C:\ path dengan windows dan username BASH tidak berfungsi juga.

Dan tolong buat shortcut desktop untuk apa yang berhasil.


5
2018-06-09 17:02



tip yang bagus, memiliki masalah yang sama - Nicolas Mommaerts


Anda dapat dengan cepat membuka Bash dari jendela File Explorer dari folder yang dibuka dengan mengetik bash di bilah lokasi.

Itu cukup.

Anda juga dapat menambahkan item menu konteks. Saya pribadi tidak merekomendasikannya jika tidak diperlukan, karena menambahkan pintasan ke menu konteks menggunakan lebih banyak RAM.

https://www.howtogeek.com/270810/how-to-quickly-launch-a-bash-shell-from-windows-10s-file-explorer/


4
2018-02-21 20:19



Tidak bekerja untukku. Ini membuka command prompt dan meluncurkan bash. - blablatros
@blablatros ya tapi di folder di bash di penyihir Anda memiliki explorer terbuka ketika menulis di bash explorer bar dan menekan enter. Coba di folder My Documents membuka folder Windows Explorer dan di bilah tempat tulis bash dan itu akan membuka bash ubuntu di folder itu :) - Kangarooo
@Kangarooo: Saya ingin mengakses file melalui jendela 10 gui begitu juga sebaliknya. Dalam jawaban saya di atas, saya menemukan bagaimana menemukan direktori bash melalui Windows 10 file explorer, dan jadi saya melanjutkan untuk menyalin beberapa file dari hard drive eksternal saya ke direktori itu. Namun, ketika saya membuka terminal bash dan menekan ls -a, itu tidak menunjukkan file yang saya tambahkan. Bash tidak mengenali file yang saya masukkan melalui windows file explorer, yang bagi saya telah sepenuhnya mengalahkan tujuan menginstal bash pada windows. - thinksinbinary