Google-chrome – Understand structure of Chrome User Profile data to Transfer to new PC/ OS & avoid Settings corruption Error

cookiesgoogle-chromegoogle-chrome-extensionshistoryuser-profiles

Older answers are not working so I'm including things that may work in pieces.
Chrome Version: 44.0.2403.155 m – 44.0.2403.157 m

I used to be able to copy entire Chrome User Profile\Default from OS to OS and PC to PC.

C:\Users\\AppData\Local\Google\Chrome\User Data\Default

Chrome 44 Stable is more strict. I updated Chrome on both Win 8.1 instances (actual clones) to latest stable Chrome release. I did a copy + overwrite of Default "User profile" & it fails to work.

The resolution/ answer lies in figuring out the structure of User Profile data (folders & files) & what parts of it should be left behind v/s which ones to be migrated.

This error occurs due to changes in Chrome but weirdly, it does not occur on the source PC/OS.

http://www.ghacks.net/2014/04/18/google-chrome-changing-browser-settings-automatically/

http://cdn.ghacks.net/wp-content/uploads/2014/04/chrome-automatic-browser-reset.png

Chrome detected that some of your settings were corrupted by another
program and reset them to their original defaults.

| Learn more | Reset all settings | Sign in

Quote from Learn more:

Settings that Chrome protects from being changed

  • Default search engine
  • Homepage
  • Startup pages
  • Pinned tabs
  • Extensions

If Chrome resets your settings and you’re not signed in to Chrome,
your settings will be reset to their defaults. If you’re signed in to
Chrome, you’ll still see your customized settings.

Sometimes programs will keep trying to change your settings. If this
is the case, Chrome will continue to reset your browser settings every
time it launches. You'll always be able to see your customized
settings by signing into Chrome.

Apparently, as per this thread here, recent versions of Chrome (but not Chromium) seem to be doing some extra 'unwarranted protection' and reset everything without asking the user.

Is it possible to find out what part of settings (files, folders) are causing this error?

  • To ignore those parts and/ or
  • Select parts of User Profile data that will migrate without error?

Thing's I'd like to transfer migrate for sure:

  • Bookmarks (I think this syncs via Google Profile)
  • History (No idea what syncs – I use months & years of history to traceback and recall things)
  • Passwords (partially syncs via Google Profile)
  • Cookies (Not synced) (Important for forums I frequent)
  • Extensions (synced but No Data or Settings synced)
    – Extension Configs/ Settings + Extension Local Stored Data (Very important)

    • (Especially, in extensions like Session Buddy I have stored stuff for few years now)

(Some of this is easily synced via Google account but all of it does not pass over)

Some individual, but older information on transferring/ copying specific items:

Extensions:

..\AppData\Google\Chrome\User Data\Default\Extensions

Cookies:

C:\Users\Your User Name\AppData\Local\Google\Chrome\User Data\Default\Local Storage

%localappdata%\Google\Chrome\User Data\Default\Cookies

chrome://chrome/settings/cookies

Some examples of this not working or people facing issues here:

Some Outdated methods:
I found some relevant methods, articles & answers which I have used before. I believe they are outdated now, given that Chrome has changed how it works with/ locks down User Profiles.

Best Answer

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:

  1. Make sure you backup your old profile before anything. Make sure your User Data\Default\Extensions still has all extension directories.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Related Question