ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Использование команды mkfs в Linux для форматирования файловой системы на диске или разделе

Использование команды mkfs в Linux для форматирования файловой системы на диске или разделе

Буквы в mkfs значке означают “make file system” (создать файловую систему). Команда обычно используется для управления устройствами хранения в Linux. Вы можете рассматривать mkfs как инструмент командной строки для форматирования диска в определенной файловой системе.

mkfs -t [fs type] [target device]

 

Вы также можете использовать команду mkfs следующим образом:

mkfs.[fs type] [target device]

 

В этой статье мы в общих чертах расскажем, что такое файловая система. А также приведем примеры эффективного использования команды mkfs.

Поскольку команда mkfs работает с дисками и разделами, вам необходимо быть пользователем root или sudo с правами доступа для запуска команд администратора.

MKFS это мощный инструмент. Важно понимать потенциальные последствия изменения файловой системы. Выбор неправильного узла устройства удалит все данные на этом устройстве. Используйте эту команду на свой страх и риск. Вы были предупреждены

 

Что такое файловая система

Файловая система (fs) относится к структуре и логике, которые управляют данными на устройстве. Файловая система контролирует, как данные хранятся и извлекаются.

Существует много типов файловых систем, каждая из которых имеет свои преимущества и недостатки. Вот наиболее распространенный тип файловых систем:

 

Возможно, вы уже сталкивались с одним или несколькими из этих типов файловых систем. Вы можете даже связать типы с их соответствующими операционными системами.

Вообще говоря, FAT/NTFS предназначены для Windows, Ext используется с системами Linux, а APFS/HFS – файловые системы macOS. Каждый из них по-разному обращается к логике файловой структуры, что может привести к проблемам.

Вот почему важно подумать об этом перед объявлением типа файловой системы или «форматированием» вашего устройства. Каждый вариант использования индивидуален, и вам решать, какая файловая система лучше всего подходит для ваших нужд.

 

Примеры команд mkfs

Позвольте нам показать вам наиболее распространенное использование команды mkfs.

Пожалуйста, не пытайтесь использовать вслепую ни одну из этих команд в вашей реальной системе. Они отформатирует целевое устройство/раздел диска, удалив все данные.

 

mkfs без опций создает файловую систему ext2

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

sudo mkfs /dev/sdb1

 

Укажите тип файла с помощью mkfs

Использование ext2 не очень удобно или целесообразно. В наши дни большинство систем Linux рекомендуют использовать ext4. Вы можете указать файловую систему следующим образом:

sudo mkfs -t ext4 /dev/sdb1

 

Вы также можете использовать это так:

sudo mkfs.ext4 /dev/sdb1

 

Проверьте наличие плохих блоков на устройстве

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

sudo mkfs -c /dev/sdb1

 

Бонусный совет: проверьте тип файловой системы устройства

Вы можете проверить тип файловой системы устройства, которое вы только что отформатировали, используя команду mkfs. Вы можете использовать команду file для этой цели.

sudo file -sL /device

 

Вот пример, который показывает, какой вывод он может показать:

linux@andreyex:~$ sudo file -s /dev/nvme0n1p2
/dev/nvme0n1p2: Linux rev 1.0 ext4 filesystem data, UUID=34daa4b7-a2c4-4983-b5cc-df9baa6a6543 (extents) (64bit) (large files) (huge files)

 

Реальный пример использования: использование команды mkfs для создания файловой системы на USB-устройстве.

Теперь, когда у вас есть некоторая справочная информация, вы можете начать использовать mkfs.

Самая практическая демонстрация, которую мы можем придумать, – это форматирование USB-накопителя. Эти же принципы будут применяться к любому типу хранилища по вашему выбору.

 

Найди свое устройство

Сначала вам нужно будет найти свое устройство. Один метод, который вы можете использовать, это sudo fdisk -l. Это перечислит все дисковые узлы, которые в настоящее время смонтированы.

destroyer@linux-andreyex:~$ sudo fdisk -l
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: VBOX HARDDISK   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3c62c49c

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        4096  1023998  1019903  498M 83 Linux
/dev/sda2        1024000 44036094 43012095 20.5G 83 Linux
/dev/sda3       44036096 52424702  8388607    4G 82 Linux swap / Solaris

Disk /dev/sdb: 28.93 GiB, 31040995328 bytes, 60626944 sectors
Disk model: Patriot Memory  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 91A34D6F-E67B-E54D-B19C-5CC828DAAB9A

Device     Start      End  Sectors  Size Type
/dev/sdb1   2048 60626910 60624863 28.9G Linux filesystem

 

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

 

Проверьте раздел

Устройство, которое мы используем, является USB-накопителем Patriot Memory, и оно находится по адресу /dev/sdb. В дополнение к определению правильного диска, вам нужно будет убедиться, что вы меняете fs нужного раздела.

Мы использовали инструменты fdisk, чтобы удалить существующие данные и написать новую таблицу разделов. Пока мы делали это, мы создали новый раздел для записи. Этот раздел будет нашей целью /dev/sdb1.

 

Отсоединение

Прежде чем пытаться изменить файловую систему, вам нужно размонтировать ее с помощью команды umount.

destroyer@linux-andreyex:~$ sudo umount /dev/sdb1

 

Создать файловую систему

Теперь, когда вы проверили свою цель и размонтировали диск, вы можете приступить к созданию файловой системы.

Мы добавили опцию -v verbose, чтобы отобразить больше информации при запуске.

destroyer@linux-andreyex:~$ sudo mkfs.ext4 /dev/sdb1 -v
mke2fs 1.45.5 (07-Jan-2020)
fs_types for mke2fs.conf resolution: 'ext4'
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1896832 inodes, 7578107 blocks
378905 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2155872256
232 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Filesystem UUID: 73882769-7599-4c79-a00b-ef317ccd921d
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

 

Этот процесс может занять некоторое время, но должен завершиться менее чем за 20 минут, если цель не превышает 2 ТБ.

У нас было несколько проблем с программой, висящей на последнем пункте. К сожалению, нет индикатора прогресса, и мы не видели ошибок.

 

Проверьте вновь созданную файловую систему

Сначала проверьте файловую систему устройства, которое вы только что использовали. Это тот, который вы хотели?

sudo file -sL /dev/sdb1

 

Важно убедиться, что устройство распознается в системах, с которыми оно будет использоваться. Мы создали папку с именем test и внутри нее файл с именем test.txt.

Чтобы сэкономить время, вы можете скопировать и вставить мои команды здесь.

mkdir test && cd test
touch test.txt
echo "THIS IS ONLY A TEST" > test.txt
cat test.txt

 

Если все работает, вы сможете смонтировать диск в нужные вам системы и получить доступ к файлам. Если вы не можете получить доступ к файлам в вашей системе, возможно, существует проблема совместимости.

 

Вывод

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

Если у вас есть какие-либо комментарии или вопросы, пожалуйста, оставьте их ниже. Если у вас есть предложения по темам, которые вы бы хотели охватить, не стесняйтесь также оставлять их.

Exit mobile version