Can this disk be repaired? Does it need to be?

Ben Scott dragonhawk at gmail.com
Thu Dec 4 23:09:02 EST 2014


On Thu, Dec 4, 2014 at 5:09 PM, Bruce Labitt
<bruce.labitt at myfairpoint.net> wrote:
> Can FAT32 support "weird" aka Linux file names?

  Maybe.

  Original FAT only supported a 1 to 8 character base filename, with a
very limited character set (monocase alphanumeric, no spaces, a
handful of punctuation).

  However, the "VFAT" extension added support for longer names, with a
larger character set -- including mixed-case and spaces.  Both Linux
and Windows support VFAT.

> I have directories with MAC ID's as directory names.
> I'm sure that is messing up windows.

  Do the MAC ID's have colons (:)?

  If so, that may cause some problems.  (If they're just spaces,
dashes, dots, or long, you should be OK.)

  Putting colons in a FAT or VFAT filename is a definite no-no.  Linux
should block such attempts, as far as I know.

  NTFS is more complicated.

  NTFS proper -- the filesystem itself -- can handle filenames with
any Unicode character except NUL, and names and paths thousands of
characters long.  Which is likely what Linux is doing.  The NTFS
implementation in Windows can prolly cope with this, too.

  However, higher layers of Windows -- in particular, the subsystem
which actually implements the Win32 API on top of the NT kernel --
impose a number of other limits.  There are a number of prohibited
characters, including the colon.  Paths cannot be longer than 255
characters (including directory separators and drive letter).

  However, that isn't necessarily what  is causing Windows to tell you
to repair the disk -- although it may be.  In my experience, when
Windows encounters file names it can't handle, it usually just fails
to access them, coughing up vague error messages.  But it usually
doesn't insist something be done about it.

  But Windows isn't exactly a model of consistency, so maybe this
situation is different, for whatever reason.

-- Ben


More information about the gnhlug-discuss mailing list