Como corrigir falha de inicialização devido ao fstab incorreto?

26

Parece que adicionei registro incorreto para /etc/fstab:

//servername/share    /mnt/share    cifs     defaults,username=myuser     0 0

Quando o fiz mount -a, ele pediu a senha do usuário para montar o compartilhamento de rede. Parece que ele não pode prosseguir sem a senha na inicialização, por isso está travado.

Como posso corrigir o fstab para evitar falhas na inicialização?

altern
fonte

Respostas:

38

Parece que eu encontrei uma solução:

  • no prompt do grub, pressione apara acrescentar opções
  • adicione init=/bin/bashno final da linha de comando do kernel e pressione enter

O sistema inicializará em um prompt como 'bash-3.2 #' e digite os seguintes comandos no prompt

  • mount -o remount,rw /
  • vim /etc/fstab

edite o arquivo fstab comentando os erros adicionando um # no início de cada linha problemática, salve o arquivo

  • reinicie pressionando CTRL + ALT + DEL
altern
fonte
4
Eu tive que usar mount -o remount,rw / --target /para remontar com sucesso no modo rw. A montagem Elsecase estava escolhendo os valores ruins /etc/fstab, consulte os man mountdetalhes.
laconbass
11
@laconbass você está certo, --target /é a chave!
Sempasha
Isso ainda é verdade hoje - mais de seis anos depois. De qualquer forma, no CentOS7, a chave para alterar uma entrada na inicialização agora é a guia, e uma vez no bash você precisa montar seu sistema de arquivos (que ainda não está montado neste estágio) com um simples mount /dev/sda(X) /mnt(obviamente, alterar a partição raiz com a correta)
nnsense
Salvou minha vida ..
TheEyesHaveIt 23/06
Boa resposta. Obrigado.
Mohamed Bana
2

Que tal remover a entrada, criar um instantâneo e depois tentar alterar seu / etc / fstab para que você tenha um instantâneo funcional para o qual possa reverter?

De acordo com a página de manual, mount.cifs você também pode especificar uma senha via password=arg. Além disso, de acordo com essa página de manual, não há argumento, username=arg mas sim user=arg. Mas pode ser diferente no seu sistema, verifique melhor a sua página de manual para obter os nomes de argumentos corretos.

scai
fonte
manpara a vitória.
Tim
Eu estava prestes a criar um instantâneo, mas enquanto estava experimentando fstab, o vm instance foi desativado por algum motivo. Aparentemente, eu não faria a pergunta se eu mesmo pudesse consertar.
alternativo 26/07/12
2
A descrição do seu problema não é clara. Você não pode inicializar no modo de usuário único / recuperação? Ele deve apenas tentar montar o root fs e deixar o fstab em paz.
Scai
1

A outra maneira fácil é inicializar no modo live-cd e montar a partição correta. Então você pode consertar o que quiser!

user3435653
fonte
1

Encontrei uma solução para o erro de kernel do sistema não carregar Use o live cd para obter acesso à sua instalação existente. Uma vez em reinstalar o kernel do Linux:

pacman -S Linux

Em seguida, exclua o arquivo fstab de etc / fstab:

rm /etc/fstab

Agora reinstale o systemd:

pacman -S systemd

Ao reinstalar o systemd, ele gera automaticamente um novo arquivo fstab

Agora reinstale o gerenciador de inicialização, neste caso, eu uso o grub:

pacman -S grub os-prober

(o probe os é útil se você tiver mais de um sistema operacional instalado no seu disco rígido / ssd).

grub-install --target=i386-pc /dev/sda

Depois de terminar, faça os arquivos de configuração:

grub-mkconfig -o /boot/grub/grub.cfg

Em seguida, desmonte as partições em uso e reinicie

umount /dev/sdX 
reboot

Isso deve resolver o problema, funcionou para mim.

Jp ---
fonte
0

Pode ser que seja tarde demais. Mas isso é FYI. Nessa situação, você pode usar o nano para carregar o fstab e pode reiniciar após editar o fstab.

sudo nano /etc/fstab
Choxmi
fonte