I dual-boot Windows 10 and Lubuntu 16.04.3 on one machine. I use Firefox on both OSs. For a long time, I had them both using the same Firefox profile. In Windows, I left the profile in the default location. In Linux, I'd run Firefox with the -profile switch, and point it to the profile. This worked well for a very long time. All configs and extensions, and all profile data, everything worked perfectly in both.

However, since one of the recent major version updates, this doesn't work anymore. This doesn't work since FF 54 or 55, don't remember which. It works halfway only, as follows.

From Linux, everything is fine. But then when I go back to Windows, the profile is botched, but only somewhat. All custom configs are still retained. But I lose all extensions. The about:addons page shows no extensions installed.

This does not happen the other way around. After loading the profile in Windows, then booting into Linux, the profile is fine. Everything is ok.

So, to summarize: After loading the profile in Linux, it's messed up in Windows.

Anyone know what I can do to get it working seamlessly again? Or have definitive info that this cannot work anymore in current versions?

Hope it's clear.


  • 1
    i think the problem may be a different location path hardcoded into the different firefox versions (windows, linux) BTW: did you give the builtin sync function of firefox a try use two separate profiles but sync the to have the same settings and extensions
    – konqui
    Oct 12, 2017 at 11:11
  • @konqui about the first half of your comment, did you even read the whole thing? About the second half, I did not try the sync
    – Dr.Ping
    Oct 12, 2017 at 12:40
  • 1
    yes i read the whole thing. May be you don‘t understand that setting the path of the profile file via —profile option does not automatically include setting the extension folder path on older versions these both may have been the same but now may have been separated thats what i was trying to say - also keep in mind i said „i think the problem is“ not „The Problem is“ also i didn‘t us answer because i just wanna give you another Option which may help you. If you really wanna have a solution you‘d probably better ask the Mozilla Developers what they changed in those Versions of Firefox
    – konqui
    Oct 12, 2017 at 16:39

2 Answers 2


Based on the answer of skierpage, I could come up with a seemingly permanent fix for this annoying issue. This is a really ugly hack but works for me! The whole solution works only because Windows does not properly handle upper case path names and linux symbolic links. (Change the content of { } brakets to match your setup.)

Start Firefox in Windows, and let it create the profile.

Reboot into Linux and set the profile path in ~/.mozilla/firefox/profiles.ini The file should contain the following text:


Path={Path to Windows partition}/Users/{Windows User}/AppData/Roaming/Mozilla/Firefox/Profiles/{Windows Firefox Profile Name}

Now rename pkcs11.txt to start with upper case P:

$ cd {Path to Windows partition}/Users/{Windows User}/AppData/Roaming/Mozilla/Firefox/Profiles/{Windows Firefox Profile Name}/
$ mv pkcs11.txt Pkcs11.txt

Now start firefox and let it recreate the pkcs11.txt file:

$ firefox

Now close Firefox and move the freshly created file to you linux partition, and make a soft link to it:

$ mv pkcs11.txt ~/.mozilla/firefox/pkcs11.txt
$ ln -s ~/.mozilla/firefox/pkcs11.txt {Path to Windows partition}/Users/{Windows User}/AppData/Roaming/Mozilla/Firefox/Profiles/{Windows Firefox Profile Name}/pkcs11.txt

And enjoy :-) I hope it works for you too!


Mozilla doesn't promise that sharing a profile across architectures will work; instead engineers recommend that you have separate profiles and use Firefox Sync to share bookmarks and such.

I use separate profiles for Windows and Linux in the usual places (%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\profiles.ini in Windows and $HOME/.mozilla/firefox/profiles.ini in Linux). Each specifies Path= in the native format for that operating system, and the Linux one is the path to my mounted NTFS volume where I keep the shared profile.

My uBlock Origin and Ghostery extensions seem to work fine. But I just looked at extensions.json in my shared profile and I notice Firefox Monitor, Web Compat, and WebCompat Reporter have hardcoded O.S.-dependent absolute path keys, so they probably don't work cross-platform. I haven't tried removing these keys or specifying relative paths.

The big problem I have had for months is my saved logins were empty on Linux, plus I had Sync failures. With help from the NSS team ❤ I figured out that the problem (bug 1541284) lies in pkcs11.txt: it has an O.S.-dependent configdir parameter, which in my case was parameters=configdir='sql:C:\Users\myname\FIREFO1\BLAHBL1.MYN'..., which obviously won't work on Linux. But if you don't have any special public-key cryptography settings, it seems you can delete pkcs11.txt from your profile the first time you boot in the other O.S., and Firefox will recreate this file.

I also share a Thunderbird profile directory containing all my mail between Windows and Linux. I haven't noticed problems with this, though it too has an OS-dependent configdir parameter in pkcs11.txt.

You must log in to answer this question.

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