New post and video on WSL filesystem features


One of the most frequent questions we get about Bash/WSL is how WSL provides a Linux-compatible filesystem atop NTFS and how filesystem interop works.

Well, wonder no more dear reader - in this new blog post and the video below, Sven Groot explains to Seth Juarez how WSL's filesystem support works.

 

Comments (6)

  1. mobluse says:

    When you move a file from the Linux file system to NTFS do the extended attributes get removed?

    1. Yes. *NIX file properties are persisted as NTFS extended attributes and so if the file is not replaced/rewritten when it’s in NTFS, the attributes will be persisted and re-read when the file is moved back to the *NIX side of the filesystem.

  2. Ah… thank you.

    I wanted to get the .ssh directory from one of my Linux machines into /home/user and thought I could do that by dropping the file into C:\Users\User\AppData\Local\lxss\home\user, but as Sven pointed out, it won’t be seen from MS Bash.

    The solution was to drop it in a DriveFS location and then mv it to /home/user

    I do think MS Bash could be a little more forgiving of alien NTFS files that turn up, but I’m sure there are good reasons for the way it behaves.

    1. There are reasons we don’t yet support modifying the Linux filesystem from Window, but whether they’re “good reasons” depends on your viewpoint 😉 The reasons are, however, sound: fixing this issue will take quite a lot of work and we’ve prioritized this lower than many of the other more pressing items on our backlog at present.

  3. Giacomo Petrussa says:

    Hi. This is fantastic, thank you so much!
    But… I didn’t understand very well these things:
    1)What’s the corrispondence between the VolFs and the DriveFs?
    2)What’s the difference between my Windows user account and the linux user account.
    3)Where is my virtual Linux account allocated? In lxcore.sys?

    Thank you so much!

    1. 1) As per the blog post on the WSL filesystem (https://blogs.msdn.microsoft.com/wsl/2016/06/15/wsl-file-system-support/):

      VolFs is used to store the Linux system files, as well as the content of your Linux home directory. As such, VolFs supports most features the Linux VFS provides, including Linux permissions, symbolic links, FIFOs, sockets, and device files.

      2) The *NIX user account is entirely separate to your Windows user account and infers no permissions within Windows. In other words, if you sudo in Linux, only your rights within VolFS and Linux are elevated – it doesn’t give bash admin rights.

      3) Your Linux user account is created using the normal Linux useradd command and the password is allocated within /etc/passwd as per usual.

Skip to main content