How to restore Lost home folder after logging in as guest in Snow Leopard
Be aware that Snow Leopard seems to have a problem with how guest accounts are handled on systems that had them enabled before upgrading from Leopard.
Be aware that Snow Leopard seems to have a problem with how guest accounts are handled on systems that had them enabled before upgrading from Leopard. In several cases, people have accidentally logged in to their guest accounts and upon logging out and back into their normal accounts have found their data missing. Wein the past, but here are some extra options for restoring the lost home folder from a backup.
This problem seems to be occurring with people who have had the guest account enabled for log-in before upgrading to Snow Leopard. After the upgrade, some problem with the account configuration can result in a non-guest account being cleared and reset the same way guest accounts are reset upon logout (See the latest Apple discussion post about this problem here).
So far this has not happened for computers where the guest account has been enabled after upgrading. As such, one preventative measure is to disable the guest account's ability to log in (and then disable the account altogether), and re-enable it so Snow Leopard sets it up instead of using the configuration that Leopard set up. I tested this out on my Snow Leopard upgrade (upgraded from 10.5.8 to 10.6) and the guest account worked as expected when enabled in Snow Leopard.
Additionally, if you do not need the guest account, just disable it. If you do need guest log-in functionality and do not want to take any chances, you can create a managed user account without a password to use instead of the guest account. Parental controls can then be used to apply extra restrictions to the account (the only main difference will be the account will not reset upon logout).
As for tackling the lost home folder problem when it has occurred, you will need to have a backup of your data. We strongly urge everyone to use Time Machine or a similar full system backup for this very purpose, and hopefully those who are affected have a recent backup handy. Here are the ways to restore your home folder from a backup:
Immediately restore the entire system
If this problem just occurred, and you have Time Machine running all the time, you should be able to restore your whole system installation to the most recent backup (within the hour). To do this, follow these steps:
- Boot from the Snow Leopard DVD (hold "C" at start-up with the disk in the drive).
- Select your language and choose "Restore from Backup" from the "Utilities" menu.
- Follow the onscreen instructions and be sure to select the most recent backup from the list of available restore points.
- Click "Restore" and wait for the procedure to complete (may take an hour or two).
After this process is completed, try disabling and re-enabling the guest account, or using the alternatives I suggested above.
Restore the home folder
You can restore the lost home folder from a backup without restoring the full system (though the first method is the most straightforward). To do this, follow these instructions:
- Create a new admin account in the "Accounts" system preferences (new name, new password).
- Log out, and log into the new account.
- Go to the /Macintosh HD/Users/ directory in the Finder and invoke Time Machine.
- Navigate back in time to where you can see the most recent intact home folder that was lost.
- Select and restore that folder to the Users directory using the "Restore" button.
(Skip the following steps for the alternative method below.)
- Go back to the Accounts system preferences and right-click the account with the lost home folder, and choose "Advanced Options."
- Next to the "Home directory" field click "Choose" and select the restored home folder.
- Click "OK" and save the changes, and then log out of the new admin account.
- Log into the old account.
An additional step to this is to ensure the old account is working properly. After step five above, where you restore the folder to the Users directory, follow these steps instead of the remainder of the steps in the above procedure:
- Go to the Accounts system preferences and delete the old account.
- Use the "+" sign to create a new account, giving it the same short and long names as the previous one, with the same password.
- If the system claims an old home folder exists with that name, select the option to use that folder.
- Check that the new account is using the old home folder by right-clicking it and in the "Advanced Options" check the home directory path (changing it as described above if it is different than that of the restored home folder).
- Log out and log back into the newly created account to test it.
This alternative procedure will ensure the old account is refreshed and started new, but keeping the data in it preserved. This will give it new user and group IDs, along with other unique identifier numbers that may have been in conflict with the "guest" account, resulting in the lost home folder upon logout of the guest account.