Comando mkfs no Linux (formata disco) [Guia Básico]

O comando mkfs no Linux formata a partição criada pelo fdisk / gdisk / parted com o sistema de arquivos.

O tipo de sistema de arquivos é definido pela opção –t e são os formatos nativos ext2, ext3, ext4, fat, vfat, minix, msdos e xfs.

Os comandos mke2fs e mkdosfs são variações do mkfs.

O mkfs possui algumas variações que permitem escolher o tipo de sistema de arquivos diretamente:

$ ls -l /usr/sbin/mk*
lrwxrwxrwx 1 root root      8 ago 29 22:48 /usr/sbin/mkdosfs -> mkfs.fat
-rwxr-xr-x 4 root root  96328 jul 26  2018 /usr/sbin/mke2fs
-rwxr-xr-x 1 root root  11432 jul 26  2018 /usr/sbin/mkfs
-rwxr-xr-x 4 root root  96328 jul 26  2018 /usr/sbin/mkfs.ext2
-rwxr-xr-x 4 root root  96328 jul 26  2018 /usr/sbin/mkfs.ext3
-rwxr-xr-x 4 root root  96328 jul 26  2018 /usr/sbin/mkfs.ext4
-rwxr-xr-x 1 root root  28512 ago  2  2018 /usr/sbin/mkfs.fat
-rwxr-xr-x 1 root root  83824 jul 26  2018 /usr/sbin/mkfs.minix
lrwxrwxrwx 1 root root      8 ago 29 22:48 /usr/sbin/mkfs.msdos -> mkfs.fat
lrwxrwxrwx 1 root root      8 ago 29 22:48 /usr/sbin/mkfs.vfat -> mkfs.fat
-rwxr-xr-x 1 root root 372448 jan 24  2019 /usr/sbin/mkfs.xfs

Dependendo da variação que você escolher, o mkfs pode ter mais ou menos opções.

De maneira geral, as opções possíveis do comando mkfs são:

  • -t: Informa qual o tipo de formatação a partição deverá ser
  • -c: Verifica a existência de bad blocks (defeitos) no dispositivo;
  • -L: nome Configura o nome do dispositivo;
  • -n: nome Configura o nome do dispositivo para o formato msdos;
  • -q: Faz com que o mkfs trabalhe com o mínimo de saída no vídeo possível;
  • -v: Faz com que o mkfs trabalhe com o máximo de saída no vídeo possível;
  • -m: Percentual de disco reservado

Uma opção interessante do mkfs é o “-m percentual” que permite reservar um espaço do disco em percentual  para evitar o travamento do sistema em caso de disco cheio. A ideia é o sistema operacional alertar que o disco está cheio para os usuários comuns, ANTES do disco estar realmente completamente cheio. Isso permite que o sistema continue funcionando por um tempo até que o administrador possa tomar alguma medida para evitar que um disco realmente cheio trave o funcionamento do sistema ou ocasione perda de dados.

Exemplo:

Formata com sistema de arquivos ext3:

# mkfs.ext3 /dev/xvdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
524288 inodes, 2096891 blocks
104844 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Formata o disco com xfs:

# mkfs.xfs  /dev/xvdb1
meta-data=/dev/xvdb1             isize=512    agcount=4, agsize=524223 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=2096891, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Sistemas de Arquivos

Uma vez que as partições já estão definidas, pode-se criar o Sistema de Arquivos que será utilizado. O Linux suporta vários sistemas de arquivos e sua escolha depende muito da utilidade que se dará ao sistema e o tipo de disco.

Os discos formatados com ext2, ext3 e ext4 possuem uma gama grande de ferramentas. Como utiliza um tamanho de bloco fixo, não são bons sistemas de arquivos para pequenos arquivos, pois podem consumir muito disco desnecessariamente.

Por exemplo, o ext4 usa como padrão blocos de 4K. Se você tem muitos arquivos pequenos como de 1k, cada arquivo vai usar um bloco inteiro de 4k, mesmo que seu tamanho seja menor que isso.

O XFS por sua vez é excelente na execução de operações paralelas de entrada/saída (E/S) com uso de vários discos físicos, pois foi desenhado para alto desempenho de estações gráficas. Ele é ideal para aplicações que editam imagens e vídeos.

Já o BTRFS parece ser a escolha mais acertada, já que permite snapshots, compactação, desfragmentação e tantas outras vantagens, mas nem sempre disponível em todas as distribuições.

A tabela a seguir vai ajudá-lo na escolha do sistema de arquivos:

Tipo de Sistema de ArquivosSugestão de UtilizaçãoVantagensDesvantagens
ext2Usado no /boot e em pendrivesSimples e rápidoNão possui journaling
ext3Uso geral no LinuxAcrescenta Journaling ao ex2 sem precisar formatarNão tão rápido e confiável como ext4
ext4Uso geral no LinuxMelhor desempenho e confiabilidade que o ext3Não permite uma série de funcionalidades que o BTRFS tem
XFSUso geral no LinuxMelhor desempenho que o ext3. Ideal para vídeos.Não permite uma série de funcionalidades que o BTRFS tem
ReiserFSNão é mais usadoEficiente para arquivos pequenosConsumo elevado de CPU
VFATCartões de memória e pendrivePortabilidade fácil com WindowsTodas  🙂
BTRFSUso geral no LinuxTodas 🙂Virtualmente nenhuma

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe