Criando Partições e Sistemas de Arquivos - fdisk e mkfs
O Que Você Vai Conquistar
- Explicar a diferença entre MBR e GPT e como escolher
- Criar partições com
fdisk/gdisk/parted - Criar sistemas de arquivos ext4 / xfs / vfat com a família
mkfs - Construir uma área de swap com
mkswapeswapon - Inspecionar o estado do disco com precisão usando
lsblk/blkid/partprobe
Este é o núcleo do objetivo 104.1 do LPIC-1 "Criar partições e sistemas de arquivos". Cobre o fluxo completo de dividir um disco e torná-lo utilizável.
O Que Você Decide Primeiro?
A primeira decisão é "MBR ou GPT", porque isso muda qual ferramenta de edição de partições você usa. Escolha GPT para discos maiores que 2TB ou quando precisar de mais de quatro partições primárias.
Para tornar um disco utilizável, normalmente você passa por três etapas. Pular a ordem significa que não conseguirá montar.
| Etapa | Operação | Comandos típicos |
|---|---|---|
| 1. Particionar | Dividir o disco em regiões | fdisk / gdisk / parted |
| 2. Criar sistema de arq. | Formatar cada região | mkfs.ext4 / mkfs.xfs / mkswap |
| 3. Montar | Anexar uma região a um diretório | mount (fora do escopo aqui) |
Uma partição sozinha ainda não pode armazenar dados. Se você esquecer de criar um sistema de arquivos com mkfs, receberá um erro wrong fs type na etapa de mount.
Como MBR e GPT Diferem?
MBR é o esquema mais antigo com limite de quatro partições primárias. GPT é o esquema mais novo que suporta discos grandes e muitas partições.
| Item | MBR (msdos) | GPT |
|---|---|---|
| Tamanho max do disco | Até 2TB | Acima de 2TB |
| Partições primárias | Até 4 | 128 na prática |
| Partição estendida | Necessária (3 primárias + 1 estendida) | Não necessária |
| Ferramenta de edição | fdisk |
gdisk |
| Ferramenta comum | parted (ambos) |
parted (ambos) |
Quando MBR precisa de cinco ou mais regiões, você cria 3 partições primárias mais 1 partição estendida, e coloca partições lógicas dentro da estendida. GPT remove essa restrição e trata todas as partições igualmente.
Passo a Passo
Passo 1: Verificar o layout do disco com lsblk
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 50G 0 disk ├─sda1 8:1 0 49G 0 part / └─sda2 8:2 0 1G 0 part [SWAP] sdb 8:16 0 20G 0 disk
lsblk mostra dispositivos de bloco e partições hierarquicamente. Aqui sdb ainda não está particionado (sem filho sdb1). Confundir o nome do dispositivo alvo destrói dados existentes, então sempre verifique primeiro.
Passo 2: Criar uma partição MBR com fdisk
fdisk /dev/sdb
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-41943039, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (default 41943039): +10G
Created a new partition 1 of type 'Linux' and of size 10 GiB.
Command (m for help): w
The partition table has been altered.
Os principais subcomandos do fdisk são n (new), p (print table), d (delete), t (change type), w (write and quit) e q (quit without saving). Use n para especificar tipo, número e tamanho, depois confirme com w.
Nada é gravado no disco até você executar w. Por outro lado, pressionar w sobrescreve a tabela de partições existente. Se você abriu o dispositivo errado, saia sem salvar com q.
Passo 3: Usar gdisk para GPT, parted para uso geral
gdisk /dev/sdb parted /dev/sdb mklabel gpt parted /dev/sdb mkpart primary ext4 1MiB 10GiB
Command (? for help): n Partition number (1-128, default 1): 1 First sector (...): Last sector (...): +10G Current type is 8300 (Linux filesystem) Command (? for help): w
Discos GPT são editados interativamente com gdisk. Seu conjunto de operações se assemelha ao fdisk, usando n (criar), d (deletar) e w (gravar). parted suporta tanto MBR quanto GPT e pode executar mklabel (criar o tipo de tabela) e mkpart (criar uma partição) em uma linha, tornando-o adequado para scripts.
Passo 4: Recarregar a tabela no kernel com partprobe
partprobe /dev/sdb lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 10G 0 part
Mesmo após reescrever a tabela de partições, um kernel pode ainda manter as informações antigas de um disco em uso. partprobe pede ao kernel para reler a tabela de partições. Confirme com lsblk que o novo sdb1 é reconhecido.
Passo 5: Criar um sistema de arquivos com mkfs
mkfs.ext4 /dev/sdb1 blkid /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021) Creating filesystem with 2621440 4k blocks and 655360 inodes Filesystem UUID: 3f29c0a1-...-9b2e4d Writing superblocks and filesystem accounting information: done /dev/sdb1: UUID="3f29c0a1-...-9b2e4d" TYPE="ext4"
mkfs.ext4 cria um sistema de arquivos ext4. mkfs.xfs (XFS) e mkfs.vfat (FAT, -F 32 para FAT32) funcionam da mesma forma. mkfs.ext4 internamente chama mke2fs. Após a criação, verifique o UUID e o tipo de sistema de arquivos com blkid. O UUID é usado para montagens persistentes em /etc/fstab.
Passo 6: Criar uma área de swap com mkswap
mkswap /dev/sdb2 swapon /dev/sdb2 swapon --show
Setting up swapspace version 1, size = 2 GiB no label, UUID=8a1f...e07c NAME TYPE SIZE USED PRIO /dev/sdb2 partition 2G 0B -2
Uma partição de swap é inicializada com mkswap, não com mkfs. Ative-a com swapon e desative-a com swapoff. Confirme o swap ativo com swapon --show ou free -h. Note que uma área de swap também falha no swapon a menos que você execute mkswap primeiro.
Como Escolher ext / xfs / vfat / btrfs?
Para um sistema de arquivos Linux de propósito geral, ext4 é um padrão seguro. Use xfs para grande capacidade e alta concorrência, e vfat para compartilhamento com Windows ou a partição de sistema EFI.
| Tipo | Comando de criação | Uso principal |
|---|---|---|
| ext2 | mkfs.ext2 |
Sem journaling. Volumes pequenos, partições de boot |
| ext3 | mkfs.ext3 |
ext2 com journaling |
| ext4 | mkfs.ext4 |
Padrão para Linux. Grande e confiável |
| xfs | mkfs.xfs |
Grande capacidade, alto throughput |
| vfat | mkfs.vfat |
FAT. Compartilhamento Windows, partição de sistema EFI |
| btrfs | mkfs.btrfs |
FS mais novo com snapshots e subvolumes |
ext2/3/4 são compatíveis por linhagem, com mke2fs como implementação comum. Note operacionalmente que xfs não pode ser reduzido uma vez criado (somente crescimento). btrfs é um sistema de arquivos relativamente novo com snapshots e recursos RAID integrados; para o LPIC-1, um entendimento em nível de visão geral é suficiente.
Solução de Problemas
Sintoma: mount reporta wrong fs type
Causa: Você criou a partição mas não criou um sistema de arquivos com mkfs
Verificação:
blkid /dev/sdb1
Solução: Se blkid não mostra TYPE=, está não formatado. Crie um sistema de arquivos com mkfs.ext4 /dev/sdb1 ou similar.
Sintoma: fdisk não consegue criar uma quinta partição primária
Causa: MBR é limitado a quatro partições primárias
Verificação:
fdisk -l /dev/sdb
Solução: Crie uma partição estendida e coloque partições lógicas dentro dela. Para evitar o limite completamente, mude para GPT com parted ... mklabel gpt (dados existentes são perdidos).
Sintoma: Uma partição não aparece no lsblk
Causa: O kernel mantém a tabela de partições antiga
Verificação:
lsblk /dev/sdb
Solução: Execute partprobe /dev/sdb para que o kernel releia a tabela. Se ainda não aparecer, reinicie.
Sintoma: swapon falha com Invalid argument
Causa: Você não executou mkswap na partição alvo
Verificação:
blkid /dev/sdb2
Solução: Inicialize como swap com mkswap /dev/sdb2, depois execute swapon /dev/sdb2.
Lista de Verificação de Conclusão
- [ ] Confirmou com
lsblkque direcionou o dispositivo correto - [ ] Criou a partição com
fdisk/gdisk/partede gravou comw - [ ] Recarregou a tabela no kernel com
partprobe - [ ] Formatou com
mkfs.ext4(ou o mkfs para seu propósito) - [ ] Ativou swap com
mkswape depoisswapon - [ ] Verificou UUID e tipo de sistema de arquivos com
blkid
Resumo
| Cenário | Comando | Propósito |
|---|---|---|
| Inspecionar | lsblk / fdisk -l |
Entender dispositivos e partições |
| Editar MBR | fdisk /dev/sdb |
Edição interativa com n/p/d/t/w/q |
| Editar GPT | gdisk /dev/sdb |
Criar partições GPT |
| Edição geral | parted ... mklabel/mkpart |
Scriptável, ambos os formatos |
| Aplicar | partprobe /dev/sdb |
Recarregar a tabela |
| Formatar | mkfs.ext4 /dev/sdb1 |
Criar um sistema de arquivos |
| Swap | mkswap / swapon |
Construir uma área de swap |
| Verificar | blkid /dev/sdb1 |
Verificar UUID e tipo de FS |
Criar partições e sistemas de arquivos é o ponto de entrada para tornar um disco utilizável. Em seguida, prossiga para montar esse sistema de arquivos e torná-lo persistente em /etc/fstab para completar seu entendimento.
Próximas Leituras
- Montagem e Gerenciamento de Sistemas de Arquivos
- FHS e Localização de Arquivos
- Gerenciamento Básico de Arquivos