I want to format a memory stick for moving data between Windows 7 and a non-networked Ubuntu server (Precise).
I'm not sure that either of the two ways I've tried are correct, even though I can read from and write to the drive on both machines.
I get a very weird looking partition listing from
fdisk if I format the drive on Windows (using the Disk Management tool), but it seems to be OK in terms of reading and writing on Linux and Windows.
Image showing the output of fdisk for a windows formatted drive
FATAL ERROR: Bad primary partition 1: Partition begins after end-of-disk.
If, as advocated [here][FormatBigVfatDisks], I use
cfdisk to create a full-disk primary partition of type
fdisk to create a partition that starts at block two-thousand and something) and then issue
sudo mkfs.vfat -n some_label /dev/sdf1
then Windows won't recognize the file system (after aeons of thinking about it).
Linux and Windows will happily read and write a 2GB dive if I make that same partition, but then issue:
sudo mkfs.vfat -I -n some_label /dev/sdf
but this makes that full-disk partition show as free-space in
fdisk and Windows doesn't like the 16GB drive.
I've tried using
parted too, but Windows is never happy with any partitions I create on Linux.
I'm concerned that, whilst the drive seems to work, I may discover that the data isn't being transferred faithfully.
I'm using SanDisk Cruzer drives of various ages, flavors and sizes.
Is the correct way to format on windows and ignore the problems that cfdisk and fdisk have or is there another correct way in which everyone is happy with the drive?