LinuxRuLinux без лишней теории
Диски и флешки

Форматирование дисков и флешек в Linux через терминал и программы

Редакция LinuxRu7 мин чтенияИнструкции

Форматирование флешки в Linux делается в три шага: найти устройство командой lsblk, размонтировать раздел и создать файловую систему командой mkfs, например sudo mkfs.exfat -L FLASH /dev/sdb1. Ниже показано, какую файловую систему выбрать, как пересоздать разметку целиком и что делать, если флешка не форматируется.

Форматирование дисков и флешек в Linux через терминал и программы
Содержание
  1. Выбор ФС
  2. Найти диск
  3. Размонтирование
  4. Команды mkfs
  5. Новая разметка
  6. Графические утилиты
  7. Очистка и проверка
  8. Ошибки
  9. Частые вопросы

Какую файловую систему выбрать под задачу

Форматирование в Linux сводится к одной команде mkfs с нужным типом файловой системы. Сложность в другом: выбрать систему, которая подойдёт устройствам, где флешка или диск будут работать дальше, и не перепутать диск. С выбора и начнём.

Файловая системаГде читаетсяОграниченияКомандаПакет
FAT32 (vfat)везде: Windows, macOS, телевизоры, магнитолы, UEFIфайл не больше 4 ГБmkfs.vfat -F 32dosfstools
exFATWindows, macOS, Linux, современные камеры и консолинет журнала, старая техника может не видетьmkfs.exfatexfatprogs
NTFSWindows, Linux (драйвер ntfs3 в ядре или ntfs-3g)macOS только читаетmkfs.ntfsntfs-3g, в Fedora ntfsprogs
ext4LinuxWindows без сторонних программ не видитmkfs.ext4e2fsprogs
BtrfsLinuxдля флешек избыточнаmkfs.btrfsbtrfs-progs
XFSLinuxраздел нельзя уменьшитьmkfs.xfsxfsprogs

Практичное правило: флешка для обмена с Windows и Mac - exFAT, флешка для старого телевизора или прошивки BIOS - FAT32, внешний диск только для Linux - ext4. Подробнее о различиях файловых систем и о разметке диска под установку системы рассказано в статье про разделы и файловые системы.

Если утилиты нет, поставьте пакет. Для Debian и Ubuntu:

sudo apt install dosfstools exfatprogs ntfs-3g

Fedora:

sudo dnf install dosfstools exfatprogs ntfsprogs

Arch Linux:

sudo pacman -S dosfstools exfatprogs ntfs-3g

Находим флешку и не путаем её с системным диском

Главная опасность форматирования в терминале одна: указать не то устройство. Linux не переспросит, и через секунду вместо флешки вы потеряете раздел с данными. Поэтому сначала смотрим список дисков:

lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,MOUNTPOINTS,MODEL

Флешку узнают по размеру, модели и колонке TYPE (disk для всего устройства, part для раздела). Классический вариант из прошлой версии статьи тоже работает и показывает таблицу разделов подробнее:

sudo fdisk -l
Вывод команды sudo fdisk -l со списком дисков и флешкой /dev/sdb
sudo fdisk -l: системный диск /dev/sda и флешка /dev/sdb с разделом /dev/sdb1

Как читать имена:

  • /dev/sda, /dev/sdb - SATA и USB-диски, цифра в конце (/dev/sdb1) означает раздел;
  • /dev/nvme0n1 - NVMe SSD, разделы называются /dev/nvme0n1p1;
  • /dev/mmcblk0 - SD-карта во встроенном кардридере, разделы /dev/mmcblk0p1.

Самый надёжный приём: выполните lsblk, вставьте флешку и выполните команду ещё раз. Новая строка и есть ваша флешка. Можно также посмотреть свежие сообщения ядра командой sudo dmesg | tail -20 сразу после подключения.

Размонтирование перед форматированием

Смонтированный раздел отформатировать нельзя, mkfs откажется работать. Рабочий стол обычно монтирует флешку автоматически, поэтому сначала отключаем её:

sudo umount /dev/sdb1

Если на флешке несколько разделов, размонтируйте каждый. Удобнее сделать это одной командой через udisks, ей не нужен sudo для съёмных носителей:

