A stupid, very stupid bug in favourites configuration

Topics: Technical Issues
Sep 29, 2015 at 7:59 AM
Edited Sep 29, 2015 at 8:06 AM
This is new from VC 1.14 and above. When I define encrypted file container, assign default mount letter and set it up for mount upon logon (+when host media is connected), I'm getting this stupid and unlogic error after logon (four times):

Drive letter wasn't found or wasn't specified.
Source: MountVolume6955

The favourite volume lies on external drive which is fully accessible on startup.
After manually open VC main window, Favourites > Mount favourite volumes I get the same stupid error

Favourites > select defined volume from menu => same stupid message

Free volume slots list > select the letter used for the fav volume > Favourites > select defined container from menu => Mount successful

This implies that drive letter assigned for favourite volume is completely ignored and VC requires user selection of volume slot first. It's very annoying.

Sep 29, 2015 at 2:43 PM
Edited Sep 30, 2015 at 4:06 AM
Upgrade to 1.15 version of VeraCrypt. The mount on logon was failing to work properly in the 1.14 version.

I would wait for 1.16 version of VeraCrypt or downgrade to 1.13 version.

Issues with 1.15 version reported by users so far are:
  1. Causes extra drive letter to mount for each mounted volume.
  2. Extra drive letters remain in Windows Explorer until reboot even when all volumes are dismounted.
  3. No longer prompted for Recycle Bin when deleting files from non-system encrypted volumes. Only permanently delete files is offered.
  4. If you are running TrueCrypt, TrueCrypt no longer seeing all available drive letters.
Oct 8, 2015 at 9:06 AM
Edited Oct 8, 2015 at 9:07 AM
After upgrade to 1.16 this bug is resolved but more problems are continuing...

Dialog for entering empty password forces to appear when only keyfile is used.

Aren't you guys going to once release properly fixed build?
Oct 8, 2015 at 12:41 PM

As noted in the 1.16 release note, the following change was introduced:
By default, don’t try to mount using empty password when default keyfile configured or keyfile specified in command line. Add option to restore the old behavior.
  • If mounting using empty password is needed, explicitly specify so in the command line using: /p ""
If you need VeraCrypt to try to mount using an empty password when default keyfiles are configured, you have to explicitly check the option "Try first to mount with an empty password" in the menu "Settings -> Default Keyfiles". The screenshot below show this.
If you are using the command line, you can either specify an empty password explicitly or you can use the new switch "/tryemptypass y" documented here: https://veracrypt.codeplex.com/wikipage?title=Command%20Line%20Usage#tryemptypass

This option was added because implicitly trying to mount using an empty password was penalizing users who combine default keyfiles and passwords, which is the recommended secure approach.

Concerning the bug and issue that appear on each release, this is due to the impossibility to test all possible configuration: the number of testers is quiet low even though betas are published regularly. I encourage everybody to participate in the tests of the beta version published in https://sourceforge.net/projects/veracrypt/files/VeraCrypt%20Nightly%20Builds/. They all come with release notes indicating the introduced changes.
Huge efforts are made to bring useful features to the maximum number of users and to fix all issues that may exist. Outside help from the community to test and validate all changes is more than welcomed.

Oct 8, 2015 at 12:58 PM
Edited Oct 8, 2015 at 12:58 PM
Provided command line switches
"C:\Program Files\VeraCrypt\VeraCrypt.exe" /q preferences /a logon /a favorites /tryemptypass y
"C:\Program Files\VeraCrypt\VeraCrypt.exe" /q preferences /a logon /a favorites /p ""
do produce more error messages

Checking "Try first with an empty password" in default keyfiles, VC succeeds to "Mount all favourite volumes" from GUI still doesn't reflect the default volume assigned to automounted container (uses selected volume slot or gives known error
Drive letter wasn't found or wasn't specified.
Source: MountVolume6955

Only "Try first with an empty password" + selecting desired volume slot mounting from GUI works for me.
Oct 11, 2015 at 3:45 PM
I was not able to reproduce your issues: everything work as expected on my side.

I have done a video showing a favorite volume being mount with default keyfile using the command line switches you posted above. It also show the effect of activating the "Try first with an empty password" in the GUI. Here is the link: https://www.youtube.com/watch?v=_CXP2e6JdKc

Are you doing something different? What should I do to reproduce your issues?

Oct 14, 2015 at 1:18 PM
Edited Oct 14, 2015 at 1:18 PM
Again, all VC that gives is that stupid error from OP in infinite loop
  • I have defined default keyfile
  • I have set Try first to mount with an empty password in default keyfiles dialog as on 2nd picture
  • I have defined favourite volume as on 1st picture
VeraCrypt startup command as in HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
VeraCrypt="C:\Program Files\VeraCrypt\VeraCrypt.exe" /q preferences /a logon /a favorites /p ""
Oct 14, 2015 at 7:21 PM
Edited Oct 14, 2015 at 7:23 PM
@tukan: did you see my video above where I demonstrate the same configuration as you and it is working. Do you see something different?

Also, it is possible you are affected by the Windows Mount Manager cache issue that I explained in other posts. For that, you have to look at the "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices" and remove any entry that has the name "\Dos\Devices\A:" or "\Global??\A:".
Here an updated version of the instructions I gave previously:
Check the registry key "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices" using regedit. Scroll down and you'll find entries starting with "\DosDevices\" "\GLOBAL??\" which indicate the drive letters that are taken by the system. Before mounting any volume, double click on each one and remove the ones contains the name "VeraCrypt" and "TrueCrypt".
Also, there are other entries whose name start with "#{" and "\??\Volume{": double click on each one of them and remove the ones whose data value contains the name "VeraCrypt" and "TrueCrypt".