Пояснение: где находится /storage/emulated/0 и как получить доступ к внутреннему хранилищу
Коротко: /storage/emulated/0 — это виртуальный (эмулированный) путь к внутреннему хранилищу пользователя в Android; физически файлы лежат в /data/media/0 и доступны через механизм эмуляции (sdcardfs/FUSE), а для обычного пользователя работать нужно через /sdcard или встроенный проводник.
Оглавление {{TOC_AUTOMATIC}}
Что означает /storage/emulated/0
- /storage — корень для точек монтирования хранения.
- /storage/emulated — область, где система создаёт виртуальные (эмулированные) пользовательские хранилища.
- /storage/emulated/0 — представление хранилища основного пользователя (user 0); в пользовательских приложениях часто отображается как /sdcard или "Internal storage".
Зачем нужна эмуляция: раздел /data защищён и недоступен для приложений без привилегий. sdcardfs или FUSE обеспечивают совместимый интерфейс "SD-карты", управляют правами и поддерживают несколько пользователей (например, /storage/emulated/10 для user 10).
На многих устройствах /sdcard и /storage/emulated/0 ведут к одному и тому же набору файлов — это виртуальный ярлык для пользовательских данных.
Где физически находятся файлы
Физический каталог: /data/media/0
- /data — раздел данных (доступен только системе и root).
- media/0 — реальные файлы пользователя: DCIM, Download, Pictures и т. п. Соответствие:
- /storage/emulated/0/DCIM ⇄ /data/media/0/DCIM
- /sdcard/Download ⇄ /data/media/0/Download
Механизм: sdcardfs/FUSE перехватывает обращения к /storage/emulated/N и предоставляет видимые права для приложений, не давая им прямого доступа к /data.
Как получить доступ к внутреннему хранилищу — практические способы
- Через приложение «Файлы» на устройстве
- Откройте «Файлы» → Внутреннее хранилище. Это отображает /storage/emulated/0.
- По USB (MTP) с компьютера
- Подключите телефон → выберите «Передача файлов (MTP)» → в Проводнике появится "Internal storage" (соответствует /storage/emulated/0).
- Через ADB
- Список: adb shell ls /storage/emulated/0
- Скачивание: adb pull /sdcard/Download/file.ext ./
- Просмотр физического каталога (требуются права): adb shell ls -la /data/media/0
- Через терминал на устройстве (нужен root)
- su; ls -la /data/media/0; df -h
- Через приложения и Scoped Storage
- С Android 10+ приложения ограничены Scoped Storage: они видят свои каталоги и ограниченные общие папки. Для полного доступа нужно MANAGE_EXTERNAL_STORAGE (редко доступно) или пользовательский выбор через Storage Access Framework.
Без root вы не увидите /data/media напрямую в терминале/файловом менеджере, но сможете оперировать файлами через /sdcard или через разрешённые приложения/интерфейсы.
Частые операции — команды
- Просмотреть список: adb shell ls -la /storage/emulated/0
- Скопировать на ПК: adb pull /sdcard/DCIM/Camera/photo.jpg ./
- Узнать использование: adb shell df -h /data
Частые ошибки
- "Не вижу /data/media" — ожидаемо: /data защищён, обычный файл‑менеджер показывает эмулированный путь.
- "Файлы другого профиля видны" — нет: разные профили имеют свои /storage/emulated/N.
- "Удалённый файл не восстановить" — при удалении файл удаляется из /data/media/0; восстановление без root и бэкапа затруднено.
FAQ
-
Видно ли содержимое /storage/emulated/0 через ПК без режима MTP?
Нет — используйте MTP или adb (если включён). -
Чем отличается /sdcard и /storage/emulated/0?
По сути — синонимы для пользователя; /sdcard обычно ссылочный путь на /storage/emulated/0. -
Что такое /storage/XXXX-XXXX?
Это точка монтирования реальной внешней microSD (идентификатор тома). -
Как сделать резервную копию внутренней памяти без root?
Используйте MTP для копирования нужных папок, Google/производительские бэкапы или инструменты резервного копирования в приложениях (учитывайте Scoped Storage).
Соответствие виртуальных и физических путей
| Что вы видите | Виртуальный путь | Физическое местоположение |
|---|---|---|
| Internal storage в Проводнике | /sdcard или /storage/emulated/0 | /data/media/0 |
| Пользователь 0 | /storage/emulated/0 | /data/media/0 |
| Пользователь N | /storage/emulated/N | /data/media/N |
| Внешняя microSD | /storage/XXXX-XXXX (или /storage/sdcard1) | физическая SD-карта (vfat/ext4) |
Для разработчиков: не полагайтесь на свободный доступ ко всему /storage/emulated/0 — используйте Storage Access Framework и учитывайте Scoped Storage начиная с Android 10.
Короткий итог
- /storage/emulated/0 — виртуальный интерфейс пользовательского внутреннего хранилища.
- Файлы физически находятся в /data/media/0 (раздел данных).
- Для обычного пользователя используйте /sdcard, проводник или MTP; прямой доступ к /data возможен только с root.
Если нужно, могу прислать готовые ADB‑команды для копирования/удаления/бэкапа конкретных папок или объяснить Scoped Storage на примерах под вашу задачу.