udisksctl unmount -b /dev/sdb1

Где сейчас примонтирована флешка, видно в колонке MOUNTPOINTS вывода lsblk. В Fedora и Arch это /run/media/имя_пользователя/, в Debian и прежних версиях Ubuntu /media/имя_пользователя/, а в Ubuntu 26.04 съёмные носители переехали в /run/media.

Форматирование раздела командой mkfs

Ниже раздел /dev/sdb1 приведён для примера. Подставьте своё имя и перепроверьте его ещё раз. Ключ метки задаёт имя, которое увидит файловый менеджер.

FAT32

sudo mkfs.vfat -F 32 -n FLASH /dev/sdb1

Метка FAT32 не длиннее 11 символов, лучше латиницей и заглавными буквами. Без ключа -F 32 утилита сама выберет FAT12, FAT16 или FAT32 по размеру раздела.

Форматирование флешки в FAT32 командой sudo mkfs.vfat в терминале
Форматирование раздела /dev/sdb1 в vfat

exFAT

sudo mkfs.exfat -L FLASH /dev/sdb1

Поддержка exFAT давно есть в ядре Linux, отдельный FUSE-драйвер не нужен. Нужен только пакет exfatprogs с утилитами.

NTFS

sudo mkfs.ntfs -f -L DATA /dev/sdb1

Ключ -f включает быстрое форматирование. Без него утилита сначала забивает весь раздел нулями, на большом диске это часы.

ext4

sudo mkfs.ext4 -L backup /dev/sdb1

На ext4 по умолчанию 5% места резервируется для root. Для внешнего диска с архивами этот резерв можно убрать, как это сделать, показано в статье про tune2fs. После форматирования ext4 владелец корня раздела root, и обычный пользователь не сможет писать на диск. Исправляется так (подставьте свою точку монтирования):

sudo chown $USER:$USER /run/media/$USER/backup

Проверяем результат:

lsblk -f /dev/sdb

Когда нужно пересоздать разметку флешки целиком

Иногда форматировать раздел мало. Типичный случай: флешка раньше была загрузочной, после записи образа на ней странные разделы, а система показывает объём в пару гигабайт вместо 32. Тут нужна новая таблица разделов.

Сначала стираем старые подписи файловых систем и таблиц. Обратите внимание: здесь указывается всё устройство без цифры, а не раздел:

sudo wipefs -a /dev/sdb

Затем создаём таблицу MBR и один раздел на весь объём. MBR выбран сознательно: её понимает любая техника, от магнитол до старых ноутбуков.

sudo parted -s /dev/sdb mklabel msdos mkpart primary fat32 1MiB 100%

Для exFAT или NTFS в последней команде вместо fat32 укажите ntfs: у обеих систем одинаковый тип раздела в MBR. Для диска больше 2 ТБ используйте mklabel gpt. После этого форматируем новый раздел /dev/sdb1 командами из предыдущего раздела.

Если вы как раз собираетесь записать на флешку установочный образ, форматировать её заранее не нужно: инструменты записи сами перезаписывают разметку. Как это сделать правильно, рассказано в статье про загрузочную флешку Linux.

Перед wipefs и parted выполните lsblk ещё раз и сверьте размер. Эти команды работают с целым диском, и ошибка в одной букве (sda вместо sdb) сотрёт разметку системного диска. Привычка проверять имя дважды полезнее любой утилиты восстановления.

Графические программы для тех, кто не любит терминал

Все сценарии выше доступны и мышкой. Программы показывают диски с моделью и размером, так что ошибиться сложнее.

  • Диски (GNOME Disks), пакет gnome-disk-utility. Есть в Ubuntu и Fedora Workstation по умолчанию. Выберите флешку слева, затем значок шестерёнки у раздела и пункт Форматировать раздел. Через меню с тремя точками можно отформатировать весь диск с новой таблицей разделов.
  • KDE Partition Manager, пакет partitionmanager. Стандарт для Kubuntu, Fedora KDE и других систем с Plasma. Изменения копятся в очереди и применяются кнопкой Применить, что даёт шанс передумать.
  • GParted, пакет gparted. Работает в любом окружении и есть почти на каждом live-образе, поэтому выручает при ремонте системы.

