Provided by: dosfstools_4.2-1build3_amd64 bug


       fatlabel - set or get MS-DOS filesystem label or volume ID


       fatlabel [OPTIONS] DEVICE [NEW]


       fatlabel  will  display  or  change the volume label or volume ID on the MS-DOS filesystem
       located on DEVICE.  By default it works in label mode.  It can be switched  to  volume  ID
       mode with the option -i or --volume-id.

       If NEW is omitted, then the existing label or volume ID is written to the standard output.
       A label can't be longer  than  11  bytes  and  should  be  in  all  upper  case  for  best
       compatibility.   An empty string or a label consisting only of white space is not allowed.
       A volume ID must be given as a hexadecimal number (no leading "0x" or  similar)  and  must
       fit into 32 bits.


       -i, --volume-id
           Switch to volume ID mode.

       -r, --reset
           Remove label in label mode or generate new ID in volume ID mode.

       -c PAGE, --codepage=PAGE
           Use DOS codepage PAGE to encode/decode label.  By default codepage 850 is used.

       -h, --help
           Display a help message and terminate.

       -V, --version
           Show version number and terminate.


       For  historic  reasons  FAT label is stored in two different locations: in the boot sector
       and as a special volume label entry in the root directory.  MS-DOS 5.00, MS-DOS 6.22,  MS-
       DOS  7.10,  Windows  98,  Windows XP and also Windows 10 read FAT label only from the root
       directory.  Absence of the volume label in the root directory is interpreted as  empty  or
       none label, even if boot sector contains some valid label.

       When  Windows  XP  or  Windows 10 system changes a FAT label it stores it only in the root
       directory — letting boot sector unchanged.  Which  leads  to  problems  when  a  label  is
       removed  on Windows.  Old label is still stored in the boot sector but is removed from the
       root directory.

       dosfslabel prior to the version 3.0.7 operated only with FAT labels  stored  in  the  boot
       sector, completely ignoring a volume label in the root directory.

       dosfslabel  in  versions 3.0.7–3.0.15 reads FAT labels from the root directory and in case
       of absence, it fallbacks to a label stored in the boot sector.  Change operation  resulted
       in updating a label in the boot sector and sometimes also in the root directory due to the
       bug.  That bug was fixed in dosfslabel version 3.0.16 and since  this  version  dosfslabel
       updates label in both location.

       Since  version  4.2,  fatlabel reads a FAT label only from the root directory (like MS-DOS
       and Windows systems), but changes a FAT label in both locations.  In version 4.2 was fixed
       handling  of  empty labels and labels which starts with a byte 0xE5.  Also in this version
       was added support for non-ASCII labels according to the specified DOS  codepage  and  were
       added checks if a new label is valid.

       It is strongly suggested to not use dosfslabel prior to version 3.0.16.


       MS-DOS and Windows systems use DOS (OEM) codepage for encoding and decoding FAT label.  In
       Windows systems DOS codepage  is  global  for  all  running  applications  and  cannot  be
       configured  explicitly.   It is set implicitly by option Language for non-Unicode programs
       available in Regional and Language Options via Control Panel.  Default  DOS  codepage  for
       fatlabel  is  850.  See following mapping table between DOS codepage and Language for non-
       Unicode programs:

       Codepage   Language
         437      English (India), English (Malaysia), English  (Republic  of  the  Philippines),
                  English  (Singapore),  English (South Africa), English (United States), English
                  (Zimbabwe), Filipino, Hausa, Igbo, Inuktitut, Kinyarwanda, Kiswahili, Yoruba
         720      Arabic, Dari, Persian, Urdu, Uyghur
         737      Greek
         775      Estonian, Latvian, Lithuanian
         850      Afrikaans, Alsatian, Basque, Breton, Catalan, Corsican, Danish, Dutch,  English
                  (Australia),  English  (Belize), English (Canada), English (Caribbean), English
                  (Ireland), English (Jamaica), English  (New  Zealand),  English  (Trinidad  and
                  Tobago), English (United Kingdom), Faroese, Finnish, French, Frisian, Galician,
                  German, Greenlandic, Icelandic, Indonesian, Irish, isiXhosa, isiZulu,  Italian,
                  K'iche,  Lower  Sorbian,  Luxembourgish,  Malay, Mapudungun, Mohawk, Norwegian,
                  Occitan, Portuguese, Quechua, Romansh, Sami, Scottish Gaelic, Sesotho sa Leboa,
                  Setswana, Spanish, Swedish, Tamazight, Upper Sorbian, Welsh, Wolof
         852      Albanian,  Bosnian  (Latin),  Croatian,  Czech,  Hungarian,  Polish,  Romanian,
                  Serbian (Latin), Slovak, Slovenian, Turkmen
         855      Bosnian (Cyrillic), Serbian (Cyrillic)
         857      Azeri (Latin), Turkish, Uzbek (Latin)
         862      Hebrew
         866      Azeri  (Cyrillic),  Bashkir,   Belarusian,   Bulgarian,   Kyrgyz,   Macedonian,
                  Mongolian, Russian, Tajik, Tatar, Ukrainian, Uzbek (Cyrillic), Yakut
         874      Thai
         932      Japanese
         936      Chinese (Simplified)
         949      Korean
         950      Chinese (Traditional)
         1258     Vietnamese


       fsck.fat(8), mkfs.fat(8)


       The    home    for    the    dosfstools    project    is    its    GitHub   project   page


       dosfstools were written by Werner Almesberger  ⟨⟩,  Roman
       Hodek  ⟨⟩,  and  others.   Current  maintainers  are
       Andreas Bombe ⟨⟩ and Pali Rohár ⟨⟩.