All add-on data & customization cleared after force shutdown
Yesterday my Windows 10 laptop was frozen at the lockscreen, so I force stopped it by holding the power button. After I restarted it, Firefox had reset all my customization (add-on placing in the toolbar, applied theme, toolbar/address bar spacings, logged out of Sync) and seemingly cleared all my add-on data (userstyles disappeared, tampermonkey scripts deleted, have to log in again in lastpass, etc). Restarting Firefox has no effect. I've already logged in to Sync again. Is there any chance this data is recoverable?
Thank you for your time.
All Replies (9)
Look on your desktop. Do you see a folder called; Old Firefox? Look inside. Look for the folder with the latest creation date.
https://support.mozilla.org/en-US/kb/recovering-important-data-from-an-old-profile
https://support.mozilla.org/en-US/kb/back-and-restore-information-firefox-profiles
https://support.mozilla.org/en-US/kb/how-run-firefox-when-profile-missing-inaccessible
Some other users have reported that "power loss" crashes zapped those same files. I don't know what causes it.
Windows 10 might have created a recent-ish backup of the files you lost, although, with add-on databases, it can be difficult to know which ones were destroyed. But here's how you would look for the older files:
Finding/Using Shadow Copies
You can use a utility program to search inside restore points to try to locate an old file that's usable. (Please do NOT try to use the built-in Windows System Restore for this because you probably would lose data.) Here are the steps:
(1) Set Windows to show hidden files and folders:
https://support.microsoft.com/en-us/help/14201/windows-show-hidden-files
(2) Download and run one of these two programs:
- ShadowExplorer: http://www.shadowexplorer.com/
- System Restore Explorer: http://nicbedford.co.uk/software/systemrestoreexplorer/
Within the most recent restore point shown in the program, you can explore along this path to see whether you can find a shadow copy of your profile:
\Users\your-user-name\AppData\Roaming\Mozilla\Firefox\Profiles\
(3) Most of your customizations, such as pinned tabs and toolbar button sequence, are stored in the prefs.js file. You can copy that file out of the restore point to your desktop for reference.
(4) Extension databases are stored with offline website data in the storage folder:
[profile folder]\storage\default\
You'll see a bunch of folder names starting with moz-extension+++ followed by a unique ID.
You could copy out the entire default folder under storage for reference and possible file mining. However, it is impossible for us to give step-by-step instructions because the unique ID is randomized for different installations. However, your recovered folders and your live folders should match.
Thank you both for your replies.
Unfortunately, I haven't been able to recover any data with the above methods. There is no Old Firefox Data on my desktop, and it appears that there are no backups by Windows 10 because System Protection is disabled. The only thing I found is that some extensions have two folders, one moz-extension+++xyz and one moz-extension+++xyz^userContextId=123. But neither seems to contain my data :(
Again thank you for your time!
https://support.mozilla.org/en-US/kb/how-run-firefox-when-profile-missing-inaccessible
http://kb.mozillazine.org/Profile_folder_-_Firefox#Navigating_to_the_profile_folder
https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles
https://support.mozilla.org/en-US/kb/back-and-restore-information-firefox-profiles
Type about:profiles<enter> in the address bar.
How many profiles are listed?
How many should be there?
Also, open the folder in your file explorer.
Hi zeepsop, sorry to hear about that.
The difference between the two folders is related to user context. Possibly the longer folder name is the newer version.
Within each folder there would be an idb folder and a somename.sqlite database or two.
Do you see any other files that could have "corrupted" tacked on to the name? I don't know if they would be recoverable, but just looking to see whether there are any vestiges.
In Firefox 65 and earlier, extension data was stored in a different folder. There is a method to persuade Firefox to re-convert the Firefox 65 data, which would be old but probably better than nothing. This blog post describes that method if you want to try it:
https://blog.mozilla.org/addons/2018/08/03/new-backend-for-storage-local-api/
I once tried the migration steps and needed to delete compatibility.ini to invalidate all caches because otherwise the storage.js file simply got cleared (size 0).
Keep a backup copy of storage.js.migrated.
- uninstall extension
- close Firefox
- browser-extension-data\<extension-id>\storage.js.migrated => storage.js
- delete compatibility.ini
- restart Firefox
- reinstall extension
FredMcD: There's two profiles, one that I use for the developer edition and one for the normal firefox. My dev edition profile did not get corrupted/damaged, all extension and customization data is still there.
jscher2000: In both folders the file structure is like this (for the Stylus extension):
idb/ xyz.files/ xyz.sqlite .metadata .metadata-v2
There are no files in the xyz.files folder. The sqlite databases have the same structure but a little different data. No idea if this could be useful at all, but I'll include it just in case: In one, the database table has a row with name "Stylish", and the object_data table has one row with as key the binary data 10bff0. In the other database the database table has a row with name "webExtensions-storage-local", and the object_data table contains two rows with ids 0ecJoDispnfTupsbhf and 0vqebufMph.
In the entire profile folder there is no file containing 'corrupted' in the name.
jscher2000 / cor-el: Firefox <65 data: in the browser-extension-data there seem to be no folders for the extension data I care about (Stylus and to a lesser extent Lightbeam). I've compared all IDs to the current extension IDs and checked the storage files for anything I couldn't find a match for.
Does about:debugging still show the correct UUID for this extension? All UUIDs are stored as a preferences in prefs.js, so if there were issues with this file then a new UUID might have been assigned.
Hi zeepsop, thank you for digging around for other files.
For Stylus, it is normal that the database is named stylish since Stylus was a fork of an old version of the Stylish extension. Unfortunately, if you only have one row in object_data, then I don't think that database will be useful.
It's possible there is a tool that can check inside a SQLite database file to see whether there are "deleted" rows that have not yet been removed from the file. However, I don't know if those exist.