Dove si trova la directory root del file system di Ubuntu in Windows Subsystem per Linux e viceversa?

297

Ho installato il sottosistema Ubuntu su Windows 10 (dopo aver abilitato la funzione nelle impostazioni), ma dov'è la directory root del file system Ubuntu che si trova nell'unità?

    
posta July 21.04.2016 - 12:06
fonte

5 risposte

316

Per Ubuntu installato dallo store di Windows:

  

Ogni distribuzione che installi attraverso il negozio è installata su questo   directory appdata dell'applicazione. Per esempio:    C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState - benhillis

Nelle iterazioni precedenti di Windows Subsystem per Linux, il file system di Ubuntu era a %localappdata%\Lxss (ad es. C:\Users\Username\AppData\Local\Lxss - sostituisce il nome utente con il tuo nome utente su Windows). Vedi il post del blog WSL sul supporto del file system :

  

Il file system principale utilizzato da WSL è VolFs. È usato per memorizzare il   File di sistema Linux, così come il contenuto della tua casa Linux   directory. Come tale, VolFs supporta la maggior parte delle funzionalità del VFS di Linux   fornisce, tra cui permessi Linux, collegamenti simbolici, FIFO, socket,   e i file del dispositivo.

     

VolFs è usato per montare la directory radice VFS, usando    %LocalAppData%\lxss\rootfs come memoria di supporto. Inoltre, a   esistono alcuni punti di montaggio VolF aggiuntivi, in particolare /root e    /home che sono montati usando %LocalAppData%\lxss\root e    %LocalAppData%\lxss\home rispettivamente. La ragione di questi separati   monta è che quando si disinstalla WSL, le directory home non lo sono   rimosso per impostazione predefinita, quindi verranno memorizzati tutti i file personali memorizzati   conservato.

ATTENZIONE

Creazione / modifica di qualsiasi file all'interno del sottosistema Linux tramite app e ampli di Windows gli strumenti possono causare la corruzione dei dati e la perdita di dati nel sottosistema di Ubuntu! (Grazie a Rich Turner per suggerire queste parole di cautela!) Questo è assolutamente non supportato. Dallo stesso post del blog:

  

Interoperabilità con Windows

     

Mentre i file VolF sono archiviati in file normali su Windows in   le directory menzionate sopra, l'interoperabilità con Windows non lo è   supportato. Se viene aggiunto un nuovo file a una di queste directory   Windows, manca degli EA necessari a VolFs, quindi VolFs non sa cosa   fare con il file e semplicemente lo ignora. Molti editori lo faranno anche   spoglia gli EA quando salvi un file esistente, facendo di nuovo il file   inutilizzabile in WSL.

Il tuo file system Windows si trova in /mnt/c nell'ambiente shell Bash.

Fonte: blog di Dustin Kirkland , howtogeek

    
risposta data souravc 21.04.2016 - 12:34
fonte
45

Sembra che sia cambiato da quando Bash è stato inizialmente introdotto e non si applica alle distribuzioni da Windows Store, o forse non è coerente per tutti i sistemi poiché la mia home directory si trova in un'altra posizione:

%localappdata%\lxss\home\{username}

o

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

Dove {user} è il tuo nome utente di Windows e {username} è il tuo nome utente UNIX impostato durante l'installazione.

Quindi la directory radice sarebbe:

%localappdata%\lxss

Si noti che la directory root potrebbe non essere visibile in Esplora risorse dalla directory %localappdata% . Dovresti comunque accedervi comunque digitandolo nella 'barra degli indirizzi' di Explorer.

    
risposta data NicholasJohn16 10.08.2016 - 20:35
fonte
8

Se installi Linux da MS Market:

hanno posizionato distro sotto:

$ 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 predefinita definita da:

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

La root di Linux è più profonda:

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

PS. Ho usato Cygwin per esplorare le chiavi di registro.

PPS. link

    
risposta data gavenkoa 13.09.2017 - 16:54
fonte
5

L'unica cosa che ha funzionato per me era %localappdata%\lxss\home\{username} , dove {username} è il tuo nome utente BASH che hai fornito durante l'installazione. Per qualche ragione, dopo aver mostrato che lxss della cartella nascosta si rifiuta di apparire in C:\Users\WINDOWS-USER\AppData\Local\ , e anche il pieno% path% di percorso con windows e BASH il nome utente non funziona.

E per favore crea un collegamento sul desktop per ciò che funziona.

    
risposta data thinksinbinary 09.06.2017 - 19:02
fonte
4

Puoi aprire rapidamente Bash da una finestra Esplora file della cartella aperta digitando bash nella barra degli indirizzi.

È sufficiente.

Inoltre puoi aggiungere una voce di menu contestuale. Personalmente non lo consiglio se non necessario, perché l'aggiunta di scorciatoie al menu contestuale utilizza più RAM.

link

    
risposta data Kangarooo 21.02.2017 - 21:19
fonte

Leggi altre domande sui tag