Understand structure of Chrome User Profile data to Transfer to new PC/ OS & avoid Settings corruption Error?
I found a way to transfer without resetting. As you can guess, Chrome keeps around checksum/hash in the user profile.
I found the file is User Data\Default\Secure Preferences
. This is a plain-text JSON file, so we can take a look of it. In this file there are this protection
and super_mac
, which stores the HMAC_SHA256 of the other objects. If verification fails, the reset is triggered. This feature is implemented in Chromium, so if you are interested you can read their source code.
The way I go is this:
- Make sure you backup your old profile before anything. Make sure your
User Data\Default\Extensions
still has all extension directories. - Make sure you also sync everything you need to Google account. Note, even you do this, many local extension preferences are not synced (extension not support). That's why we need next steps.
- Create a new profile. Then sync up with Google account. This will download every extension to the new profile. This step is to get you a good new
Secure Preferences
file. - Close Chrome. Find the
Secure Preferences
file from the new profile. Use it to replace the one in your old profile. Remove the new profile and replace with your old profile. Now you should have almost everything restored. - There is chance that some of your extensions (their preferences are still intact) are missing. This is because the extension directory path is versioned, and in step 3 Chrome created different path. You need to rename those from the old profile to the new one. Do not tamper the
Secure Preferences
.
Good luck. I really hope Google change mind to allow user to transfer profile, since they can't guarantee that every extension will implement the preference sync.
For time being, this method works on Chrome 49.0.2623.75. Google may change the verification method in the future.
I have made several improvements upon Crend King's answer and found a method to transfer the user profile locally without the need to sync to a Google account and with no missing extensions.
I used these steps to migrate the Chromium 59.0.3071.115 build from https://chromium.woolyss.com from Windows 7 to Windows 10. However, the differences between Chrome and Chromium described on this page indicates that while the path to the user data directory will be different, the contents thereof are compatible and can even be used to migrate directly from Chrome to Chromium.
Some example paths here:
- Chrome on Windows
%APPDATA%/Local/Google/Chrome/User Data
- Chromium on Windows
%APPDATA%/Local/Chromium/User Data
- Chromium on Linux
$HOME/.config/chromium/user data
These steps will migrate the Default
profile found at User Data/Default
, but will also work for other profiles found at User Data/Profile 1
, User Data/Profile 2
, and so on.
Backup your old profile and make sure your extensions are still under
User Data/Default/Extensions
. You will need to reinstall all your extensions from the Chrome web store and the contents of this directory will help you find which extensions you had if you no longer have access to your previous OS or you cannot remember all of them.Delete the existing
Chromium/User Data
directory and run Chromium to recreate it.Install all your extensions. The easiest way to do this is to look at the directories under
User Data/Default/Extensions
from your backup. For instance, if you had HTTPS Everywhere installed, there would be a directoryUser Data/Default/Extensions/gcbommkclmclpchllfjekcdonpmejbdp
. Then the Chrome web store URL ishttps://chrome.google.com/webstore/detail/gcbommkclmclpchllfjekcdonpmejbdp
.If you had
Settings -> On startup -> Continue where you left off
set previously, set it again.Close Chromium and delete everything under
User Data/Default
exceptExtensions
andSecure Preferences
. Then copy everything in from your backup underUser Data/Default
exceptExtensions
andSecure Preferences
.
The reason for retaining Extensions
is that, as noted by Crend King, the extension directories are versioned. I found that the contents of these directories are verified and if the extension has updated since the backup was made, then Chromium will consider the extension to be corrupt and your settings will be clobbered upon repair.
These will be migrated for sure:
- Bookmarks
- History
- Extensions and all extension settings/configs/local data
- Download history
- Most Chromium settings, including most items under
Privacy and security
,Content settings
, andDownloads
- Session tabs if you save them
Not migrated:
Settings under
chrome://extensions/
such as whether a particular extension is enabled or allowed in incognito. I believe this is a part ofSecure Preferences
.Profile name and icon which will default to
Person 1
and the grey icon. This information as well as the list of available profiles is stored inChromium/User Data/Local State
and it does not seem hard to copy over the relevent parts.
Not tested:
- Cookies
- Passwords
- Saved forms