I noticed the following post, which does not answer my question:
http://www.droidforums.net/forum/motorola-droid/67790-difference-between-mnt-sdcard-sdcard.html
There it is said that these two folders are the same. But this does not explain what I experienced.
In the "Gallery" program I see two folders named "Camera". One includes all the photos, while the other includes only one photo (let me call it photo A). Photo A has a counterpart (photo B) in the folder which contains all the photos; that is, photo A and photo B look the same and they have the same file names.
Then I checked the properties of the two photos. Photo B is stored in /mnt/sdcard/DCIM/Camera, while photo A is stored in /sdcard/DCIM/Camera.
At first I thought the two files may actually point to the same place in the sdcard. However, after I deleted Photo A, photo B is still there.
So it seems that the two folders /mnt/sdcard/ and /sdcard are not the same. However, they do look the same with any file explorers.
I am confused by this. Or maybe it is caused by some weird behaviors of the Gallery program?
In a quick attempt to answer your question
/sdcard/ is your internal storage
whilist
/mnt/sdcard should be your external storage.
In any event, someone will correct me if I'm wrong. Which I have known to be on the other occasion when I wasn't right
If you moved your SD card from one phone into the Note, you may see this behavior. A quick way to see what is mounted is to get into a shell (terminal app or adb shell) and run df. That will show you what is mounted and where.
On my Note, /sdcard is a link to /mnt/sdcard as shown by ls -l /
I'm not familiar at all with how android handles the external SD card, but it gets mounted at /mnt/sdcard/external_sd
[edit]Here's how it's being handled.[/edit]
Related
I (along with other people) find it weird that Asus chose to mount the sdcard to /Removable/MicroSD instead of the traditional /mnt/sdcard.
I would like Titanium Backup to store the files on my sdcard instead of the internal memory, but the problem is that TI only checks the /mnt/sdcard directory. So in my infinite geek knowledge I had the idea to symlink /Removable/MicroSD/TitaniumBackup to /mnt/sdcard/TitaniumBackup. The problem is that FAT32 doesn't support symlinks, so I formatted the sdcard to NTFS and popped it back in but it wouldn't mount it, which I realized was because it doesn't have the NTFS modules. So I popped it back out and formatted it as ext2, but it still wouldn't mount automatically and I couldn't mount it manually because I didn't know what the device name was.
Anyone have any solutions?
You can try ask the developer of TitaniumBackup to include support for asus TF.
Obviously I already did that but I'm looking for a fix on my end.
As with most other tablets, the internal SD is mounted to mnt/sdcard so external SD has to be mounted elsewhere.
As far as TB goes, you can choose where to store backups. Have currently got it setup to backup to Removable/MicroSD/TitaniumBackup
EDIT: If you go into TB preferences menu, scroll down to Backup folder location, then press the Back icon (the system one) to get back to the root folder. Then you can choose the Removable/MicroSD/ folder. Click on "create a new folder", call it what you want, then open that folder. Click the "Use current folder" button and there you go...Backup folder on external SD!
Took me a while to realise that the back icon took you back up the folder tree, rather than closing the folder location window!
It would be nice if we could get a custom mount script or something that would mount the sdcard to something like /mnt/sdcard/music. I'd love to have my music synced to card and everything else stored internally...
fisha21 said:
EDIT: If you go into TB preferences menu, scroll down to Backup folder location, then press the Back icon (the system one) to get back to the root folder. Then you can choose the Removable/MicroSD/ folder. Click on "create a new folder", call it what you want, then open that folder. Click the "Use current folder" button and there you go...Backup folder on external SD!
Took me a while to realise that the back icon took you back up the folder tree, rather than closing the folder location window!
Click to expand...
Click to collapse
Thanks! Thats what I needed to know, I was thinking its kind of stupid that they only have a "detect" button.
brando56894 said:
I (along with other people) find it weird that Asus chose to mount the sdcard to /Removable/MicroSD instead of the traditional /mnt/sdcard.
I would like Titanium Backup to store the files on my sdcard instead of the internal memory, but the problem is that TI only checks the /mnt/sdcard directory. So in my infinite geek knowledge I had the idea to symlink /Removable/MicroSD/TitaniumBackup to /mnt/sdcard/TitaniumBackup. The problem is that FAT32 doesn't support symlinks, so I formatted the sdcard to NTFS and popped it back in but it wouldn't mount it, which I realized was because it doesn't have the NTFS modules. So I popped it back out and formatted it as ext2, but it still wouldn't mount automatically and I couldn't mount it manually because I didn't know what the device name was.
Anyone have any solutions?
Click to expand...
Click to collapse
What? You're doing it backwards!
If TI is writing to /mnt/sdcard/TitaniumBackup, but you want it to write to /Removable/MicroSD/TitaniumBackup instead, then /mnt/sdcard/TitaniumBackup should be the symlink, pointing to a directory on the SD card!
The target's filesystem doesn't matter (fat32), only the source's (i.e. ext4 on the internal storage).
Good catch, either way it doesn't matter now because I don't need symlinks since I know how to do it in TB now.
Can I change the mount point of the External SD card (microsd) from
/mnt/external_sd
to
/mnt/sdcard/MicroSD
I tried changing the entry in vold.fstab to no help. it wasn't mounted to /mnt/external_sd but it also wasn't mounted to the MicroSD folder i made on /mnt/sdcard
This would let any program that doesn't have the ability to handle the external SD card to be able to access it as it wouldn't know where it was. I could then do this to USB drives plugged in as well.
Nova5 said:
Can I change the mount point of the External SD card (microsd) from
/mnt/external_sd
to
/mnt/sdcard/MicroSD
I tried changing the entry in vold.fstab to no help. it wasn't mounted to /mnt/external_sd but it also wasn't mounted to the MicroSD folder i made on /mnt/sdcard
This would let any program that doesn't have the ability to handle the external SD card to be able to access it as it wouldn't know where it was. I could then do this to USB drives plugged in as well.
Click to expand...
Click to collapse
This might not exactly be the route you wanna take, but have you tried adding a symlink? Might do the trick, then again, I'm having a little issue with the same thing right now. Looks like this has been a popular subject lately
symlinks seem to be inoperable in HC.
Found this on another forum
Have you tried "bind" mounting?
Doesn't wok for me as I have a stock (unrooted) transformer...
cd /mnt/sdcard
mkdir MicroSD
mount -o bind /mnt/external_sd /mnt/sdcard/MicroSD
Click to expand...
Click to collapse
Works fairly well. Doesn't effect the storage count for the internal memory however. if we could actually mount it to a folder inside the scdard mount then it may show up as extra space, but i kinda doubt that bit.
Those system files are overwritten on each reboot so you have to "mount -o bind" on every reboot.
If you find a way to make this mount point permanent let me know, I am looking for a way as well.
If you're rooted, I think USB Mount All did this.
powercat_ said:
Those system files are overwritten on each reboot so you have to "mount -o bind" on every reboot.
If you find a way to make this mount point permanent let me know, I am looking for a way as well.
Click to expand...
Click to collapse
What system files? Its simply a mount point created and handled in memory. its never added to a file. I forget what the start up command file is in linux that is the sister of DOSs Autoexec.bat. It would need to be added to that as the last command. Now i have read this is a risky command to run as it can create a endless loop if something attempts to scan the directories it can run into a recursive loop. Now I believe this is because most instances of this command tend to be used to bring a directory onto the desktop thats a few steps above it. Considering that the way I am using it is to link a directory that is outside the scope of another, it shouldn't ever cause this and be a pretty safe way to do it. The BIND command creates a hard link between the two locations. the /mnt/sdcard/MicroSD is a directory I created. when I bind it to the /mnt/external_sd directory the files appear in both places at the same time as MicroSD is simply a... tunnel as it were into External SD. But the programs are convinced its MicroSD. So those that can't use the external sd slot now can through this "tunnel". The same trick can also be applied to the directory for the USB thumb/flash drives.
Just create a directory for it on /mnt/sdcard
fermunky said:
If you're rooted, I think USB Mount All did this.
Click to expand...
Click to collapse
why pay when you can enter a command and its done?
Yes, mount -o bind works, but if you reboot, the mount point is no longer there.
Sure, we can add an entry to fstab, but the file is overwritten by a reboot
the autostart file is init.rc, which is overwritten by a reboot as well, so that rules out using it to auto mount this bind.
let me know if you find other information as I would very much like this to work.
FYI I started a thread about this command a few days back but never got any pertinent information:
http://forum.xda-developers.com/showthread.php?t=1287522
(this was before 3.2 when you couldn't access the SD card from usb)
Nova5 said:
why pay when you can enter a command and its done?
Click to expand...
Click to collapse
Because it is only a few bucks, and it will do it for you without having to manually do it. I know it's quite a simple task, but I say best out of sight/out of mind.
its overwrites those huh? that bites..
fermunky said:
Because it is only a few bucks, and it will do it for you without having to manually do it. I know it's quite a simple task, but I say best out of sight/out of mind.
Click to expand...
Click to collapse
Just takes a bit to track where we can stick the commands to get an auto start. I may make a simple script file to leave on the home screens. tap and done.
Okay it seems the location where the init.rc is stored is volatile. I created a test file in there and rebooted the tablet, file is gone. So its less overwriting and simply copying out of its hidden location to a usable one. sdcard in there is just a mount point for the actual hardware address location of the sdcard. So if we want to get the autostart we would have to discover where HC pulls that data from on boot.
Bind will fail if the location that actually holds the data is not present/ready. usb_storage is more affected by this as a user doesn't normally leave a flash drive in the port. Script manager can auto-execute a script on boot. Works well enough.
hmm...
It appears if you remove the usb drive after making the bind, the bind is broken. So while its workable, its not perfect. Of course since the microsd card is rarley removed, this isn't much of an issue. If we could get the script to also run on insertion of the USB drive that would then make it work better.
SCript Manager allows one to create a direct shortcut to execute a specific script. So you can swap USB drives, tap the script icon and then access the script through the bound directory.
I use the following program created by RubberBigPepper from an alternative russian site about android apps and devices.
Any interesting effect I've noticed, any time the script runs it creates a new mount entry for the bind command, even if that bind already exists. OfficePro5 shows this by listing MicroSD for each bind entry. So I had 13 entries of MicroSD as it ran that many times, due to a setting I shouldn't have checked... Run on Net Change. But it pointed out this interesting effect.
I now see the need for this as one of my apps does not natively see the ext sd card.
OK I tried the apk above and it does not seem to work. I get a folder called ex_sdcard but it is empty and does not reflect the sd card contents.
Nova, you found another way yet you could share, or do I just need to manually create symlinks after every boot?
mountmicrosd.sh
Code:
# Note : Super user required. Your Tablet MUST be rooted!
# Removing the card will disrupt the bind. And Require running script again when plugged back in.
echo Breaks any existing Bind mount to avoid creating duplicate Bind entries. a "failed" response is acceptable as is no response.
umount /mnt/sdcard/MicroSD
echo execute Micro SD mount - card must be plugged in or Invalid Argument error will occur.
mount -o bind /mnt/external_sd /mnt/sdcard/MicroSD
Place the above in a text file with the extension .sh Download from the Market a program called Script Manager. Place the sh file in your SD card root. Run script manager, select that file and check two boxes. Run on Boot, Run as Root. Also create the directory of "MicroSD" Just as its typed. Linux is very caps sensitive. now every time you boot it will automatically run the script and bind the ExSD to the MicroSD directory.
This one will do the USB drive.
mountusb.sh
Code:
# Note : Super user required. Your Tablet MUST be rooted!
# Removing the drive will disrupt the bind. And Require running script again when plugged back in.
echo Breaks any existing Bind mount to avoid creating duplicate Bind entries. a "failed" response is acceptable as is no response.
umount /mnt/sdcard/USBDrive
echo execute USB Drive mount - drive must be plugged in or Invalid Argument error will occur.
mount -o bind /mnt/usb_storage /mnt/sdcard/USBDrive
Create a widget with ScriptManager to have a touchable icon on your screen to run this one. Note it must have the folder "USBDrive" created on the sdcard.
It is unimportant if you use the same filename.sh i did. That is just so I knew at a glance what it does. # is a comment and Echo prints the text following it to the screen. I found a way around the mutiple bind entries by simply unmounting it before making the mount bind. You might see a Failed error, this is just fine. it just means there was no mount for it to undo on its first run. this will be more helpful on the USB drive script than the MicroSD card one.
Very cool, Nova5!
Thanks for taking the time to research it further.
I tested your solution and it works fine!
I updated it with a fix to prevent the multiple entries. You'll need to update your files to reflect the changes I made. a reboot will be the simplest way to ensure it starts with a clean slate. Notice I removed the comment about Running it once only, due to the umount command preceeding the mount command. This removes the bind from memory and then when its created again you don't have the problem of 13 entries of MicroSD in OfficePro like I ran into.
Alright, I think its as good it is going to get. You could put them in the same files but for simplicity and being able to swap USB drives without affecting the ExSD card two files is best.
Wait... debug time. I goofed something.
Okay fixed up and working right. Remember what I mentioned about linux and capitals? oops. Echo is not echo.
Shucks, im not rooted.
I just thought you all should know ( if you didn't already) that if you have a sdcard installed in your gs3, that /sdcard in your file manager is not actually the external memory it's internal. I found that out by viewing my storage availability under settings and seeing that the Items that I thought were going to external storage, were in fact going to internal storage.
As it turns out, if you navigate to the root of your device in whatever file manager that you use (your device must be rooted to do so), you will find another storage by following the path /mnt/extsdcard. That is actually your external sdcard and not /sdcard. I don't know why Samsung did it this way, but there it is.
Most apps (like camera) will let you specify where to save things. Most but not all. Just have to look in each app.
Device does not have to be rooted to navigate to the base. Checked with estrongs and several others. You just have to enable going back to root in app settings. Or even changing where the app starts from (instead of /mnt/sdcard/ change to /mnt/). With es file explorer it is even easier than that. App starts on sdcard. Press favorites, select external sd. When you want to go back, press favorites and select home.
Sent from my SGH-I747M
tek_curious_1 said:
I just thought you all should know ( if you didn't already) that if you have a sdcard installed in your gs3, that /sdcard in your file manager is not actually the external memory it's internal. I found that out by viewing my storage availability under settings and seeing that the Items that I thought were going to external storage, were in fact going to internal storage.
As it turns out, if you navigate to the root of your device in whatever file manager that you use (your device must be rooted to do so), you will find another storage by following the path /mnt/extsdcard. That is actually your external sdcard and not /sdcard. I don't know why Samsung did it this way, but there it is.
Click to expand...
Click to collapse
Most of us who have been with Android for a while now know this, maybe some of the noobs might find it helpful though.
So I'm coming from the Evo LTE and file folders seem to be in a different place... I was hoping someone could explain it to me.
I'm rooted and using astro:
If I back out all the way I'm in My files (root?)
There are folders here called "sdcard" and "storage"
If I go into "storage" I see the following directories:
emulated
extsdcard
sdcard0
usbdrivea
usbdriveb
usbdrivec
usbdrived
usbdrivee
usbdrivef
programs seem to install themselves into both "sdcard" but also into any subfolder of "storage" (excluding extsdcard.. which I've determined is my actual sd card). I can't seem to figure out the rhythm or reason behind this
The reason all this is brought to my attention is I just emailed myself an apk which I saved from the gmail app... now I can't find where it saved it to
Thanks in advance for any help!
There are symlinks all over the place, some of it relates to multi-user capability (mainly for tablets). Here's how I understand it.
/storage/UsbDrive[A-F] - These are for when you hook up your device to a OTG cable/dongle, which allows you to connect USB flash drives or USB hard drives to your phone.
/storage/extSdCard - This is your external SD card.
/storage/emulated/legacy - This structure is linked for backwards compatibility to different locations (/mnt/shell/emulated/0). This is actually your internal SD card.
/storage/sdcard0 - This is your internal SD card - symlinked to /storage/emulated/legacy.
You may also be familiar with:
/sdcard - This is your internal SD card - symlinked to /storage/emulated/legacy.
You may also see a "0" in there -- that means user "0", which is the primary user of the phone. Additional users will only see their own SD card items and would be labeled "1", "2", "3", etc.
Using the "old" Android naming conventions, I access my SD cards as follows:
Internal SD card - /mnt/sdcard (or just /sdcard)
External SD card - /mnt/extSdCard
To answer your question -- I believe Gmail saves your attachments to the "Download" directory, which should be at /mnt/sdcard/Download.
Hope this helps!
pdappcgeek said:
So I'm coming from the Evo LTE and file folders seem to be in a different place... I was hoping someone could explain it to me.
I'm rooted and using astro:
If I back out all the way I'm in My files (root?)
There are folders here called "sdcard" and "storage"
If I go into "storage" I see the following directories:
emulated
extsdcard
sdcard0
usbdrivea
usbdriveb
usbdrivec
usbdrived
usbdrivee
usbdrivef
programs seem to install themselves into both "sdcard" but also into a subfolder of "storage" (excluding extsdcard). I can't seem to figure out the rhythm or reason behind this
The reason all this is brought to my attention is I just emailed myself an apk which I saved from the gmail app... now I can't find where it saved it to
Thanks in advance for any help!
Click to expand...
Click to collapse
Please read forum rules before posting
Questions and help issues go in Q&A
Thread moved
Thank you for your cooperation
Friendly Neighborhood Moderator
When in. File managers there are multiple paths for my external sdcard and my internal storage.
For example just for my external sdcard there is /external_sd, /ExtSdCard, /storage/sdcard1.
For my internal storage there is /sdcard, and /storage/sdcard0.
Is there a reason for this ?is it taking up more memory ? Can I consolidate these somehow?
BTW I'm rooted and flash a lot of ROMs both touchwiz and aosp
I believe it is to ensure compatibility with older apps that were written for specific paths. As Android evolves the External SD card seems to get a different path name with each flavor.
No extra space is used as they are just symbolic links to the true path.
Yeah, like gharlane00 said, there's only one real path, the rest are links. You'll notice that they'll show something like "->somePath." That arrow indicates a link, sort of like a shortcut in Windows. It's aggravating when browsing, that's for sure. I've been trying to figure out how to get Root Explorer to get the proper path to my SD Card when I click on Storage.