FAT (Русский) - ArchWiki

Jump to content
From ArchWiki

Ссылки по теме

- Файловые системы

Состояние перевода: На этой странице представлен перевод статьи FAT. Дата последней синхронизации: 30 декабря 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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

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

## Создание файловой системы

Установите пакет dosfstools.

`mkfs.fat` поддерживает создание FAT12, FAT16 и FAT32. По умолчанию используемый тип файловой системы выбирается автоматически по размеру раздела, но вы также можете явно прописать нужный тип с помощью опции `-F`. Подробнее смотрите mkfs.fat(8).

Совет: В большинстве случаев вам нужен FAT32.

Форматирование раздела в FAT32:

    # mkfs.fat -F 32 /dev/раздел

Примечание: `mkfs.vfat` и `mkfs.msdos` являются символическими ссылками на одну и ту же утилиту `mkfs.fat`.

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

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

    $ 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 на компьютерах x86: `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

Флаг `user` означает, что любой пользователь (даже не root) может монтировать и размонтировать раздел `/dev/sdxY`. Флаг `rw` дает доступ на чтение и запись.

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

    /etc/fstab

    /dev/sda9    /mnt/fat32        vfat   user,rw

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

    $ mount /mnt/fat32

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

    $ umount /mnt/fat32

Имейте в виду, что FAT не поддерживает права доступа Linux. С параметрами монтирования по умолчанию все файлы будут считаться исполняемыми. Вы можете использовать опцию `showexec` вместо параметров umask и dmask, которые отметит исполняемыми только файлы Windows (com, exe, bat). Смотрите также mount(8).

## Определение типа FAT

Если вы хотите узнать, какой конкретно тип FAT используется на определённом разделе, используйте команду file:

    # file -s /dev/раздел

    /dev/раздел: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, root entries 512, sectors 4096 (volumes <=32 MB), Media descriptor 0xf8, sectors/FAT 3, sectors/track 32, heads 64, serial number 0x5bc09c21, unlabeled, FAT (12 bit)

Также можно использовать команду minfo из пакета mtools:

    # minfo -i /dev/раздел ::

    device information:
    ===================
    filename="/dev/раздел"
    sectors per track: 32
    heads: 64
    cylinders: 2

    media byte: f8

    mformat command line: mformat -t 2 -h 64 -s 32 -i "/dev/раздел" ::

    bootsector information
    ======================
    banner:"mkfs.fat"
    sector size: 512 bytes
    cluster size: 4 sectors
    reserved (boot) sectors: 1
    fats: 2
    max available root directory slots: 512
    small size: 4096 sectors
    media descriptor byte: 0xf8
    sectors per fat: 3
    sectors per track: 32
    heads: 64
    hidden sectors: 0
    big size: 0 sectors
    physical drive id: 0x80
    reserved=0x0
    dos4=0x29
    serial number: 5BC09C21
    disk label="NO NAME    "
    disk type="FAT12   "

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

- Монтирование файловой системы FAT[устаревшая ссылка 2022-09-17 ⓘ]

Category:

- File systems (Русский)

Hidden category:

- Pages with dead links