[Sprint HTC One (M7)] smatherlee:
I decided to start this thread as both assistance for some as well as a collaberation on workarounds when you a person flashes a 4.2.2 rom coming from a 4.1.2.

Just like some (maybe most) I flashed CM 10.1 and played around a bit with it and decided it was just not ready to be run as a daily. Being the flashalohic that I am, I made sure I backed up before flashing CM 10.1 so when I went into recovery and went to restore imagine my surprise when it was blank, yep nothing was there. Why did this happen? Well doing some research and reading/searching I found out that the update from Android 4.1.2 to 4.2.2 changes the file structure of the 'virtual' sdcard on our devices. Actually it changes it for every device. What has changed is that the ability to add user accounts, similar to any regular computer, has been implemented. However, if the proper steps are not taken before you flash a new 4.2.2 Rom, you will end up with a huge mess and run out of room on your device in a hurry.

The actual location when viewed with a root file manager has been here on 4.1.2:

/data/media

And though you will see the same files in /sdcard and /storage/sdcard0, those are just symlinks to the same info, just like a shortcut (on a windows box) or alias (on a mac box). Once you flash a 4.2.2 ROM, the actual location gets changed (and all the files moved) to here:

/data/media/0

And the symlinks get changed to /sdcard/0 and /storage/sdcard0/0. On the surface, no big deal, right? Wrong. The problems arise if the version of your custom recovery is not compatible with a 4.2.2 ROM. If it is not and you keep flashing 4.2.2 ROMs you might soon end up in trouble. If, while using the 'older' custom recovery, you continue flashing, your sdcard ends up somewhere around here:

/data/media/0/0/0/0/0/0 (etc.) with all your files copied to every '0' directory and your symlinks end up the same way, and your device quickly runs out of space (the dreaded "your device is low on storage" message).

This may also make it very difficult to restore your nandroid of a 4.1.2 ROM as well. If you are already in that situation, not to worry, the solution for that is later in this post.

So far I have only been able to to copy all the files found in the last /data/media/0/0/0/0 (?) folder to my computer. Then using a file manager that will show hidden files and folders, copy/move the files in the last '0' directory to:

/data/media/0

And then use file explorer to delete all the other '0' directories until I have just this one:

/data/media/0

leaving nothing else in the symlinks but /sdcard/0 and /storage/sdcard0/0. This techniques is if you end up with a huge file structure.

****BACK UP YOUR SD CARD FIRST!!!!! before deleting any 0 folders!!!****

NOTE: A reboot of your device is essential at this point.

If after flashing a 4.2.2 ROM you decide you don't like it and want to restore your nandroid to your saved 4.1.2 ROM, how does that work out?

1.) Get yourself a (good) root file browser.

2.) Brows to /data/media/0

note: this is where android (and almost everything else that uses a Linux kernel) mounts anything that is considered "external" storage.

3.) Do all of your file fixing from here. It will make changes universally.

4.) select all within /data/media/0 and then paste everything back into /data/media selecting merge and/or overwrite. Once done, just delete the /data/media/0 folder, reboot your phone and Profit.

This is a pain and I agree but at this point is the only way I know how to get around this. If anyone knows other ways please share.

* While writting this I came across this info from user elfaure. I havent tried this yet as I am at work and get crappy signal but please post results if you try and if it works, please thank him! *

elfaure: Ok folks for next guy who decides to upgrade to 4.2 but does NOT want the multi-user environment, give this a try.

1. Download the attached file

2. Remove the .txt extension

3. Copy it to your /data directory

4. Open Android Terminal Emulator (Free Market app if you don't already have it)

5. At the prompt type "cd /data"

6. Type "chmod 644 .layout_version" on the file in /data (/data/.layout_version)

Code:

cd /data

chmod 644 .layout_versionNow when you upgrade to 4.2 you should stay single user and have no /data/media/0 directory when you are done. If anyone tries this please let me know if it works and thank me if it does.

ps-its just a special file in a special location, the presence of which tells Android NOT to upgrade your system to a multi-user environment. If you later decide you want multi-users, delete the file and reflash (from recovery) the stock or custom firmware or ROM or recovery. If your custom ROM or recovery wipes the entire /data partition less /data/media including this file, obviously then this will not help, but with latest versions of ROMs and recoveries that should not happen any more.

http://xdaforums.com/showthread.php?p=40911246#post40911246

It also looks as if he may be working on a script to help as well and I will keep track and update as needed.

So far this is what I have come up with and I hope it helps some and I hope others that are smarter than I can correct me if I am wrong on any of the above or other add information on other ways to correct this.