"Preso" no Modo de Emergência – Fedora 40 WS

Saudações.

You are in the emergency mode. After logging in, type “journalctl -xb” to view system logs, “systemctl reboot” to reboot, or “exit” to continue boot up.

Cannot open access to console, the root account is locked.
See sulogin(8) man page for more details.

Press enter to continue.

Isto é o que me começou a aparecer ao fazer boot após a edição do o arquivo /etc/fstab (que pelo que pesquisei sobre o assunto é o grande causador deste problema e de outros semelhantes) quando seguia um tutorial para montar automaticamente um disco (/dev/sda1), que uso somente para guardar arquivos. Não nego a minha falta de prudência em seguir um tutorial sem pesquisar mais sobre o assunto. (Nota: HDD 500gb em ext4). Tinha acrescentado ao mesmo uma linha semelhante a
UUID=???????????? /mnt/disksda1 ext4 defaults,uid=1000,gid=1000 0 2’ .

Ao reiniciar, anormalmente, iniciou a contagem decrescente do grub2, com a seleção dos diferentes kernel (só me aparecia quando, por exemplo, primeiro boot após falta de electricidade com o PC ligado). Ao aguardar os 3seg o sistema não inicia, algumas vezes mostra a animação de boot do fedora, outras não, e acaba sempre por entrar na mensagem supracitada. Não consigo fazer nada.

Antes de pesquisar, tive a (não tão) boa ideia de iniciar um sistema live a partir de uma unidade usb e apagar a linha que tinha escrito no arquivo /etc/fstab; mal lembrava-me que não conseguia fazer nada, visto que, estando a unidade principal formatada em btrfs, não aparecem escarrapachados os arquivos do sistema.

Pesquisei um pouco sobre o problema tentei alguns processos, nomeadamente:

  • https://www.redhat.com/sysadmin/recover-root-passwd; este processo estava recomendado por um utilizador que tinha tido um problema semelhante (porém, no fedora 36, salvo erro) – encontrei-o no fórum do fedora
  • Processo que não encontro o link, porém, resumidamente: Abrir o grub, entrar no editor (letra e), procura onde diz subvol=root e substituir ‘=root’ por ‘=@’; Ctrl+X; utilizar o chroot /sysroot; editar o arquivo do fstab.

Nenhuma destas soluções funcionou, e por isso peço a ajuda por aqui. Obrigado.

  1. Inicie no modo live
  2. Monte a partição do seu sistema principal. Como está com btrfs vc vai precisar especificar o subvolume raiz, ou então montar a árvore do sistema de arquivos (subvolid=5) e daí procurar o subvolume da partição raiz lá dentro.
  3. Edite o arquivo fstab, primeiramente removendo a linha que adicionou.
  4. Reinicie o sistema que deve iniciar normalmente.

Quando estiver no sistema e quiser mexer no /etc/fstab, faça as edições nele e então use sudo mount -a que vai montar todas as partições do arquivo. Se houver falha na sua especificação, não haverá a montagem. Edite novamente até que vc use o comando e seu disco seja montado. Só daí reinicie o computador. Checar o fstab antes de reiniciar impede que o seu sistema entre no modo de manutenção.

Muito obrigado pelo a resposta! O sistema já iniciou corretamente, porém não abre o DE, ou seja, faço o login, parece que vai carregar o gnome, mas volta ao gdm. Como corrijo?

E aproveito para perguntar se sabe de alguma forma (mais segura) de iniciar o disco na inicialização, e deste ser utilizável não só pelo root mas pelo utilizador? Mais uma vez, obrigado.

Geralmente voltar à tela de login acontece quando não está montado o sistema de arquivos na pasta /home ou o sistema de arquivo está em somente-leitura.

Na inicialização eu gosto do jeito de montar no fstab. Porém deixo opção de montagem apenas “defaults” e no disco eu crio uma pasta para cada usuário. Assim as permissões ficam corretas. Eu também crio um link simbólico na pasta pessoal apontando para a pasta no outro disco. Mas parece que tem um jeito de montar também na inicialização pelo gnome disks, não sei como faz pois não uso gnome.

Peço desculpa mas não percebi. Como resolvo este problema? Só tenho acesso ao terminal do sistema, e que confirma que "-- joao: /home/joao: change directory failed: Permission denied. Logging in with home = '/' "

De alguma forma não há o diretório /home/joao na sua instalação. Se vc tinha uma partição específica para o seu /home, pode ser que vc tenha removido a entrada dela no /etc/fstab. Da mesma maneira se fosse um subvolume no btrfs, também precisa estar presente no /etc/fstab

Como estava antes, eu não sei… só vc pode saber. Se vc salvou uma cópia do /etc/fstab (tipo /etc/fstab.old) então é hora de recuperá-lo.

A minha instalação é a padrão, ou seja, o instalador é que particionou o disco com os locais “pre-definidos”. No meu etc/fstab tenho uma linha do tipo

uuid=34888 (continua) /home btrfs subvol=home,compress=zstd: 1 0 0

acredito que seja esta entrada que se esteja a referir. Está igual ao backup que tinha do original.

Agora não sei… como falei parece que o subvolume home está vazio ou não foi montado. Agora teria que tentar montar manualmente sudo mount /home e ver os erros que aparecem, ou então tentar montar em modo live e ver o que aconteceu. Se bem que se tivesse erro para montar o sistema de arquivos, deveria cair no menu de manutenção (maintenance mode). Teria que encontrar onde estão os arquivos da pasta pessoal pra daí traçar uma estratégia do que fazer para levá-los ao lugar correto.

Não sei o que fiz, nem como fiz, mas consegui. Acredito que tenha sido o comando systemctl deamon-reload, como é sugerido no próprio /etc/fstab. Agradeço mais uma vez a ajuda prestada.

Este tópico foi fechado automaticamente 3 dias depois da última resposta. Novas respostas não são mais permitidas.