Filesystems, mount, umount, /etc/fstab e gerenciamento de dispositivos de armazenamento no Linux
lsblkListar discos
mountMontar devices
fstabBoot automático
UUIDID permanente
🗂️ O que é Sistema de Arquivos?
O sistema de arquivos (filesystem) é a estrutura que define como os dados são organizados, armazenados e recuperados em um dispositivo. Cada partição ou disco precisa ter um filesystem para guardar arquivos.
Caracteres permitidos, comprimento máximo, case-sensitive ou não
🔒
Permissões e proprietários
Suporte a chmod, chown, ACL (ext4, XFS, Btrfs)
📓
Journaling
Registro de operações para recuperação após quedas de energia
⚠️ Importante: cada partição pode ter um filesystem diferente. Um mesmo disco pode ter /dev/sda1 em ext4 e /dev/sda2 em NTFS ao mesmo tempo.
📁 Tipos de Sistema de Arquivos
Existem diversos filesystems, cada um adequado para um cenário específico. Conhecer as diferenças ajuda a escolher o correto na hora de formatar.
🐧
ext4
Padrão Linux
O filesystem mais usado no Linux. Journaling confiável, amplamente testado, suporta permissões Unix completas.
Máx. arquivo: 16 TB
🚀
XFS
Alta Performance
Ótimo para arquivos grandes e servidores de alta carga. Padrão no Red Hat/CentOS.
Máx. arquivo: 8 EB
🆕
Btrfs
Moderno
Suporta snapshots, compressão nativa, subvolumes e verificação de integridade. Crescente adoção.
Máx. arquivo: 16 EB
🪟
NTFS
Windows
Padrão Windows. Leitura nativa no Linux, escrita via ntfs-3g. Use para compartilhar dados com Windows.
Máx. arquivo: 16 TB
📱
FAT32
Universal
Compatível com qualquer SO. Limite de 4 GB por arquivo. Pendrives pequenos e cartões SD simples.
Máx. arquivo: 4 GB
🔄
exFAT
FAT Melhorado
FAT sem limite prático de arquivo. Ideal para pendrives, SSDs externos e cartões SD modernos.
Máx. arquivo: 16 EB
Filesystem
Uso recomendado
Máx. arquivo
Journaling
Permissões Unix
ext4
Disco interno Linux
16 TB
✅
✅
XFS
Servidor, arquivos grandes
8 EB
✅
✅
Btrfs
Snapshots, compressão
16 EB
✅
✅
NTFS
Compartilhar com Windows
16 TB
✅
⚠️ parcial
FAT32
Pendrive pequeno
4 GB
❌
❌
exFAT
Pendrive grande, dual-OS
16 EB
❌
❌
🔗 O que é Montagem?
No Linux, todo dispositivo de armazenamento existe como um arquivo em /dev/. Para acessar seus dados, é preciso montar o dispositivo: associá-lo a uma pasta da árvore de diretórios, chamada de ponto de montagem.
💾
Dispositivo
/dev/sdb1
➡
🔧
Comando
mount
➡
📁
Ponto de Montagem
/mnt/pendrive
Nomenclatura dos dispositivos
/dev/sda
1º disco (SATA/SSD/USB)
/dev/sda11ª partição — geralmente /
/dev/sda22ª partição — geralmente swap
/dev/sdb
2º disco (ex: pendrive)
/dev/sdb11ª partição do pendrive
/dev/sdb22ª partição (se existir)
💡 A pasta usada como ponto de montagem deve existir antes de montar. Crie-a com mkdir -p /mnt/pendrive. Pontos comuns: /mnt/ (manual), /media/ (mídias removíveis), /home (partição separada).
🔧 Montando Dispositivos com mount
O fluxo para montar um dispositivo é sempre o mesmo: identificar, criar o ponto de montagem e montar.
bash — fluxo completo de montagem
# 1. Ver todos os dispositivos de bloco conectadosroot@servidor:~#lsblkNAME SIZE TYPE MOUNTPOINTsda 500G disk├─sda1 499G part /└─sda2 1G part [SWAP]sdb 16G disk└─sdb1 16G part# ← pendrive sem ponto de montagem# 2. Criar o ponto de montagemroot@servidor:~#mkdir-p/mnt/pendrive# 3. Montar o dispositivoroot@servidor:~#mount/dev/sdb1/mnt/pendrive# 4. Acessar os arquivosroot@servidor:~#ls/mnt/pendrivefotos/ documentos/ backup.zip# 5. Verificar espaço em discoroot@servidor:~#df-hFilesystem Size Used Avail Use% Mounted on/dev/sda1 500G 120G 380G 24% //dev/sdb1 16G 8G 8G 50% /mnt/pendrive
Opções do mount -o
ro
Somente leitura. Nenhum arquivo pode ser modificado.
rw
Leitura e escrita. Comportamento padrão.
noexec
Impede execução de binários do dispositivo.
nosuid
Ignora o bit SUID/SGID. Aumenta segurança.
nofail
Não aborta o boot se o dispositivo não for encontrado.
bash — exemplos de opções
# Montar como somente leituraroot@servidor:~#mount-o ro/dev/sdb1/mnt/pendrive# Especificar o tipo de filesystem (útil para NTFS)root@servidor:~#mount-t ntfs/dev/sdc1/mnt/windows# Listar tudo que está montado no momentoroot@servidor:~#mount/dev/sda1 on / type ext4 (rw,relatime)/dev/sdb1 on /mnt/pendrive type vfat (rw)
⏏️ Desmontando com umount
Antes de remover fisicamente qualquer dispositivo (pendrive, HD externo), é obrigatório desmontá-lo. Remover sem desmontar pode corromper dados.
🚫 Nunca remova um pendrive ou HD externo sem antes executar umount. Dados em buffer ainda não gravados serão perdidos e o filesystem pode ser corrompido permanentemente.
bash — desmontar e resolver erros
# Desmontar pelo ponto de montagemroot@servidor:~#umount/mnt/pendrive# Ou pelo nome do dispositivoroot@servidor:~#umount/dev/sdb1# ── Erro: dispositivo ocupado ──root@servidor:~#umount/mnt/pendriveumount: /mnt/pendrive: target is busy# Descobrir qual processo está usando o dispositivoroot@servidor:~#lsof/mnt/pendriveCOMMAND PID USER NAMEbash 1234 joao /mnt/pendrive# ← terminal ainda está nessa pasta# Solução: sair da pasta e tentar novamenteroot@servidor:~#cd~root@servidor:~#umount/mnt/pendrive # sucesso (sem mensagem de erro)
💡 O erro “target is busy” acontece quando algum terminal está com o diretório montado como diretório atual. Basta executar cd ~ no terminal afetado e tentar desmontar novamente.
📋 /etc/fstab — Montagem Automática no Boot
O arquivo /etc/fstab lista todos os dispositivos que devem ser montados automaticamente quando o sistema inicia. É um dos arquivos mais importantes do Linux — um erro aqui pode impedir o boot.
⚠️ Erros no fstab podem impedir o boot! Sempre faça backup: cp /etc/fstab /etc/fstab.bak. Após editar, valide com mount -a antes de reiniciar.
🔑 UUID — Identificando Discos com Segurança
O nome /dev/sda1 pode mudar entre boots dependendo da ordem de detecção do hardware. O UUID é um identificador único e permanente — use-o no fstab.
❌ Evite
/dev/sdX no fstab
Pode mudar entre boots
Depende da ordem de detecção
Adicionar novos discos pode embaralhar
Causa erros de boot difíceis de diagnosticar
vs
✅ Prefira
UUID=... no fstab
Permanente e único por partição
Não muda com a ordem dos discos
Recomendado pela prática do mercado
Obtido com blkid
bash — UUID com blkid e fstab
# Descobrir o UUID de todos os dispositivosroot@servidor:~#blkid/dev/sda1: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4"/dev/sdb1: UUID="1A2B-3C4D" TYPE="vfat"# Usar UUID no /etc/fstab (mais seguro que /dev/sdX)
UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 / ext4 defaults 0 1
UUID=1A2B-3C4D /mnt/usb vfat defaults,nofail 0 0
# Testar se o fstab está correto sem reiniciarroot@servidor:~#mount-a # sem erros = fstab válido
💡 Use nofail no fstab para dispositivos removíveis. Assim, se o pendrive não estiver conectado, o sistema inicializa normalmente em vez de travar no boot.
🔧 Formatando com mkfs
Para preparar um novo disco ou mudar o filesystem de uma partição, usa-se a família de comandos mkfs (make filesystem).
🚨 CUIDADO: formatar apaga todos os dados da partição permanentemente e sem confirmação. Certifique-se do dispositivo correto com lsblk antes de executar.
mkfs.ext4
ext4
Disco interno Linux. Padrão para servidores e desktops.
mkfs.vfat -F 32
FAT32
Pendrives pequenos. Máxima compatibilidade com qualquer dispositivo.
mkfs.exfat
exFAT
Pendrives grandes e SSDs externos. Sem limite prático de arquivo.
mkfs.ntfs
NTFS
Compartilhar dados com sistemas Windows. Requer ntfs-3g.
bash — mkfs na prática
# Confirmar o dispositivo antes de formatar!root@servidor:~#lsblksdb 16G disk└─sdb1 16G part# Formatar como ext4 (padrão Linux)root@servidor:~#mkfs.ext4/dev/sdb1# Formatar como FAT32 (pendrives pequenos, compatível com tudo)root@servidor:~#mkfs.vfat-F 32/dev/sdb1# Formatar como exFAT (pendrives grandes)root@servidor:~#mkfs.exfat/dev/sdb1# Formatar como NTFS (compatibilidade com Windows)root@servidor:~#mkfs.ntfs/dev/sdb1
📋 Resumo: Comandos Essenciais
lsblkListar DiscosMostra dispositivos, partições e pontos de montagem.
mountMontarConecta dispositivo a uma pasta da árvore.
umountDesmontarDesconecta com segurança antes de remover.
df -hEspaço em DiscoUso e disponibilidade por ponto de montagem.
blkidUUID e TipoUUID e filesystem de cada partição.
mkfs.ext4Formatarmkfs.vfat, mkfs.exfat, mkfs.ntfs, etc.
lsofProcesso usando discoQuem está usando o dispositivo (umount busy).
mount -aTestar fstabAplica o /etc/fstab sem precisar reiniciar.
📊 df -h — uso típico em servidor Linux
/dev/sda1 /
24%
/dev/sda3 /home
61%
/dev/sda2 swap
12%
/dev/sda4 /boot
38%
📌 Fluxo completo — montar um pendrive: lsblk → mkdir /mnt/pendrive → mount /dev/sdb1 /mnt/pendrive → usar → umount /mnt/pendrive → remover com segurança.
🎯 Exercício — Arraste e Conecte
Arraste cada descrição para o comando correto de gerenciamento de discos.
Descrição
Lista dispositivos de bloco conectados ao sistema, mostrando nome, tamanho, tipo e ponto de montagem
Conecta uma partição ou dispositivo a uma pasta da árvore de diretórios para que seus arquivos fiquem acessíveis
Desconecta com segurança um dispositivo montado, garantindo que todos os dados em buffer sejam gravados
Exibe o espaço usado e disponível em cada sistema de arquivos montado, em formato legível
Exibe o UUID e o tipo de filesystem de cada partição — essencial para configurar o /etc/fstab
Formata uma partição criando um novo sistema de arquivos ext4 (apaga todos os dados)
Comando
lsblk
mount
umount
df -h
blkid
mkfs.ext4
🛠️ Atividade Prática — Montando e Gerenciando Discos
⏱ ~30 min💻 Ubuntu Server / Terminal📸 Tirar screenshot da saída
1
Inspecione os discos do sistema
Visualize a árvore de blocos e o espaço disponível em cada partição montada. Tire screenshot:
bash — passo 1
usuario@servidor:~$lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk├─sda1 8:1 0 19G 0 part /└─sda2 8:2 0 1G 0 part [SWAP]usuario@servidor:~$df-hFilesystem Size Used Avail Use% Mounted on/dev/sda1 19G 4,2G 14G 24% /tmpfs 991M 0 991M 0% /dev/shm
2
Leia o /etc/fstab e entenda cada linha
Para cada linha ativa (sem #), identifique: UUID, ponto de montagem, tipo e opções. Confirme os UUIDs com blkid:
Monte novamente o mesmo .img e confirme que o arquivo criado antes ainda existe — o filesystem persiste no arquivo:
bash — passo 5
usuario@servidor:~$sudo mount -oloop/tmp/disco.img/mnt/testeusuario@servidor:~$ls/mnt/testearquivo.txt lost+found# arquivo ainda existe!usuario@servidor:~$cat/mnt/teste/arquivo.txtteste# desmonte ao finalizarusuario@servidor:~$sudo umount /mnt/teste
📌 Para refletir: O conceito de montagem é central no Linux. Tudo é tratado como arquivo: discos, pendrives, partições e até imagens virtuais. O /etc/fstab é o que permite ao servidor inicializar e encontrar automaticamente todos os seus discos. Um erro nesse arquivo pode impedir o boot — por isso é tão importante entendê-lo bem.