Установка в Debian и Ubuntu:

sudo apt install gparted

Fedora и Arch:

sudo dnf install gparted
sudo pacman -S gparted

Проверить, сколько свободного места осталось на всех подключённых носителях после форматирования, удобно утилитой duf.

Полная очистка, шифрование и проверка подлинности флешки

Обычное форматирование не уничтожает данные, оно создаёт новую пустую файловую систему поверх старой. Программы восстановления часто вытаскивают файлы после mkfs. Если флешку вы отдаёте или продаёте, перезапишите её целиком:

sudo dd if=/dev/zero of=/dev/sdb bs=4M status=progress oflag=sync

Для SSD вместо перезаписи лучше команда TRIM на весь диск, она быстрее и не тратит ресурс ячеек:

sudo blkdiscard /dev/sdX

Если на внешнем диске будут храниться документы или резервные копии, разумнее сразу зашифровать его. Шаги с LUKS и резервным ключом описаны в материале про шифрование LUKS.

Подозрение на подделку

Дешёвые флешки с маркетплейсов нередко показывают 1 ТБ, а реально хранят 16 ГБ: остальное пишется в никуда. Проверить можно утилитой f3, она есть в репозиториях Debian и Ubuntu:

sudo apt install f3
sudo f3probe --destructive --time-ops /dev/sdb

Тест стирает данные. Если f3probe сообщает о поддельном объёме, он же подскажет команду f3fix, которая урежет раздел до реального размера.

Типичные ошибки и что с ними делать

  • target is busy или device is busy при размонтировании. С флешки открыт файл или в неё перешёл терминал. Закройте окна, выполните cd ~ и посмотрите, кто держит раздел: sudo fuser -vm /dev/sdb1.
  • mkfs пишет, что раздел смонтирован, хотя вы его отключали. Автомонтирование успело подключить флешку снова. Размонтируйте и сразу запускайте форматирование.
  • Read-only file system или ошибка записи. Проверьте переключатель защиты на SD-карте. Посмотрите sudo dmesg | tail: сообщения об ошибках ввода-вывода означают, что носитель умирает.
  • Windows не видит флешку после форматирования. Скорее всего, вы выбрали ext4 или Btrfs. Переформатируйте в exFAT или FAT32.
  • Файл больше 4 ГБ не копируется. Это ограничение FAT32. Нужен exFAT или NTFS.
  • Нельзя удалить раздел, Linux пишет, что ядро использует старую таблицу. Выполните sudo partprobe /dev/sdb или переподключите флешку.

Справка по всем ключам есть в man mkfs.vfat, man mkfs.exfat и man mkfs.ext4, а сводная таблица файловых систем с особенностями поддержки в Linux ведётся в ArchWiki.

Частые вопросы

Как отформатировать флешку в FAT32 в Linux?

Найдите раздел через lsblk, размонтируйте его командой sudo umount /dev/sdb1 и выполните sudo mkfs.vfat -F 32 -n FLASH /dev/sdb1. Нужен пакет dosfstools.

Какую файловую систему выбрать для флешки?

Для обмена между Windows, macOS и Linux подходит exFAT. Для старых телевизоров, магнитол и прошивки BIOS лучше FAT32. Для диска, который используется только в Linux, ext4.

Почему не получается отформатировать флешку?

Чаще всего раздел смонтирован или занят процессом. Размонтируйте его, проверьте занятость командой sudo fuser -vm /dev/sdb1. Если в dmesg ошибки ввода-вывода, носитель неисправен.

Как вернуть полный объём флешки после записи образа?

Сотрите старую разметку командой sudo wipefs -a /dev/sdb, создайте новую таблицу и раздел через parted или GNOME Disks и отформатируйте раздел.

Удаляет ли форматирование данные безвозвратно?

Нет, mkfs создаёт новую файловую систему, а старые данные часто можно восстановить. Для надёжного удаления перезапишите устройство командой dd из /dev/zero или используйте blkdiscard для SSD.

Документация и источники

Читайте также

Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.