🐧 Форматирование SD-карты, USB-накопителя, флэш-накопителя на Linux с помощью parted |

🐧 Форматирование SD-карты, USB-накопителя, флэш-накопителя на Linux с помощью parted

Мануал
Как человеку, работающему с операционными системами, компьютерами и электронными устройствами, вам зачастую необходимо отформатировать карту Micro SD, USB-накопитель / флэш-диск с разделом fat32 или чем то подобным.
В этом руководстве мы рассмотрим, как можно отформатировать USB-накопитель и SD-карту в любой системе Linux, используя утилиту CLI parted.
В операционной системе Linux есть графические инструменты, такие как GParted и GNOME Disks, которые можно использовать в графическом интерфейсе для форматирования SD-карт, USB-накопителей и т.д.
Это руководство ориентировано на использование инструмента командной строки (parted).
Также можно использовать другие инструменты, такие как fdisk, gdisk, cfdisk, sfdisk.

Прежде чем мы начнем

Прежде чем начать, вам необходимо установить приложение GNU Parted в вашей системе Linux.

GNU Parted – это программа для создания и управления таблицами разделов.

Ее интерфейс – GParted.

Установите GNU Parted на вашем Linux-компьютере, используя команды, представленные ниже.

--- Debian / Ubuntu ---
$ sudo apt update
$ sudo apt -y install parted

--- Fedora / CentOS ---
$ sudo yum -y install parted
$ sudo dnf -y install parted

--- Arch Linux / Manjaro ---
$ sudo pacman -S parted

Вы также должны подключить свои SD-карты или USB / флэш-накопитель к компьютеру и убедиться, что ОС их видит.

Lsblk – это инструмент командной строки Linux, используемый для отображения информации обо всех доступных или указанных устройствах.

$ lsblk --all
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb               8:0    1  14.9G  0 disk 
nvme0n1         259:0    0 238.5G  0 disk 
├─nvme0n1p1     259:1    0     1G  0 part /boot
└─nvme0n1p2     259:2    0 237.5G  0 part 
  ├─fedora-root 253:0    0    70G  0 lvm  /sysroot
  ├─fedora-swap 253:1    0   7.7G  0 lvm  [SWAP]
  └─fedora-home 253:2    0 159.8G  0 lvm  /var/home

Моя флешка на /dev/sdb.

Когда USB-устройство подключено к вашему компьютеру, dmesg – инструмент для вывода или управления буфером ядра, покажет информацию о подключении.

$ dmesg
....
[ 6209.409187] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 6209.409321] scsi host0: usb-storage 1-1:1.0
[ 6209.409406] usbcore: registered new interface driver usb-storage
[ 6209.412727] usbcore: registered new interface driver uas
[ 6210.741626] scsi 0:0:0:0: Direct-Access     SMI      USB DISK         1100 PQ: 0 ANSI: 4
[ 6210.742549] sd 0:0:0:0: Attached scsi generic sg0 type 0
[ 6210.743829] sd 0:0:0:0: [sdb] 31129600 512-byte logical blocks: (15.9 GB/14.8 GiB)
[ 6210.745121] sd 0:0:0:0: [sdb] Write Protect is off
[ 6210.745128] sd 0:0:0:0: [sdb] Mode Sense: 43 00 00 00
[ 6210.746338] sd 0:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 6210.868622] usb 1-1: reset high-speed USB device number 8 using xhci_hcd
[ 6211.326903]  sdb:
[ 6211.332089] sd 0:0:0:0: [sdb] Attached SCSI removable disk

Форматирование SD-карты, USB-накопителя, на Linux с parted

Подтвердите, что parted установлен.

$ parted --version
parted (GNU parted) 3.2.153
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by <http://git.debian.org/?p=parted/parted.git;a=blob_plain;f=AUTHORS>.
Подтвердите название SD-карты, флешки, которую хотите отформатировать.
$ lsblk --all
Прежде чем мы отформатируем наше USB-устройство, мы сначала удалим подписи файловой системы или таблицы разделов, которые могут существовать на устройстве.
$ sudo wipefs --all --force /dev/sdb
/dev/sdb: 5 bytes were erased at offset 0x00008001 (iso9660): 43 44 30 30 31
/dev/sdb: 2 bytes were erased at offset 0x000001fe (dos): 55 aa
/dev/sdb: 8 bytes were erased at offset 0x00000200 (gpt): 45 46 49 20 50 41 52 54

Использование Parted для форматирования SD-карты, USB-накопителя, флэшки на Linux

Parted имеет два режима: командной строки и интерактивный.

Parted всегда должен начинаться с:

$ sudo parted device

Где:

device – это SD-карта, USB-накопитель или флэшка.
Если вы опустите аргумент устройства, parted попытается угадать, какое устройство вы имеете ввиду.
Мы будем использовать интерактивный режим, который упрощает процесс, автоматически применяя все команды parted к указанному устройству.
В моем сценарии вот команда, которую я выполню, чтобы начать работать с устройством:
$ sudo parted /dev/sdb
GNU Parted 3.2.153
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

Вы заметите, что приглашение командной строки изменится на (parted)

Чтобы увидеть список доступных команд, введите:

(parted) help

Шаг 1: Создать новую таблицу разделов

Вам необходимо создать или воссоздать таблицу разделов вашего устройства

Чтобы создать новую таблицу разделов Master Boot Record / MS-DOS:

(parted) mklabel msdos

Подтверждение:

(parted) p                                                                
Model: SMI USB DISK (scsi)
Disk /dev/sdb: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End  Size  Type  File system  Flags
(parted)
Для таблицы разделов GPT необходимо использовать:
(parted) mklabel gpt

