0

Windows 10 Build 16299

GNU Bash Version 4.3.11

VeraCrypt 1.19

Previously, I had an encrypted container mounted on the H: of my machine, which I could access with both the Explorer window and cmd line (e.g. user@host:/mnt/h/[folders and files]) alike, no problem.

However, I recently created a new encrypted container and mounted it to the R: drive, and I am now unable to access EITHER drive directories from the command line.

Using WSL bash from the command line terminal:

  • cd /mnt/c shows all of my C: folders and the full file directory
  • cd /mnt/h takes me to H:, but [ ls -l ] shows a total of 0 files underneath -- should have 6 folders and 1 file
  • cd /mnt/r takes me to R:, but shows a total of 0 files under -- should have 7 folders and 5 files

Both drives are FAT32 format, and I know about the issue being only NTFS drives working in WSL; but this was working previously, no problem, when I had only the single H: mounted and now I cannot figure out how to get access to the folders/files from the command line?

image of mnt options

Again, I used to be able to access, read, write files using commands like

'cat /mnt/h/dir1/technology/folder1/sub-folder2'

no problem.

5
  • Are you saying that the volumes are accessible through Windows Explorer? Apr 24, 2018 at 2:02
  • Also try this command ls -lash /mnt/h .
    – Biswapriyo
    Apr 24, 2018 at 10:37
  • @Scott - yes, I can access all files in h: and r: from windows explorer Apr 24, 2018 at 14:01
  • @Biswapriyo - they are both virtual encrypted containers, setup and accessed/mounted using VeraCrypt Apr 24, 2018 at 14:01
  • @Biswapriyo - I did, and all I see are the '.' and '..' directory inodes Apr 25, 2018 at 15:53

2 Answers 2

1

For anyone who wandered across this issue and didn't find the read-only flag to be the problem, I've stumbled across another fix for this.

For my situation it seems that on WSL2 when veracrypt is mounted, WSL doesn't actually mount the filesystem. I realized this when I didn't see an entry in the mount command. You can mount it via:

sudo mkdir -p /mnt/a
sudo mount -t drvfs A: /mnt/a

This assumes that your have the veracrypt container mounted at A: on windows.

I added this into my .bashrc and haven't had any issues since:

# Mount Encrypted Containers
count=$(sudo mount | grep "/mnt/a" | wc -l)
if [ $count -ne 0 ]
then
     echo "/mnt/a is allready mounted."
else
     echo "Mounting /mnt/a..."
     sudo mkdir -p /mnt/a
     sudo mount -t drvfs A: /mnt/a
fi

The conditional keeps drvfs from mounting the filesystem several times on top of itself.

0

Wow - So I had changed the property of the encrypted file on my SSD to 'read-only' to protect from an inadvertent deletion of the container...

When VeraCrypt was mounting the container, it carried over the 'read-only' property. Surprisingly, it also meant that I couldn't read or list any of the folders/files within the wsl/bash terminal...

I unchecked the 'read-only' value in the windows properties dialogue box, remounted the drive, and it's working.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .