Desativando as configurações do /etc/fstab.
Substituir o fstab por units de montagem nativas do systemd melhora significativamente o gerenciamento de discos e diretórios, especialmente para unidades de rede (NFS/SMB) ou discos externos. O systemd oferece montagem sob demanda (automount), inicialização paralela mais rápida e controle robusto de dependências, como esperar a rede conectar antes de tentar montar um disco remoto.
Principais Vantagens
- Montagem sob Demanda (Automount): Em vez de travar o boot checando um disco que não está conectado, o systemd cria um “atalho”. A partição só é montada de fato no exato momento em que você tenta acessá-la.
- Resiliência de Rede: Para HDs externos e servidores, o systemd lida melhor com desconexões. Ele pode tentar remontar automaticamente a unidade caso a conexão caia ou o servidor seja reiniciado. [1]
- Controle de Dependências: Garante que discos essenciais ou compartilhamentos de rede só sejam montados depois que os serviços de rede ou subsistemas de hardware necessários estiverem totalmente inicializados. [1, 2]
Primeiro abre o fstab, pois as informaçòes são importantes para montar as units.
Exemplo de saída do fstab
Repare os caminhos
<Sistemas de arquivos> <diretório> <tipo> <opções> <dump> <pass>
e pass
dump=backup automático
pass= ordem de verificação de erros no disco na inicialização.
UUID=f47ac10b-58cc-4372-a567-0e02b2c3d479 / btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@ 0 0
Como criar uma unit
Na unit tem uma opção do diretório, este valor tem que ser o nome da unit.
Exemplo no valor citado acima
Where=/
O problema que no linux não aceita no nome a barra /.
Para isso vamos usar um comando do systemd para saber como ele converte o nome
Como será uma unit mount usaremos systemd-escape -p --suffix=mount
Exemplo do root
~ $ systemd-escape -p --suffix=mount /
-.mount
O nometem que ser -.mount
Vamos criar o arquivo
sudo nano /etc/systemd/system/-.mount
Com o seguinte conteúdo:
[Unit]
Description=Montagem do disco em /
[Mount]
What=/dev/disk/by-uuid/f47ac10b-58cc-4372-a567-0e02b2c3d479
Where=/
Type=btrfs
Options=rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@
[Install]
WantedBy=multi-user.target
Repare que a saída do sispositivo será diferente do fstab
What=/dev/disk/by-uuid/f47ac10b-58cc-4372-a567-0e02b2c3d479
Tem que ter o caminho do diretório by-uuid.
As opções , tipos e onde tem que ser igual ao do fstab.
Exemplo 2
UUID=f47ac10b-58cc-4372-a567-0e02b2c3d479 /var/log btrfs rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@log 0 0
Repare que neste o diretório = /var/log
Executando o comando do systemd
systemd-escape -p --suffix=mount /var/log
var-log.mount
Criando o arquivo
sudo nano /etc/systemd/system/var-log.mount
Com o seguinte conteúdo
[Unit]
Description=Montagem do disco em /var/log
[Mount]
What=/dev/disk/by-uuid/f47ac10b-58cc-4372-a567-0e02b2c3d479
Where=/var/log
Type=btrfs
Options=rw,relatime,compress=zstd:3,ssd,discard=async,space_cache=v2,subvol=/@log
[Install]
WantedBy=multi-user.target
Exemplo /home
UUID=6a60524d-061d-454a-bfd1-38989910eccd /home xfs rw,relatime,inode64,logbufs=8,logbsize=32k,noquota 0 2
systemd-escape -p --suffix=mount /home
home.mount
sudo nano /etc/systemd/system/home.mount
Com o conteúdo
[Unit]
Description=Montagem do disco em /home
[Mount]
What=/dev/disk/by-uuid/6a60524d-061d-454a-bfd1-38989910eccd
Where=/home
Type=xfs
Options=rw,relatime,inode64,logbufs=8,logbsize=32k,noquota
[Install]
WantedBy=multi-user.target
Por fim, exemplo de swapfile
/swapfile none swap defaults,discard 0 0
O arquivo swap o nome é padrão: swapfile.swap
Criamos o arquivo
sudo nano /etc/systemd/system/swapfile.swap
Com o conteúdo:
[Unit]
Description=Habilite swapfile
Before=local-fs.target
[Mount]
What=/swapfile
Where=none
Type=swap
Options=defaults,discard
[Install]
WantedBy=multi-user.target
Feito isso.
Comente as saidas do fstab
Exemplo:
De
UUID=6a60524d-061d-454a-bfd1-38989910eccd /home xfs rw,relatime,inode64,logbufs=8,logbsize=32k,noquota 0 2
Para
#UUID=6a60524d-061d-454a-bfd1-38989910eccd /home xfs rw,relatime,inode64,logbufs=8,logbsize=32k,noquota 0 2
Agora vamos recarregar o systemd sem fstab
Execute o comando:
sudo systemctl daemon-reload
Estamos quase finalizando.
Agora vamos habilitar as units criadas.
Exemplo:
sudo systemctl enable --now /etc/systemd/system/-.mount
sudo systemctl enable --now /etc/systemd/system/var-cache-pacman-pkg.mount
sudo systemctl enable --now /etc/systemd/system/var-log.mount
sudo systemctl enable --now /etc/systemd/system/boot.mount
sudo systemctl enable --now /etc/systemd/system/home.mount
sudo systemctl enable --now /etc/systemd/system/swapfile.swap
OBS:
Veja se apresenta algum erro.
Com o comando:
sudo systemctl -l status -.mount
sudo systemctl -l status var-cache-pacman-pkg.mount
sudo systemctl -l status var-log.mount
sudo systemctl -l status boot.mount
sudo systemctl -l status home.mount
sudo systemctl -l status swapfile.swap
Caso esteja tudo OK.
Reinicie o pc.
Vou verificar se a partição swap no fstab tem que montar em .mount no systemd.
Achou complicado? Comente aqui!
![]()
Depois adiciono o automount