Changing filesystem of USB drives

  • Thread starter Thread starter Cinimod
  • Start date Start date
  • Tags Tags
    Usb
AI Thread Summary
USB removable storage drives formatted with the "vfat" filesystem, which is essentially FAT32, can be accessed on Linux but not on Windows. To convert the filesystem to NTFS for compatibility with both operating systems, the commands mkfs.ntfs or mkntfs can be used in Linux, provided that ntfsprogs is installed. However, it is advised to keep the filesystem as FAT32 instead of NTFS for USB drives, as NTFS support on Linux can be unreliable and may lead to data corruption if the drive is not properly unmounted before being moved to another machine. For formatting to FAT32, users can utilize the command mkfs.vfat or graphical tools like GParted. Additionally, Windows XP has limitations on formatting USB drives to NTFS if "optimize for quick removal" is enabled. Proper unmounting of any filesystem is crucial to avoid corruption. NTFS, while robust, has compatibility issues due to its security model and is not recommended for portable drives.
Cinimod
Messages
34
Reaction score
0
I found some USB removable storage drives a few days ago, but they won't work on windows. Windows acts as though they haven't been plugged in, so I tried having a look at them using linux, and I can see everything to do with them etc. I now know that the filesystem used is "vfat" (i've never heard of that filesystem before now). Anyway, I was hoping that there was a command in the bash which could convert the drive to ntfs, that way I could use it in windows and linux. I know the convert command in dos can do it, but is there an equivalent command in linux?
 
Computer science news on Phys.org
"vfat" is how linux reports that a FAT32 file system is being used by the storage device. For creating a NTFS from linux, try the command mkfs.ntfs or mkntfs. Read the manual page for more specific info. You would however need ntfsprogs to have access to that command option.

I would however, strongly advise that you not make the fs of your storage media NTFS. If you're looking to move between linux and windows with the drive, make the fs FAT32 instead. NTFS support is there for linux, but it not reliable.

For FAT32 paritions, see the man page of mkfs.vfat.

The more general form of the command is mkfs. Refer to the man page.
 
Last edited:
They might use the newest FAT standard(exFAT). Just copy all of the stuff over to a hard drive and from windows, format it to FAT32. Then it should work.
 
Under XP you can't format the key as ntfs if you have "optomize for quick removal" turned on.
Fat32 is recommended for USB keys since moving an NTFS drive to another machine without properly unmounting it can cause corruption.
 
You can use gparted, i know Ubuntu 7.10 comes with it, if not you can run your package manager

In Ubuntu iut would be

Code:
sudo apt-get install gparted

Once taht is up and runnign you can format it to FAT, NTFS, or ext3
 
mgb_phys said:
Fat32 is recommended for USB keys since moving an NTFS drive to another machine without properly unmounting it can cause corruption.

I wasn't aware of this at all. Thanks mgb.
 
mgb_phys said:
Under XP you can't format the key as ntfs if you have "optomize for quick removal" turned on.
Fat32 is recommended for USB keys since moving an NTFS drive to another machine without properly unmounting it can cause corruption.

In fact, you should umount ANY filesystem in your drive (not only the NTFS) before moving it.
(otherwise the OS could not flush the associated buffers...)
:smile:
 
Yes, but ironically NTFS is a full journalling filesystem designed so it can always cope with a failure/removal during any write process.
The unfortunate part is that the security model is heavily tied to the concept of machine and user ids which can cause problems if it is moved to a different machine. It also annoyingly can't be mounted in read only mode from a key with a write lock - and the error you get isn't very helpfull.
 
Back
Top