A combinação de Btrfs e LUKS oferece um equilíbrio único entre segurança, confiabilidade e recursos avançados de gerenciamento de sistemas de arquivos. Enquanto o LUKS garante proteção de dados em repouso por meio de criptografia de disco completo, o Btrfs traz snapshots, checksums nativos, subvolumes e compactação transparente — recursos especialmente valiosos em ambientes de desenvolvimento e produção.
Essa configuração é ideal para usuários avançados que priorizam integridade de dados, recuperação eficiente e controle granular sobre o sistema, sem abrir mão da simplicidade filosófica do Arch Linux.
Pré-requisitos para a instalação
Antes de iniciar, é essencial ter:
- Uma mídia inicializável com a imagem mais recente do Arch Linux
- Conexão à internet estável (via cabo ou Wi-Fi configurado com
iwctl) - Conhecimento básico de linha de comando e particionamento de discos
- Um disco rígido ou SSD com espaço suficiente (recomenda-se no mínimo 20 GB)
O processo descrito aqui pressupõe instalação em um único disco (/dev/sda), mas pode ser adaptado para configurações com múltiplos discos ou SSDs NVMe.
Etapa 1: Inicialização e preparação do ambiente

Após inicializar a mídia ao vivo, verifique se o modo UEFI está ativo:
ls /sys/firmware/efi/efivars
Se o comando retornar uma lista de arquivos, o sistema está em modo UEFI. Caso contrário, está em modo BIOS legado — ajustes mínimos serão necessários nas etapas seguintes.
Conecte-se à internet. Para redes sem fio, use:
iwctl
[iwd]# device list
[iwd]# station wlan0 scan
[iwd]# station wlan0 get-networks
[iwd]# station wlan0 connect "NOME_DA_REDE"


Verifique a conexão com ping -c 3 archlinux.org.

Etapa 2: Particionamento com LUKS e formatação Btrfs
A estrutura recomendada inclui:
- Uma partição EFI pequena (512 MiB, tipo
EF00) - Uma partição criptografada para o sistema raiz (restante do disco)
Use fdisk ou parted para criar as partições. Exemplo com fdisk:
fdisk /dev/sda
# Crie partição EFI (tipo EF00) e partição Linux (tipo 8300)
Em seguida, inicialize a criptografia LUKS na partição raiz (ex.: /dev/sda2):
cryptsetup luksFormat --type luks2 /dev/sda2
cryptsetup open /dev/sda2 cryptroot
Agora, crie o sistema de arquivos Btrfs dentro do volume descriptografado:
mkfs.btrfs -L ROOT /dev/mapper/cryptroot
mount /dev/mapper/cryptroot /mnt
Crie o subvolume raiz e outros essenciais:
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
btrfs subvolume create /mnt/@snapshots
btrfs subvolume create /mnt/@var_log
umount /mnt
Monte os subvolumes com as opções adequadas:
mount -o noatime,compress=zstd,subvol=@ /dev/mapper/cryptroot /mnt
mkdir -p /mnt/{boot,home,.snapshots,var/log}
mount -o noatime,compress=zstd,subvol=@home /dev/mapper/cryptroot /mnt/home
mount -o noatime,compress=zstd,subvol=@snapshots /dev/mapper/cryptroot /mnt/.snapshots
mount -o noatime,compress=zstd,subvol=@var_log /dev/mapper/cryptroot /mnt/var/log
Para a partição EFI, formate como FAT32 e monte em /mnt/boot:
mkfs.fat -F32 /dev/sda1
mount /dev/sda1 /mnt/boot
Etapa 3: Instalação base e configuração do sistema
Instale os pacotes essenciais:
pacstrap /mnt base linux linux-firmware btrfs-progs vim nano sudo
Gere o arquivo fstab com suporte a subvolumes:
genfstab -U /mnt >> /mnt/etc/fstab
Edite /mnt/etc/fstab para garantir que as opções compress=zstd e noatime estejam presentes em todas as entradas Btrfs.
Entre no novo sistema:
arch-chroot /mnt
Defina o fuso horário, localização e hostname:
ln -sf /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
hwclock --systohc
echo "brasil" > /etc/locale.gen
locale-gen
echo "LANG=pt_BR.UTF-8" > /etc/locale.conf
echo "arch-br" > /etc/hostname
Configure o initramfs para suportar LUKS e Btrfs. Edite /etc/mkinitcpio.conf e certifique-se de que os hooks base udev autodetect modconf block encrypt lvm2 filesystems keyboard fsck estejam na ordem correta. Adicione btrfs ao array MODULES se necessário.
Regenere a imagem inicial:
mkinitcpio -P
Etapa 4: Instalação e configuração do GRUB
Instale o GRUB para UEFI:
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
Edite /etc/default/grub para incluir os parâmetros de descriptografia:
GRUB_CMDLINE_LINUX="cryptdevice=UUID=`blkid -s UUID -o value /dev/sda2`:cryptroot root=UUID=`blkid -s UUID -o value /dev/mapper/cryptroot`:ROOT rootflags=subvol=@"
Atualize a configuração:
grub-mkconfig -o /boot/grub/grub.cfg
Etapa 5: Finalização e primeiros passos
Defina uma senha de root:
passwd
Instale um gerenciador de usuários comum:
useradd -m -G wheel -s /bin/bash usuario
passwd usuario
Descomente a linha %wheel ALL=(ALL) ALL em /etc/sudoers usando visudo.
Saia do ambiente chroot (exit) e reinicie:
umount -R /mnt
reboot
Após a reinicialização, insira a senha LUKS na tela de desbloqueio — o sistema inicializará com Btrfs totalmente funcional e criptografado.
Benefícios práticos dessa configuração no dia a dia
Com Btrfs criptografado, é possível criar snapshots automáticos antes de atualizações com ferramentas como snapper ou timeshift. Isso permite restaurar rapidamente o sistema em caso de falha — mesmo com dados protegidos por LUKS.
Além disso, a compressão zstd reduz significativamente o uso de I/O em SSDs e melhora o desempenho em sistemas com pouca RAM, sem comprometer a segurança.
Para quem busca alternativas gráficas leves, o ambiente Xorg com i3, bspwm ou Sway integra-se perfeitamente com essa pilha — e tudo isso permanece totalmente livre e auditável.
Mais detalhes sobre Btrfs estão disponíveis na documentação oficial do kernel Linux, e orientações avançadas sobre LUKS podem ser encontradas na wiki do Arch Linux.