Cannot write in internal storage - Android Q&A, Help & Troubleshooting

Hello
I have weird problem, I cannot write in internal storage ; all apps functions that requires write access doesn't work.
I installed file explorer with root access. when I navigate to internal storage from " storage/emulated/0" I cannot create new folder (operation failed). but when I navigate to internal storage from "data/media/0" I have write access!
Every folder in the path have write access property.
I tried different solutions with no avail:
I formatted every thing and re-flashed the rom. same problem.
I tried:
Code:
su
echo mkdir /storage/sdcard0 > /data/local/userinit.sh
chmod 700 /data/local/userinit.sh
reboot
Code:
su
restorecon -v -R /data/media
Galaxy note II N7100
android 5.1
exodus-5.1 (cm-12)

Related

[Q] Internal/external sd not mounting [SOLVED]

Hi,
Since my last upgrade of cynaogenmod nighties yesterday on my galaxy s2, my internal AND external sdcard are not mouting anymore
I tried to understand why and I found that my /storage folder was empty. I think it should have been populated by /init.smdk4210.rc script :
Code:
...
on early-init
export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1
mkdir /storage 0775 system system
mkdir /storage/sdcard0 0775 system system
mkdir /storage/sdcard1 0775 system system
mkdir /storage/usbdisk0 0775 system system
...
I tried to mount /storage/sdcard0, but without success (in fact I am not sure to have the right method).
Extract of /system/etc/vold.fstab
Code:
...
# internal sdcard
dev_mount sdcard0 /storage/sdcard0 11 /devices/platform/dw_mmc/mmc_host/mmc0/mmc0 nonremovable,encryptable
...
I thought that
Code:
mount /devices/platform/dw_mmc/mmc_host/mmc0/mmc0 /storage/sdcard0
would have been sufficient, but unfortunately not (I tried with /sys/devices/platform/dw_mmc/mmc_host/mmc0/mmc0 to).
I would like to retrieve my internal sdcard content.
Thank you in advance,
Bill
Ok after some investigations it is a known bug from 20130121 cyanogen nighties.
To get back internal sdcard :
Code:
su
echo mkdir /storage/sdcard0 > /data/local/userinit.sh
chmod 700 /data/local/userinit.sh
reboot
You can find more information here : http://forum.cyanogenmod.org/topic/63994-cm101-internal-sd-card-dont-mount/
Problem should be solved in future cyanogen nighties release https://github.com/cyanogenmod/android_system_core/commit/7cc503720f1a8a6aa9481c5f9fd4552bc463a501
Thanks for help
Bill
deleted
HELP!
my phone shows up on my computer but only my external sd card shows up, not my internal! help me fix it! ive attached some screenshots. btw, what are you guys using to run that code? (im a noob)
i ran the commands in terminal emulator but after reboot, everything remained the same?
billdangerous said:
Ok after some investigations it is a known bug from 20130121 cyanogen nighties.
To get back internal sdcard :
Code:
su
echo mkdir /storage/sdcard0 > /data/local/userinit.sh
chmod 700 /data/local/userinit.sh
reboot
You can find more information here : http://forum.cyanogenmod.org/topic/63994-cm101-internal-sd-card-dont-mount/
Problem should be solved in future cyanogen nighties release https://github.com/cyanogenmod/android_system_core/commit/7cc503720f1a8a6aa9481c5f9fd4552bc463a501
Thanks for help
Bill
Click to expand...
Click to collapse
I have the same problem and would like to get my phone back up and running.
How did you solve it?
I mean, where do I have to write those commands?
I'm a noobie, so please be so kind to explain
Peter.
kreatiir said:
I have the same problem and would like to get my phone back up and running.
How did you solve it?
I mean, where do I have to write those commands?
I'm a noobie, so please be so kind to explain
Peter.
Click to expand...
Click to collapse
If you have adb on your computer (and an usb cable to connect your phone to the computer), type these commands on a terminal window :
Code:
adb root
adb shell
then (as stated in pervious post) :
Code:
su
echo mkdir /storage/sdcard0 > /data/local/userinit.sh
chmod 700 /data/local/userinit.sh
reboot
If you do not have adb on your computer, you may download a terminal emulatror application on your android, then type the 2nd block of commands given above.
May the Force be with you !
Erm, if you have the problem with CM10.2 20130821, this solution is sadly not working...
SD card not mounting
I have got a symphony w125 from Bangladesh. It was running afterwards. After 2/3 months I rooted it from androidkothon.com . But after some days I got a notification... "Preparing phone memory
Checking for errors"
I neglected it and thought it'll be fine soon. But it won't. When I opened ES file manager, it showed me SD card unmounted. (Both for internal & external) .I tried my 16 GB m SD card inserting again. but it again showed the same notification . Then I did once "factory reset' and once "clear eMMC". Then also the same thing happened. While running suddenly shows system ui not responding automatically turns off. Then it doesn't start until I open the battery and insert it again. How to get my storage back now...?
sir i have a spreadtrum phone its board is sp6820gb_7620 and cpu id is 8810 cpu frequency is 1ghz and ram is 512mb with mali 300 gpu,
android version is 2.3.6 and kernal version is 2.6.35.7 [email protected] #7, software version is mocordroid2.3.6.w12.20_p20.01_20130715.130506, hardware version is 1.1.0. my problem is that my phone has only 128 mb of internal memory and when i tried to edit vold.fstab to swap its memory with memory card it stopped detecting sd card when turned on but when in recovery mode sd is shown present, i think its very similar to karbonn a1+ in hardware and software part so can you please help me with my phone?
[
Help me bro's please.
I swapped internal memory to sd card using vold.fstab file replacing.And now my int storage n sd card arent mounting ????
using karbonn smart a26 mobile
Internal and external sdcard unmounted
yj121 said:
i ran the commands in terminal emulator but after reboot, everything remained the same?
Click to expand...
Click to collapse
Accidently i formated my internal sd card and external sd card , now i am unable to mount it...
Plz help :angel:
---------- Post added at 05:23 PM ---------- Previous post was at 05:16 PM ----------
shailoo said:
Accidently i formated my internal sd card and external sd card , now i am unable to mount it...
Plz help :angel:
Click to expand...
Click to collapse
I ran all codes and my device is tablet micromax funbook P560....
Plz help
Code:
su
echo mkdir /storage/sdcard0 > /data/local/userinit.sh
chmod 700 /data/local/userinit.sh
reboot
Hi, i have this same problem with S3 mini, i can use this same command for my device or i will brick it?
I need mount internal storage, i have 0.00 bytes :/
Thanks!!
Hi
i am new to this and trying to fix my note 1 gt n7000
it was working fine till yesterday and suddenlly the internal memory the sdcard0 stopped
it does not mount and also when i turn the mobile on a pop up comes saying cannot download as not storage available.
there are some important photos in that which i would like to recover.
please help i tried the code mentioned below in terminal emulater but when i type
it says
not found and also for the latter commands it says permission denied.
i have rooted my device.
please help.
Code:
su
echo mkdir /storage/sdcard0 > /data/local/userinit.sh
chmod 700 /data/local/userinit.sh
reboot
If you do not have adb on your computer, you may download a terminal emulatror application on your android, then type the 2nd block of commands given above.
May the Force be with you ![/QUOTE]
same problem
yj121 said:
my phone shows up on my computer but only my external sd card shows up, not my internal! help me fix it! ive attached some screenshots. btw, what are you guys using to run that code? (im a noob)
Click to expand...
Click to collapse
I have the same problem. Please help me solve it
its not working for me
billdangerous said:
Hi,
Since my last upgrade of cynaogenmod nighties yesterday on my galaxy s2, my internal AND external sdcard are not mouting anymore
I tried to understand why and I found that my /storage folder was empty. I think it should have been populated by /init.smdk4210.rc script :
Code:
...
on early-init
export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1
mkdir /storage 0775 system system
mkdir /storage/sdcard0 0775 system system
mkdir /storage/sdcard1 0775 system system
mkdir /storage/usbdisk0 0775 system system
...
I tried to mount /storage/sdcard0, but without success (in fact I am not sure to have the right method).
Extract of /system/etc/vold.fstab
Code:
...
# internal sdcard
dev_mount sdcard0 /storage/sdcard0 11 /devices/platform/dw_mmc/mmc_host/mmc0/mmc0 nonremovable,encryptable
...
I thought that
Code:
mount /devices/platform/dw_mmc/mmc_host/mmc0/mmc0 /storage/sdcard0
would have been sufficient, but unfortunately not (I tried with /sys/devices/platform/dw_mmc/mmc_host/mmc0/mmc0 to).
I would like to retrieve my internal sdcard content.
Thank you in advance,
Bill
Click to expand...
Click to collapse
i have tried to correct this bug on my ROM tried it hard .
its the only bug i have
so
billdangerous said:
Hi,
Since my last upgrade of cynaogenmod nighties yesterday on my galaxy s2, my internal AND external sdcard are not mouting anymore
I tried to understand why and I found that my /storage folder was empty. I think it should have been populated by /init.smdk4210.rc script :
Code:
...
on early-init
export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1
mkdir /storage 0775 system system
mkdir /storage/sdcard0 0775 system system
mkdir /storage/sdcard1 0775 system system
mkdir /storage/usbdisk0 0775 system system
...
I tried to mount /storage/sdcard0, but without success (in fact I am not sure to have the right method).
Extract of /system/etc/vold.fstab
Code:
...
# internal sdcard
dev_mount sdcard0 /storage/sdcard0 11 /devices/platform/dw_mmc/mmc_host/mmc0/mmc0 nonremovable,encryptable
...
I thought that
Code:
mount /devices/platform/dw_mmc/mmc_host/mmc0/mmc0 /storage/sdcard0
would have been sufficient, but unfortunately not (I tried with /sys/devices/platform/dw_mmc/mmc_host/mmc0/mmc0 to).
I would like to retrieve my internal sdcard content.
Thank you in advance,
Bill
Click to expand...
Click to collapse
i know the problem has been solved but...
i had the same issue. what i did was run the command:
su
echo mkdir /storage/sdcard0 > /data/local/userinit.sh
chmod 700 /data/local/userinit.sh
reboot
but it only takes effect after a reflash of the rom. after reboot for me, it never fixed and would never mount, but after a clean flash of the rom i was using, it seemed to mount fine. so you must reflash, as reboot does not do anything.
Cannot mount internal sd card
I just flashed my honor 4x with flyme Custom ROM
but now my phone doesn't mount my internal sd card
I tried running these commands on shell using ADB, but it doesn't fix the issue
Pleasr help me out here
Thanks
My phone is a BluLifeOne 2015. One day it stopped booting past the logo so I tried to reflash stock with QFIL to no avail. I no longer can access recovery or OS but I can boot into fastboot and boot into TWRP with the command fastboot boot recovery.img. When I try and format the system it says 0mb and can't mount data, cache or system (argument invalid). The internal storage, data, cache and system are all showing as 0mb and I've tried to change file system on all of them but it does not change the size or give me access to the internal storage. I also tried to flash a zip file but same invalid arguments everytime. Can someone help.

[Q] How to move obb data from internal SD to internal storage?

I have a xperia u, which has not external SD card slot..
Data partition is MUCH bigger than what I need (I'm using 500mb of 2gb) and I want to move obb files to data partition to free some space in SD partition..
Is that possible?
You might try to move the file to the data partition and then create a symlink where the file was originally.
From a shell with root access:
# ln -s /your/data/partition/filename.obb /original/place/filename.obb
I'm doing the same moving apk and dalvik-cache but I have the problem that after reboot files are still there but the app is disabled.
You can check it here: http://forum.xda-developers.com/showthread.php?t=2597924
I would suggest to try it on an app that it's not important for the system and I don't assume any responsability
P.S.
partition where you create symlink must be ext2/3/4
I think I understand how this works.. Lets say symlinks are some kind of 'windows direct access' for files that can be recognized by the system.. Am I right?
How can I figure out what format are my partitions?
I want to move /mnt/sdcard/Android/obb/com.package.name/file.obb to /data/data/com.package.name/file.obb
Assuming that partitions are in the correct format, I'll have to move files with a root file browser, then connect phone with debug on and type this:
-adb shell
-su
-ln -s /data/data/com.package.name/file.obb /mnt/sdcard/Android/obb/com.package.name/file.obb
Is that ok?
Yest that's the use, I don't know about "windows direct access" because I'm linux user
To check how is your partition formatted there are different ways from console but I just tried this app and it works:
https://play.google.com/store/apps/details?id=com.cls.partition
If both partitions are ext2/3/4 remember also to set the same user, group and permissions, you can do that copying the file from shell.
The whole sequence should look like this:
Code:
$ adb shell
$ su
# cp -a /mnt/sdcard/Android/obb/com.package.name/file.obb /data/data/com.package.name/file.obb
# rm /mnt/sdcard/Android/obb/com.package.name/file.obb
# ln -s /data/data/com.package.name/file.obb /mnt/sdcard/Android/obb/com.package.name/file.obb
cp - a to copy preserving permissions and rm to remove the file.
/data is ext4.. /mnt/sdcard is vfat D=
No symlink then
I never used it but you can still mount bind folders (not files) in fat, something similar to symlink:
Code:
$ adb shell
$ su
# mkdir /data/data/com.package.name/obb/
# cp -a /mnt/sdcard/Android/obb/com.package.name/* /data/data/com.package.name/[B]obb/[/B]
# rm -r /mnt/sdcard/Android/obb/com.package.name/*
# mount -o bind /data/data/com.package.name/[B]obb/[/B] /mnt/sdcard/Android/obb/com.package.name/
if it works you need to find a way to excute that on boot maybe with a init script.
And if there is not crucial data you could even bind all the obb folder together like:
Code:
# mount -o bind /data/data/com.package.name/[B]obb/[/B] /mnt/sdcard/Android/obb/
You can also check this thread:
http://forum.xda-developers.com/showthread.php?t=1410262
Double check everything because I never tried it
Is it possible to add init.d support to my current rom and execute a sh file from it to initialize bind on boot?
No idea sorry
You can try asking in your phone section: http://forum.xda-developers.com/xperia-u
I found how to add init.d support!
Not sure if it works for any device/rom/kernel, but it worked for my Xperia U with GingerBeanSS v3.5 (Sony GB based)..
If anyone is interested, go to this link: http://forum.xda-developers.com/showthread.php?p=32716432
Now I suppose I can create a "BindOBB.sh" with the script you mentioned before in any place of /system, and make a "bindobb" file in /system/etc/init.d/ to execute that script..
So theoretically binding folders should work on every boot!
I used windows my entire life.. I'm not completely sure about linux scripts..
Sorry about making so much questions!
I really appreciate your help!
No problem I'm glad if I can help.
Init script is usually named starting with two numbers like: 00script, 20script, 99script that should give the order scripts are excuted.
For the script itself you need to follow the sample you donwloaded so it will be something like this:
Code:
#!/system/bin/sh
#Comment
busybox mount -o bind /data/data/obb/ /mnt/sdcard/Android/obb/
This is to mount all obb folder or, if you want to mount only some, you can write them all in the script or keep a list of packages in another file and make the script read that.
Remember to make a backup and you might try first with only one package
Ok, I've understood everything (thanks google! ) and done it..
mount -o bind[...] isn't executed by init script.. Maybe a syntax error as it is my first time doing it..
The same command (without 'busybox' at first, of course) seems to work via ADB, because in SolidExplorer when I go to obb folder BEFORE running the script it is empy, but after running it all packages' folders and files appear!
Now problem is that when running a game that need obb data, it closes by itselfs (no FC nor 'missing data' warning)..
Same problem with a 3rd party TTS engine that needs obb data too..
The first problem could be that when you try to execute the command partitions are not mounted yet. Check 00 script used to test if init is enabled to mount them.
Another solution could be to use a sleep command to make the script wait some seconds but the first one should do the trick.
For the second problem check permissions. You copied files as root so you need to be sure the apps can access those files as well, in fat system there is no use of users, group and permissions but moving to ext you need to check that.
To be sure you can set obb folder and all files an directories inside as 777 (rwx for all)
Let me know if it's working
Sent from my ZP980 using Tapatalk
NeriL said:
I want to move /mnt/sdcard/Android/obb/ to /data/data/
Click to expand...
Click to collapse
you can easy create a directory bind using luckypatcher with the folder with obb and the folder where you would like to put it
remember to reboot or rescan your sd else it wont work
i use it to play asphalt and fifa
MrCrayon said:
The first problem could be that when you try to execute the command partitions are not mounted yet. Check 00 script used to test if init is enabled to mount them.
Another solution could be to use a sleep command to make the script wait some seconds but the first one should do the trick.
For the second problem check permissions. You copied files as root so you need to be sure the apps can access those files as well, in fat system there is no use of users, group and permissions but moving to ext you need to check that.
To be sure you can set obb folder and all files an directories inside as 777 (rwx for all)
Let me know if it's working
Sent from my ZP980 using Tapatalk
Click to expand...
Click to collapse
I deleted my custom init script and wrote following command at the last line of '00test' script:
busybox mount -o bind /data/obb/ /mnt/sdcard/Android/obb/
Mount then worked fine
(By the way, my custom script was named '99bindobb', so it was supposedly executed after everything else)
Also checked permissions: /data/obb/ and com.package.name folders inside it were rwxrwxrwx, but files inside were rw-------!
Changed permission of files to rwxrwxrwx..
Now everything works flawlessly at each boot!
Thank you so much! =D =D
You saved about 500Mb of my 4Gb!
And also I learned a lot about linux scripts, busybox and file system permissions!
You are welcome
For the 99 script that only define the order between the user init scripts so it still depends when they are called during boot.
Enjoy the power of Linux
Sent from my ZP980 using Tapatalk
Hi MrCrayon..! I'm here again
I changed rom and did the same as before to use /data insted of /mnt/sdcard for apps files..
This is exactly what I did:
I copied the script I used to sd (my edited 00test), changed rom (switched from Sony based GB rom to Sony Stock ICS rom), added init.d support (/data/Test.log indicates that it works), copied script to /system/etc/init.d/, changed script permissions to 777, created folders /data/AndroidData/ and /data/obb/ with 777 permissions and moved files from sd folders to custom folders in /data..
Finally updated busybox just in case
Script doesn't work, but executing 'mount -o bind' commands from ADB does! How can I fix that?
This is my init script:
#!/system/bin/sh
#Init.d Test
if [ -e /data/Test.log ]; then
rm /data/Test.log
fi
echo Ryuinferno @ XDA 2013 > /data/Test.log
echo Init.d is working !!! >> /data/Test.log
busybox mount -o bind /data/obb/ /mnt/sdcard/Android/obb/
busybox mount -o bind /data/AndroidData/ /mnt/sdcard/Android/data/
busybox set_perm_recursive(0, 0, 0777, 0777, /data/AndroidData, /data/obb)

[QUICK TIP] Using the internal SD as external! [CM7-10.3]

Hi guys, here's a quick way to switch your internal SD on the NT to make it look like external SD.
Initially, I and many others tried this trick and it did not work properly. The cause of that was because the permissions are NOT set automatically when you take out the external SD card. What I mean by that is, the folder/mountpoint permission at /storage/sdcard0 is NOT set correctly once you switch around the external with internal storage. This would often lead to apps force closing or refusing to open altogether. This is easily fixed and automated by putting a script in /etc/init.d/. Unfortunately, this method does not work for CM11, but hopefully that will change soon. I tried this on CM10.1, but it should work from CM7-CM10.2.
Steps:
1. Make a backup of your original vold.fstab
Code:
adb pull /etc/vold.fstab
2. Make sure to remount your Nook's filesystem as read-write:
Code:
adb root
adb remount
3. Edit your vold.fstab, delete everything within it, and replace with the following. Notice code is basically flipped from original:
Code:
## emmc
dev_mount emmc /storage/sdcard1 10 /devices/platform/omap/omap_hsmmc.1/mmc_host/mmc0
## sdcard
dev_mount sdcard /storage/sdcard0 auto /devices/platform/omap/omap_hsmmc.0/mmc_host/mmc1
4. Make a new file in /etc/init.d, call it 00permissions or whatever you like:
Code:
# cd /etc/init.d/
# touch 00permissions #(name it whatever you want)
# echo "#!/system/bin/sh" >> 00permissions
# echo "busybox chmod -R 075 /storage/sdcard0" >> 00permissions
# echo "busybox chown -R system:sdcard_rw /storage/sdcard0" >> 00permissions
# chmod 755 00permissions
# chown root:shell 00permissions
5. Reboot and rejoice! Internal SD will now be seen as external SD and it should work flawlessly.
Hope this guide helps you out. If you need help or have questions, leave a reply!

Creating Symlink to ext SDCard, so internal has enough space left

Hello Everyone,
I want to create a folder symlink from my internal to my external sdcard, because my whatsapp folder takes too much space on my internal sdcard.
However when i put the ln command into the adb shell, i get an error, even though i am on the root user:
Code:
land:/ # ln -s /storage/self/primary/WhatsApp/ /storage/BECE-1BF7/WhatsApp/
ln: cannot create symbolic link from '/storage/self/primary/WhatsApp/' to '/storage/BECE-1BF7/WhatsApp//WhatsApp': Operation not permitted
Why can't i create the symlink?
Apps like FolderMount do also not work, because they rely on SuperSU and i am using the LineageOS root binary.
I am running LineageOS 14.1
Best regards
Typhoon

Wanting to automatically move files off of internal storage

I have found myself repeatedly moving the downloads and photos folders to my external SD card, so I decided to try and make a small script or binary that can automate this task without consuming much space. I tried a plethora of "compilers" that run in android, and only Termux with clang could create a file transfer binary, but it can only write to one folder in the external storage, in its app data.
So, I'm asking, is there any way to automate moving folders into the external storage that won't require a large app?
@psychoreactor
Take note that you can't move directories/files if FS of source location and target location is different: hence you have to use copy instead
A small shell script like this example
Code:
#!/system/bin/sh
cp -ar /sdcard/Photos /ext-sdcard/Photos /
rm -rf /sdcard/Photos
mkdir -p /sdcard/Photos
cp -ar /sdcard/Downloads /ext-sdcard/Downloads/
rm -rf /sdcard/Downloads
mkdir -p /sdcard/Downloads
does the job
You run such a script at pre-set time by means of Android's crond service, preferredly when Android boots + 20 seconds
IMHO a far better method ( what doesn't impact internal SD-card's lifespan ) is to format the external SD-card as EXT4 ( this is particularly important, as the file system used on the external SD-card is usually FAT or FAT32 ), create there folders Photos & Downloads, delete original folders, then symlink original folders to these new folders: This way all photos & downloads automatically land on external SD-card.
Code:
ln -s /ext-sdcard/Photos /sdcard/Photos
ln -s /ext-sdcard/Downloads /sdcard/Downloads

Categories

Resources