Шаг 2: Создать раздел на устройстве

Вы можете выбрать количество и размер разделов, на которые должны быть разбиты устройства.

Синтаксис команды, используемый для создания разделов:

(parted) mkpart part-type fs-type start end

Я создам раздел, начинающийся с 1 МБ и заканчивающийся на 100%.

(parted) mkpart primary fat32 1MiB 100%
Подобные варианты использования:
Не запускайте это – только примеры
# Создание раздела ext4
(parted) mkpart primary ext4 1MiB 100%

# Создание раздела XFS
(parted) mkpart primary xfs  1MiB 100%

# Создание двух разделов ext4
(parted) mkpart primary ext4 1MiB 5GiB
(parted) mkpart primary ext4 5GiB 100%
Подтвердите изменения, которые мы сделали:
(parted) p
Model: SMI USB DISK (scsi)
Disk /dev/sdb: 15.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  15.9GB  15.9GB  primary  fat32        lba

Шаг 3: отформатируйте раздел

Последний шаг – отформатировать раздел в соответствии с типом файловой системы по вашему выбору.

Я отформатирую раздел устройства USB в FAT32.

(parted) quit
Information: You may need to update /etc/fstab.

$ lsblk            
 NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
 sdb               8:0    1  14.9G  0 disk 
 └─sdb1            8:1    1  14.9G  0 part 

$ sudo mkfs.vfat -F32 /dev/sdb1
mkfs.fat 4.1 (2017-01-24)
mkfs.vfat: failed whilst writing FAT

Подтвердите новые изменения:

$ lsblk -o +label,fstype,uuid /dev/sdb

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT LABEL FSTYPE UUID
sdb      8:0    1 14.9G  0 disk                         
└─sdb1   8:1    1 14.9G  0 part                  vfat   A6B5-97C8
Проверьте, сможете ли вы смонтировать устройство.
$ mkdir ~/mnt
$ sudo mount /dev/sdb1 ~/mnt
$ df -hT ~/mnt 
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sdb1      vfat   15G  4.5G   11G  31% /var/home/jmutai/mnt
$ sudo umount ~/mnt 

Как сделать это не в интерактивном режиме

Мы можем запустить все команды в терминале, не вызывая интерактивный экран.

sudo parted -s -a optimal -- /dev/sdb mklabel msdos
sudo parted -s -a optimal -- /dev/sdb mkpart primary fat32 1MiB 100%
sudo parted -s -- /dev/sdb align-check optimal 1
sudo mkfs.vfat -F32 /dev/sdb1

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий

  1. Андрей

    Здравствуйте, ув. Сryptoparty !
    У меня перестала открываться флешка, хотя системы её и видят. Ни в виндовс, ни в убунту она не форматируется. Gparted определяет её -“sdb не размеченная”. Создать таблицу разделов не удаётся. Обрадовался, найдя вашу статью. По ней прошёл всю последовательность. Вроде создал раздел и подтвердил.
    А вот дальше проблема – SDA1 так и не появился, и форматировать нечего… Что делать? Флешку в мусор? Помогите, пожалуйста.
    Записи терминала прилагаю. Заранее спасибо!

    logos@AcerR15 ~ $ sudo wipefs –all –force /dev/sdb
    [sudo] пароль для logos:
    logos@AcerR15 ~ $ sudo parted /dev/sdb
    GNU Parted 3.2
    Используется /dev/sdb
    Добро пожаловать в GNU Parted! Наберите ‘help’ для просмотра списка команд.
    (parted) mklabel msdos
    (parted) p
    Модель: General UDisk (scsi)
    Диск /dev/sdb: 4037MB
    Размер сектора (логич./физич.): 512B/512B
    Таблица разделов: msdos
    Флаги диска:

    Номер Начало Конец Размер Тип Файловая система Флаги

    (parted) mkpart primary fat32 1MiB 100%
    (parted) p
    Модель: General UDisk (scsi)
    Диск /dev/sdb: 4037MB
    Размер сектора (логич./физич.): 512B/512B
    Таблица разделов: msdos
    Флаги диска:

    Номер Начало Конец Размер Тип Файловая система Флаги
    1 1049kB 4037MB 4036MB primary fat32 lba

    (parted) quit
    Информация: Не забудьте обновить /etc/fstab.

    logos@AcerR15 ~ $ lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 931,5G 0 disk
    ├─sda1 8:1 0 100M 0 part /boot/efi
    ├─sda2 8:2 0 16M 0 part
    ├─sda3 8:3 0 107,7G 0 part
    ├─sda4 8:4 0 645,2G 0 part
    ├─sda5 8:5 0 500M 0 part
    ├─sda6 8:6 0 2,9G 0 part [SWAP]
    ├─sda7 8:7 0 23,3G 0 part /
    └─sda8 8:8 0 151,9G 0 part /home
    sdb 8:16 1 3,8G 0 disk
    logos@AcerR15 ~ $ sudo mkfs.vfat -F32 /dev/sdb1
    mkfs.fat 3.0.28 (2015-05-16)
    /dev/sdb1: No such file or directory
    logos@AcerR15 ~ $ sudo mkfs.vfat -F32 /dev/sdb
    mkfs.fat 3.0.28 (2015-05-16)
    mkfs.vfat: Device partition expected, not making filesystem on entire device ‘/dev/sdb’ (use -I to override)
    logos@AcerR15 ~ $ lsblk -o +label,fstype,uuid /dev/sdb
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT LABEL FSTYPE UUID
    sdb 8:16 1 3,8G 0 disk
    logos@AcerR15 ~ $

    Ответить