- Создание файловых систем FAT в Linux
- Установка необходимых инструментов:
- Форматирование флеш-накопитель USB как FAT:
- FAT (Русский)
- Создание файловой системы
- Конфигурация ядра
- Запись на FAT32 в качестве обычного пользователя
- Определение типа FAT
- Смотрите также
- Linux создать fat32 раздел
- File system creation
- Kernel configuration
- Writing to FAT32 as normal user
- Detecting FAT type
- See also
Создание файловых систем FAT в Linux
Полная форма FAT — это таблица размещения файлов. Это файловая система, разработанная Microsoft. Файловая система FAT была разработана для очень старой версии операционной системы Windows, такой как DOS, Windows 98 и т. Д. Файловая система FAT все еще используется сегодня, потому что она поддерживается во всех операционных системах. Например, SD-карты Android и USB-накопители, поддерживаемые Android, по умолчанию используют файловую систему FAT. Раньше на гибких дисках также использовалась файловая система FAT. Linux поддерживает файловую систему FAT через модуль ядра VFAT. В этой статье я покажу вам, как создавать файловые системы FAT в Linux. Итак, приступим.
Установка необходимых инструментов:
Вы можете легко отформатировать USB-накопители как FAT. Для этого у вас должен быть установлен dosfstools . Имя пакета одинаково во всех распространенных дистрибутивах Linux. Он уже должен быть установлен на вашем компьютере. Если это не так, просто используйте свой менеджер пакетов для установки dosfstools .
В Ubuntu/Debian вы можете установить dosfstools с помощью следующей команды:
В CentOS 7 или RHEL 7 вы можете установить dosfstools с помощью следующей команды:
Форматирование флеш-накопитель USB как FAT:
Теперь вставьте USB-накопитель, который вы хотите отформатировать как FAT.
Затем выполните следующую команду, чтобы найти устройство имя вашего USB-накопителя.
Как видите, на USB-накопителе емкостью 4 ГБ имя устройства sdb в моем случае. Итак, я могу получить к нему доступ как /dev/sdb . У вас может быть иначе. Убедитесь, что вы заменили его своим.
Как видите, на моем USB-накопителе уже есть раздел /dev/sdb1 . Итак, мне не нужно создавать раздел. Но если у вас еще нет раздела, вам следует сначала создать его.
Если у вас есть раздел, то сначала размонтируйте раздел, если он смонтирован (как в моем случае). В противном случае вы не сможете его отформатировать.
Чтобы отключить раздел, выполните следующую команду:
Предположим, вы не по какой-то причине на USB-накопителе есть раздел. Вы можете использовать fdisk , чтобы легко его создать.
Для этого откройте /dev/sdb с помощью fdisk следующим образом:
Теперь нажмите o и нажмите , чтобы создать новую таблицу разделов DOS.
Теперь, чтобы создать новый раздел, нажмите n , а затем нажмите . Вы должны увидеть следующие параметры. Мы хотим создать первичный раздел. Итак, просто нажмите (чтобы выбрать вариант по умолчанию).
Так как это первый раздел нашего драгоценного USB-накопителя, значение по умолчанию 1 подходит. Итак, нажмите .
Нажмите , чтобы оставить значения по умолчанию для номера первого сектора.
Нажмите , чтобы оставить значения по умолчанию и для последнего номера сектора.
Вы можете увидеть следующее сообщение. Просто нажмите y , а затем нажмите .
Теперь вам нужно изменить тип раздела W95 FAT32 . В противном случае Windows и другие операционные системы не смогут распознать файловую систему.
Для этого нажмите t и нажмите . Теперь введите шестнадцатеричный код b и нажмите .
Как видите, тип раздела изменен на W95 FAT32 .
Теперь нажмите w и нажмите для записи таблицы разделов на USB-накопитель.
Теперь вы можете отформатировать раздел USB-накопителя /dev/sdb1 как файловую систему FAT32 (32-битную FAT) с помощью следующей команды:
ПРИМЕЧАНИЕ : Здесь флаг -n устанавливает метку (в моем случае MyFlashDrive ) для вашего USB-накопителя. Этикетка поможет вам легко идентифицировать USB-накопители, если у вас несколько USB-накопителей.
Ваш USB-накопитель должен быть отформатирован как FAT32. Игнорируйте предупреждение. Windows не поддерживает строчные буквы в ярлыках FAT32. Он просто покажет метку заглавными буквами. Это все. Если предупреждение вас беспокоит, попробуйте использовать в ярлыке только прописные буквы.
Как видите, я могу смонтировать флешку и копировать туда файлы.
Как видите, USB-накопитель отлично работает в Windows.. Файлы, которые я скопировал из Linux, доступны.
Итак, вот как вы создаете файловые системы FAT (или FAT32) в Linux. Спасибо, что прочитали эту статью.
FAT (Русский)
Состояние перевода: На этой странице представлен перевод статьи FAT. Дата последней синхронизации: 30 декабря 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Таблица размещения файлов (FAT) — это классическая архитектура файловой системы компьютера и семейство стандартных файловых систем, использующих ее. Файловая система FAT представляет собой устаревшую файловую систему, которая проста и надежна. Она обеспечивает хорошую производительность даже в облегченных реализациях, но не может обеспечить такую же производительность, надежность и масштабируемость, как некоторые современные файловые системы. Тем не менее, она поддерживается по соображениям совместимости почти всеми разрабатываемыми в настоящее время операционными системами для персональных компьютеров и многих мобильных устройств и встроенных систем и, таким образом, является хорошо подходящим форматом для обмена данными между компьютерами и устройствами практически любого типа и возраста с 1981 года до настоящего времени.
Создание файловой системы
mkfs.fat поддерживает создание FAT12, FAT16 и FAT32. По умолчанию используемый тип файловой системы выбирается автоматически по размеру раздела, но вы также можете явно прописать нужный тип с помощью опции -F . Подробнее смотрите mkfs.fat(8) .
Форматирование раздела в 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 на компьютерах 86x: CONFIG_MSDOS_PARTITION
Если тип раздела, обнаруженный монтированием, является 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.
/dev/sdxY /mnt/some_folder vfat user,rw
Флаг user означает, что любой пользователь (даже не root) может монтировать и размонтировать раздел /dev/sdxY . Флаг rw дает доступ на чтение и запись.
Например, если ваш раздел FAT32 находится на /dev/sda9 , и вы хотите смонтировать его на /mnt/fat32 , вы должны использовать:
/dev/sda9 /mnt/fat32 vfat user,rw
Теперь любой пользователь может смонтировать его с помощью:
И размонтировать его с помощью:
Имейте в виду, что FAT не поддерживает права доступа Linux. С параметрами монтирования по умолчанию все файлы будут считаться исполняемыми. Вы можете использовать опцию showexec вместо параметров umask и dmask, которые отметит исполняемыми только файлы Windows (com, exe, bat). Смотрите также mount(8) .
Определение типа FAT
Если вы хотите узнать, какой конкретно тип FAT используется на определённом разделе, используйте команду file:
/dev/раздел: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, root entries 512, sectors 4096 (volumes FAT (12 bit)
Также можно использовать команду minfo из пакета mtools :
device information: =================== filename 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
Смотрите также
Linux создать fat32 раздел
This article or section needs expansion.
File Allocation Table (FAT) is a computer file system architecture and a family of industry-standard file systems utilizing it. The FAT file system is a legacy file system which is simple and robust. It offers good performance even in light-weight implementations, but cannot deliver the same performance, reliability and scalability as some modern file systems. It is, however, supported for compatibility reasons by nearly all currently developed operating systems for personal computers and many mobile devices and embedded systems, and thus is a well-suited format for data exchange between computers and devices of almost any type and age from 1981 up to the present.
File system creation
To create a FAT filesystem, install dosfstools .
mkfs.fat supports creating FAT12, FAT16 and FAT32, see Wikipedia:File Allocation Table#Types for an explanation on their differences. mkfs.fat will select the FAT type based on the partition size, to explicitly create a certain type of FAT filesystem use the -F option. See mkfs.fat(8) for more information.
Tip: For most situations you will want to use FAT32. To ensure the partition can be formatted to FAT32, it should be at least 36 MiB on drives with 512 byte logical sector size and 260 MiB on drives with 4096 logical sector size.[1]
Format a partition to FAT32:
# mkfs.fat -F 32 /dev/partition
Kernel configuration
Here is an example of the default mount configuration in the kernel:
$ 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
A short description of the options:
- Language settings: CONFIG_FAT_DEFAULT_CODEPAGE , CONFIG_FAT_DEFAULT_IOCHARSET
- All filenames to lower letters on a FAT partitions if enabled: CONFIG_NCPFS_SMALLDOS
- Enables support of the FAT file systems: CONFIG_FAT_FS , CONFIG_MSDOS_FS , CONFIG_VFAT_FS
- Enables support of a FAT partitioned harddisks on 86x PCs: CONFIG_MSDOS_PARTITION
If the partition type detected by mount is VFAT then it will run the /usr/bin/mount.vfat script.
#!/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 "$@"
Writing to FAT32 as normal user
To write on a FAT32 partition, you must make a few changes to the fstab file.
/dev/sdxY /mnt/some_folder vfat user,rw
The user option means that any user (even non-root) can mount and unmount the partition /dev/sdxY . rw gives read-write access.
For example, if your FAT32 partition is on /dev/sda9 , and you wish to mount it to /mnt/fat32 , then you would use:
/dev/sda9 /mnt/fat32 vfat user,rw
Now, any user can mount it with:
Note that FAT does not support Linux file permissions. Each file will also appear to be executable. You may want to use the showexec option to only mark Windows executables (com, exe, bat) as executable. See mount(8) for more options.
Detecting FAT type
If you need to know which type of FAT file system a partition uses, use the file command:
/dev/partition: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, root entries 512, sectors 4096 (volumes FAT (12 bit)
Alternatively you can use minfo from the mtools package:
# minfo -i /dev/partition ::
device information: =================== filename sectors per track: 32 heads: 64 cylinders: 2 media byte: f8 mformat command line: mformat -t 2 -h 64 -s 32 -i "/dev/partition" :: 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