User home *apparently* scracthed after Big Sur update

After a Big Sur update (to 11.2.3) and the usual multiple reboots, when I was able to log into my account I discovered that the whole user folder was apparently scratched away and recreated as if it was a new user. Generally speaking a really scary thing, even though I have a fresh backup done just before running the update; but it is not a good perspective having to spend several hours while restoring 2TB worth of data (SSD are fast, but that amount of data still requires some time).

How to recover from that?

Fortunately I've been able to fix it by myself, so I'm going to post an answer below; just in case it might be useful for others or it happens again...


Solution 1:

The key point of the problem is that my user profile (fritz) is located on a separate encrypted volume Users, so its actually home path is /Volumes/Users/fritz. When I login after a reboot I use another account to enter into the system (administrator) that is regularly located on the root volume (/Users/administrator): then I enter the encryption password for the Users volume and at last I log into my main account.

This setup (which has been working for years) probably messed up the latest system update tool, because it basically recreated a new user fritz from scratch (when I logged in after the system update I was not only asked for enabling Siri - it always does it - but also other preferences, such as the light/dark theme, a thing that happens for users that have just been created). The path of the new bogus account was /Volumes/Users/fritz as it should be but it was not a mount point: it was just a plain directory of the root volume. The Users volume was mounted at /Volumes/Users 1 and everything was still there, but no more associated to the fritz account.

The obvious solution was to remove the bogus /Volume/Users directory, but the system wouldn't let me do that, even from sudo - typical security restrictions of the latest macOS's I suppose. I rebooted in Recovery mode just to find - to my surprise - that the bogus directory had not been created in that mode; so it was impossible to remove in that way.

At last the solution was:

  1. Log in as administrator as usual, without entering the password for the Users volume.
  2. Remove the user fritz.
  3. At this point I was able to remove with sudo the bogus directory /Volume/Users.
  4. Open the Disk Utility and mount Users. Now the volume was mounted in the right place.
  5. Re-create the fritz user with all the previous settings (UID and home folder path).