Abstract
It's an annoying problem that Windows isn't support much filesystem formats; thus, usually we meet problems when we plug our USB flash disk, which was formatted by Mac, into Windows machines. Although it seems that this can be solved easily by formatting the disk again to FAT or exFAT, still different problems will exist, such as different version of Windows supporting different types of filesystem, etc.Anyway, I am writing this post to record how I solved this problem efficiently, so it may help someone or myself in the future.
Steps
A. Locate disk identifier
> diskutil list
...
/dev/disk4 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *8.0 GB disk4
1: DOS_FAT_32 HERON 8.0 GB disk4s1
B. Check Status
If you want to read the information about the disk:> diskutil info disk4
Device Identifier: disk4
Device Node: /dev/disk4
Whole: Yes
Part of Whole: disk4
Device / Media Name: SanDisk Cruzer Fit Media
Volume Name: Not applicable (no file system)
Mounted: Not applicable (no file system)
File System: None
Content (IOContent): FDisk_partition_scheme
OS Can Be Installed: No
Media Type: Generic
Protocol: USB
SMART Status: Not Supported
Total Size: 8.0 GB (8004304896 Bytes) (exactly 15633408 512-Byte-Units)
Volume Free Space: Not applicable (no file system)
Device Block Size: 512 Bytes
Read-Only Media: No
Read-Only Volume: Not applicable (no file system)
Device Location: External
Removable Media: Yes
Media Removal: Software-Activated
Virtual: No
OS 9 Drivers: No
Low Level Format: Not supported
C. Verify Volumes
If you want to verify if there's any issue of the current disk:> diskutil verifyVolume /Volumes/HERON
Started file system verification on disk4s1 HERON
Verifying file system
** /dev/rdisk4s1
** Phase 1 - Preparing FAT
** Phase 2 - Checking Directories
** Phase 3 - Checking for Orphan Clusters
79 files, 7800596 KiB free (1950149 clusters)
File system check exit code is 0
Finished file system verification on disk4s1 HERON
D. Repairing Volumes
If you found any problem and want to repair the disk:> diskutil repairVolume /Volumes/HERON
Started file system repair on disk4s1 HERON
Repairing file system
** /dev/rdisk4s1
** Phase 1 - Preparing FAT
** Phase 2 - Checking Directories
** Phase 3 - Checking for Orphan Clusters
77 files, 7800608 KiB free (1950152 clusters)
File system check exit code is 0
Updating boot support partitions for the volume as required
Finished file system repair on disk4s1 HERON
E. Format
To format the disk in order to support Windows' FAT:> diskutil eraseDisk MS-DOS HERON_2 /dev/disk4To learn filesystems that supported by diskutil:
Started erase on disk4
Unmounting disk
Creating the partition map
Waiting for the disks to reappear
Formatting disk4s2 as MS-DOS (FAT) with name HERON_2
512 bytes per physical sector
/dev/rdisk4s2: 15191032 sectors in 1898879 FAT32 clusters (4096 bytes/cluster)
bps=512 spc=8 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=411648 drv=0x80 bsec=15220736 bspf=14836 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk4
> diskutil listFilesystemsIf you are using GUI disk utility, make sure you picked "Master Boot Record":
Formattable file systems
These file system personalities can be used for erasing and partitioning.
When specifying a personality as a parameter to a verb, case is not considered.
Certain common aliases (also case-insensitive) are listed below as well.
-------------------------------------------------------------------------------
PERSONALITY USER VISIBLE NAME
-------------------------------------------------------------------------------
ExFAT ExFAT
Free Space Free Space
(or) free
MS-DOS MS-DOS (FAT)
MS-DOS FAT12 MS-DOS (FAT12)
MS-DOS FAT16 MS-DOS (FAT16)
MS-DOS FAT32 MS-DOS (FAT32)
(or) fat32
HFS+ Mac OS Extended
Case-sensitive HFS+ Mac OS Extended (Case-sensitive)
(or) hfsx
Case-sensitive Journaled HFS+ Mac OS Extended (Case-sensitive, Journaled)
(or) jhfsx
Journaled HFS+ Mac OS Extended (Journaled)
(or) jhfs+
Just in case that you found unable to unmount volume error, make sure you're not in volume folder when diskutil is trying to umount:
/Volumes/HERON_2
> diskutil verifyVolume /Volumes/HERON
Unable to find disk for /Volumes/HERON
/Volumes/HERON_2
> diskutil verifyVolume /Volumes/HERON_2
Started file system verification on disk4s2 HERON_2
Error: -69673: Unable to unmount volume for repair
/Volumes/HERON_2
> diskutil verifyVolume /Volumes/HERON_2
/Volumes/HERON_2
> cd ..
/Volumes
> diskutil verifyVolume /Volumes/HERON_2
Started file system verification on disk4s2 HERON_2
Verifying file system
** /dev/rdisk4s2
** Phase 1 - Preparing FAT
** Phase 2 - Checking Directories
** Phase 3 - Checking for Orphan Clusters
83 files, 7594648 KiB free (1898662 clusters)
File system check exit code is 0
Finished file system verification on disk4s2 HERON_2