Linux - SoftwareThis forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Why does 'gparted' use fat32 for the media card file system type and then 'mount' report that the file system is vfat. I know that these names imply the same on-disk structures etc, but why do these utilities use different names?
The filesystem format is fat32. When mounting that filesystem, you can mount it using nothing but the fat32 features, or make use of the long filename extension that vfat provides. Until there is an actual long filename used, there is nothing to distinguish vfat from fat32. Linux typically defaults to mounting with long filenames allowed, i.e. as vfat, so that's what the mount command shows. You can force the filesystem to be mounted without the vfat feature by specifying "-t msdos", and any filenames you try to create there will be truncated to the DOS 8.3 format. The mount command will then report, "type msdos".
Microsoft OWNS the patents on 8.3 long file name conversion that vfat is .
exfat is a work around of those patents
What?? exFAT is a Microsoft patented filesystem (US patent numbers 8583708 and 8321439, among others) that allows larger files and filesytems than does fat32 and has optimizations for flash memory devices. It also proprietary. Microsoft has not officially released the full exFAT specification.
Mod's edit, removed most of post.
Please construct posts that use references to sources.
When a member posts a phrase such as "please double check this," it means that we need to verify this. It is not an argument point.
What is the point of this post? LinuxQuestions used to be a forum to get helpful answers to questions, users helping users. It is not a forum for promotion of arguments between users. It does not appear that the original question has really been addressed at all.
I edited that in error. The last paragraph was supposed to be my comment.
The original question has not been addressed as far as I know. If members have a better solution please post it.
Your link to that article has answered some of my related questions about Fat32, VFAT and friends.
Thank you.
However, as you point out, I still don't understand why gparted reports one format while mount reports a different format. This is interesting and confusing given the article's explanation that VFAT and FAT32 are technically different file system designs and implementations.
From the mount man-page:
Code:
-t, --types fstype
The argument following the -t is used to indicate the filesystem type.
The filesystem types which are currently supported depend on the running
kernel. See /proc/filesystems and /lib/modules/$(uname -r)/kernel/fs for
a complete list of the filesystems. The most common are ext2, ext3,
ext4, xfs, btrfs, vfat, sysfs, proc, nfs and cifs.
NOTICE -- There is no mention of either FAT or FAT32. Elsewhere in the man-page there is:
Code:
(Note: fat is not a separate filesystem, but a common part of the msdos, umsdos
and vfat filesystems.)
In order to find FATxx anything, you need options as part of mounting your filesystem:
Code:
fat={12|16|32}
Specify a 12, 16 or 32 bit fat. This overrides the automatic FAT type
detection routine. Use with caution!
... I'm off to play and learn how to default mount as FAT32...
Thanks in advance,
~~~ 0;-Dan
Last edited by SaintDanBert; 07-19-2018 at 11:34 AM.
My interpretation is the filesystem type name and driver is called vfat. The driver automatically detects the actual format (unless specified in the mount options) i.e FAT12/16/32 and VFAT. gparted reads the file system magic number as FAT32 since as far as I know there isn't a specific number for VFAT.
Quote:
I'm off to play and learn how to default mount as FAT32..
As the man mount page indicates it does this automatically if you do not specify fat=option
I still don't understand why gparted reports one format while mount reports a different format. This is interesting and confusing given the article's explanation that VFAT and FAT32 are technically different file system designs and implementations.
They are not different filesystems. VFAT is a method of storing long filenames in a FAT12/16/32 filesystem. When the filesystem is formatted, it is just FAT12/16/32. When Linux mounts such a filesystem, it by default enables the VFAT extensions in the driver, so the mount command shows the mount type as VFAT. You can always force such a filesystem to be mounted as type "msdos". If you do that with a filesystem that already contains long names, you will not see the long names but only the shortened, unique 8.3 names that VFAT also stores for files that have names that violate the 8.3 format.
...
As the man mount page indicates it does this automatically if you do not specify fat=option
When you connect a USB, SD-card or other similar device, "magic happens" ==> then the device appears mounted as ]b]/media/$USER/{identifier}[/b]. Something in this "magic" there is the automatic determination of the fstype to use for the associated mount command.
I know which of my devices I formatted as 'fat32'
new-from-the-store devices are likely to be some variant of 'msdos'
devices from other folks might be who-knows-what ... including 'exfat'
THEREFORE, I need to get into the fey with my rattle and beads to intercept the default automatic processing and set the correct --type value for the device that I actually connected.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.