5

I know that /data partition contains user-generated data (/data/app - user apps, /data/data - app data, etc).

But what is the /data/system folder used for, and does it have any significance in the boot procedure (e.g. - boot scripts, etc)?

A sub-folder-wise explanation would be preferred.

3
  • Boot scripts generally reside on /system/init.d/. /data/system/ typically stores system configuration files used by hardware or controllers, things that apps do not have access to. Driver configuration is also stored in /data/misc/.
    – GiantTree
    Sep 15, 2016 at 17:26
  • In addition to what @GiantTree said, /data/system/ also holds the list of all the installed packages (as a XML file), the AppOps settings, details of the components of the eventual themes which have been enabled, info about which activities from which apps have been disabled, classified in a per-user fashion (user 0 representing the device owner), the different keyboard layouts (e.g. QWERTY and AZERTY)... that directory is a gold mine.
    – Grimoire
    Sep 15, 2016 at 19:46
  • Oh, yes... there are also the pattern, PIN and password lock files, there.
    – Grimoire
    Sep 15, 2016 at 19:52

1 Answer 1

6

data/system folder contains system configuration files critical to maintaining device's state. Access to the directory is restricted by the system apps only, so if the device is not rooted the folder content can't be seen.

Below is the list of files residing in the directory with a brief description. Note that the list is not completely full and also may vary depending on the OS version.

  • appops.xml - a configuration file used by the AppOps service which controls application permissions;
  • called_pre_boots.dat - a file used by ActivityManager to hold pre-boot broadcast receivers;
  • batterystats.bin - a binary used by the BatteryStats service to keeps power statistics of application installed;
  • gesture.key - lockscreen pattern;
  • inputmethod/ - a directory used to store IME configuration. Contains subtypes.xml with IME locales, keyboard layout sets etc;
  • locksettings.db - a SQLite database containing the lock screen settings;
  • netpolicy.xml - a configuration file used by the NetworkPolicyManagerService;
  • netstats/ - a directory used to hold NetworkStatsService statistics;
  • packages.list - a file used by the PackageManager service containing the list of all packages (apks) installed in the system (same as executing pm list packages within shell);
  • packages.xml - a file used by the PackageManager service to hold metadata of all installed packages, like UIDs, requested permissions etc;
  • profiles.xml - a configuration file to keep metadata of device profiles including sound mode, airplane mode, vibration etc.;
  • password.key - password hash;
  • usagestats/ - a directory used to store files for the UsageStats service. Contains usage-history.xml that holds info on all apps and its components with the last time a user used them;
  • users/ - a directory used for multi-user support. Contains userlist.xml which keeps info on all users in the system (0 - is a device owner/primary user); e.g. a sub-directory users/0/ holds info on the user account (accounts.db), widgets (appwidgets.xml), wallpaper (wallpaper_info.xml) etc.
2

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .