FAT (Русский)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи FAT. Дата последней синхронизации: 14 августа 2017. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Needs more information. (Discuss in Talk:FAT (Русский)#Needed information)

Из Википедии:Таблица размещения файлов:

Таблица размещения файлов (FAT) - это классическая архитектура файловой системы компьютера и семейство стандартных файловых систем, использующих ее. Файловая система FAT представляет собой устаревшую файловую систему, которая проста и надежна. Она обеспечивает хорошую производительность даже в облегченных реализациях, но не может обеспечить такую же производительность, надежность и масштабируемость, как некоторые современные файловые системы. Тем не менее, она поддерживается по соображениям совместимости почти всеми разрабатываемыми в настоящее время операционными системами для персональных компьютеров и многих мобильных устройств и встроенных систем и, таким образом, является хорошо подходящим форматом для обмена данными между компьютерами и устройствами практически любого типа и возраста с 1981 года до настоящего времени.

Конфигурации ядра

Ниже приведен пример конфигурации монтирования по умолчанию в ядре:

$ zgrep -e FAT -e DOS /proc/config.gz | sort -r 
# DOS/FAT/NT Filesystems
CONFIG_FAT_FS=m
CONFIG_MSDOS_PARTITION=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NCPFS_SMALLDOS=y

Краткое описание этих параметров:

  • Настройки языка: CONFIG_FAT_DEFAULT_CODEPAGE, CONFIG_FAT_DEFAULT_IOCHARSET
  • Все имена файлов в нижнем регистре букв на разделах FAT, если они включены: CONFIG_NCPFS_SMALLDOS
  • Включает поддержку файловых систем FAT: CONFIG_FAT_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS
  • Включает поддержку разметки жестких дисков FAT на компьютерах 86x: CONFIG_MSDOS_PARTITION

Если тип раздела, обнаруженный монтированием, является VFAT, тогда запускается скрипт /usr/bin/mount.vfat.

/usr/bin/mount.vfat
#!/bin/bash
#mount VFAT with full rw (read-write) permissions for all users
#/usr/bin/mount -i -t vfat -oumask=0000,iocharset=utf8 "$@"
#The above is the same as
mount -i -t vfat -oiocharset=utf8,fmask=0000,dmask=0000 "$@"

Запись на FAT32 в качестве обычного пользователя

Чтобы записать на раздел FAT32, вы должны внести несколько изменений в файл fstab.

/etc/fstab
/dev/sdxY    /mnt/some_folder  vfat   user,rw,umask=000              0  0

Флаг user означает, что любой пользователь (даже не root) может монтировать и размонтировать раздел /dev/sdX. Флаг rw дает доступ на чтение и запись; параметр umask удаляет выбранные права - например umask=111 удаляет исполняемые права. Проблема в том, что эта запись также удаляет исполняемые права из каталогов, поэтому мы должны исправить ее с помощью dmask=000. Для получения допольнительной информации смотрите Umask.

Без этих параметров все файлы будут исполняемыми. Вы можете использовать опцию showexec вместо параметров umask и dmask, которые отображают все исполняемые файлы Windows (com, exe, bat) в исполняемых цветах.

Например, если ваш раздел FAT32 находится на /dev/sda9, и вы хотите смонтировать его на /mnt/fat32, вы должны использовать:

/etc/fstab
/dev/sda9    /mnt/fat32        vfat   user,rw,umask=111,dmask=000    0  0

Теперь любой пользователь может смонтировать его с помощью:

$ mount /mnt/fat32

И размонтировать его с помощью:

$ umount /mnt/fat32

Смотрите также