Criando Particoes e Sistemas de Arquivos - fdisk e mkfs
O Que Voce Vai Conquistar
- Explicar a diferenca entre MBR e GPT e como escolher
- Criar particoes com
fdisk/gdisk/parted - Criar sistemas de arquivos ext4 / xfs / vfat com a familia
mkfs - Construir uma area de swap com
mkswapeswapon - Inspecionar o estado do disco com precisao usando
lsblk/blkid/partprobe
Este e o nucleo do objetivo 104.1 do LPIC-1 "Criar particoes e sistemas de arquivos". Cobre o fluxo completo de dividir um disco e torna-lo utilizavel.
O Que Voce Decide Primeiro?
A primeira decisao e "MBR ou GPT", porque isso muda qual ferramenta de edicao de particoes voce usa. Escolha GPT para discos maiores que 2TB ou quando precisar de mais de quatro particoes primarias.
Para tornar um disco utilizavel, normalmente voce passa por tres etapas. Pular a ordem significa que nao conseguira montar.
| Etapa | Operacao | Comandos tipicos |
|---|---|---|
| 1. Particionar | Dividir o disco em regioes | fdisk / gdisk / parted |
| 2. Criar sistema de arq. | Formatar cada regiao | mkfs.ext4 / mkfs.xfs / mkswap |
| 3. Montar | Anexar uma regiao a um diretorio | mount (fora do escopo aqui) |
Uma particao sozinha ainda nao pode armazenar dados. Se voce esquecer de criar um sistema de arquivos com mkfs, recebera um erro wrong fs type na etapa de mount.
Como MBR e GPT Diferem?
MBR e o esquema mais antigo com limite de quatro particoes primarias. GPT e o esquema mais novo que suporta discos grandes e muitas particoes.
| Item | MBR (msdos) | GPT |
|---|---|---|
| Tamanho max do disco | Ate 2TB | Acima de 2TB |
| Particoes primarias | Ate 4 | 128 na pratica |
| Particao estendida | Necessaria (3 primarias + 1 estendida) | Nao necessaria |
| Ferramenta de edicao | fdisk |
gdisk |
| Ferramenta comum | parted (ambos) |
parted (ambos) |
Quando MBR precisa de cinco ou mais regioes, voce cria 3 particoes primarias mais 1 particao estendida, e coloca particoes logicas dentro da estendida. GPT remove essa restricao e trata todas as particoes 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 particoes hierarquicamente. Aqui sdb ainda nao esta particionado (sem filho sdb1). Confundir o nome do dispositivo alvo destroi dados existentes, entao sempre verifique primeiro.
Passo 2: Criar uma particao 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 sao n (new), p (print table), d (delete), t (change type), w (write and quit) e q (quit without saving). Use n para especificar tipo, numero e tamanho, depois confirme com w.
Nada e gravado no disco ate voce executar w. Por outro lado, pressionar w sobrescreve a tabela de particoes existente. Se voce 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 sao editados interativamente com gdisk. Seu conjunto de operacoes 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 particao) 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 apos reescrever a tabela de particoes, um kernel pode ainda manter as informacoes antigas de um disco em uso. partprobe pede ao kernel para reler a tabela de particoes. Confirme com lsblk que o novo sdb1 e 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. Apos a criacao, verifique o UUID e o tipo de sistema de arquivos com blkid. O UUID e usado para montagens persistentes em /etc/fstab.
Passo 6: Criar uma area 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 particao de swap e inicializada com mkswap, nao com mkfs. Ative-a com swapon e desative-a com swapoff. Confirme o swap ativo com swapon --show ou free -h. Note que uma area de swap tambem falha no swapon a menos que voce execute mkswap primeiro.
Como Escolher ext / xfs / vfat / btrfs?
Para um sistema de arquivos Linux de proposito geral, ext4 e um padrao seguro. Use xfs para grande capacidade e alta concorrencia, e vfat para compartilhamento com Windows ou a particao de sistema EFI.
| Tipo | Comando de criacao | Uso principal |
|---|---|---|
| ext2 | mkfs.ext2 |
Sem journaling. Volumes pequenos, particoes de boot |
| ext3 | mkfs.ext3 |
ext2 com journaling |
| ext4 | mkfs.ext4 |
Padrao para Linux. Grande e confiavel |
| xfs | mkfs.xfs |
Grande capacidade, alto throughput |
| vfat | mkfs.vfat |
FAT. Compartilhamento Windows, particao de sistema EFI |
| btrfs | mkfs.btrfs |
FS mais novo com snapshots e subvolumes |
ext2/3/4 sao compativeis por linhagem, com mke2fs como implementacao comum. Note operacionalmente que xfs nao pode ser reduzido uma vez criado (somente crescimento). btrfs e um sistema de arquivos relativamente novo com snapshots e recursos RAID integrados; para o LPIC-1, um entendimento em nivel de visao geral e suficiente.
Solucao de Problemas
Sintoma: mount reporta wrong fs type
Causa: Voce criou a particao mas nao criou um sistema de arquivos com mkfs
Verificacao:
blkid /dev/sdb1
Solucao: Se blkid nao mostra TYPE=, esta nao formatado. Crie um sistema de arquivos com mkfs.ext4 /dev/sdb1 ou similar.
Sintoma: fdisk nao consegue criar uma quinta particao primaria
Causa: MBR e limitado a quatro particoes primarias
Verificacao:
fdisk -l /dev/sdb
Solucao: Crie uma particao estendida e coloque particoes logicas dentro dela. Para evitar o limite completamente, mude para GPT com parted ... mklabel gpt (dados existentes sao perdidos).
Sintoma: Uma particao nao aparece no lsblk
Causa: O kernel mantém a tabela de particoes antiga
Verificacao:
lsblk /dev/sdb
Solucao: Execute partprobe /dev/sdb para que o kernel releia a tabela. Se ainda nao aparecer, reinicie.
Sintoma: swapon falha com Invalid argument
Causa: Voce nao executou mkswap na particao alvo
Verificacao:
blkid /dev/sdb2
Solucao: Inicialize como swap com mkswap /dev/sdb2, depois execute swapon /dev/sdb2.
Lista de Verificacao de Conclusao
- [ ] Confirmou com
lsblkque direcionou o dispositivo correto - [ ] Criou a particao com
fdisk/gdisk/partede gravou comw - [ ] Recarregou a tabela no kernel com
partprobe - [ ] Formatou com
mkfs.ext4(ou o mkfs para seu proposito) - [ ] Ativou swap com
mkswape depoisswapon - [ ] Verificou UUID e tipo de sistema de arquivos com
blkid
Resumo
| Cenario | Comando | Proposito |
|---|---|---|
| Inspecionar | lsblk / fdisk -l |
Entender dispositivos e particoes |
| Editar MBR | fdisk /dev/sdb |
Edicao interativa com n/p/d/t/w/q |
| Editar GPT | gdisk /dev/sdb |
Criar particoes GPT |
| Edicao geral | parted ... mklabel/mkpart |
Scriptavel, 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 area de swap |
| Verificar | blkid /dev/sdb1 |
Verificar UUID e tipo de FS |
Criar particoes e sistemas de arquivos e o ponto de entrada para tornar um disco utilizavel. Em seguida, prossiga para montar esse sistema de arquivos e torna-lo persistente em /etc/fstab para completar seu entendimento.
Proximas Leituras
- Montagem e Gerenciamento de Sistemas de Arquivos
- FHS e Localizacao de Arquivos
- Gerenciamento Basico de Arquivos