Comment réparer l'échec de démarrage en raison d'un fstab incorrect?


26

Il semble que j'ai ajouté un enregistrement incorrect à /etc/fstab:

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

Quand je l'ai fait mount -a, il a demandé un mot de passe utilisateur pour monter le partage réseau. Il semble qu'il ne puisse pas continuer sans mot de passe au démarrage, il est donc simplement bloqué.

Comment puis-je corriger fstab pour éviter l'échec du démarrage?

Réponses:


38

Il semble que j'ai trouvé une solution:

  • à l'invite grub, appuyez sur apour ajouter des options
  • ajouter init=/bin/bashà la fin de la ligne de commande du noyau et appuyez sur entrée

Le système démarrera à une invite comme 'bash-3.2 #', entrez les commandes suivantes à l'invite

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

éditez le fichier fstab commentant les erreurs en ajoutant un # au début de chaque ligne problématique, enregistrez le fichier

  • redémarrer en appuyant sur CTRL + ALT + SUPPR

4
J'ai dû utiliser mount -o remount,rw / --target /pour remonter avec succès en mode rw. La monture Elsecase sélectionnait les mauvaises valeurs /etc/fstab, consultez la man mountpour plus de détails.
laconbass

1
@laconbass vous avez vraiment raison, --target /c'est la clé!
sempasha

C'est encore vrai aujourd'hui - plus de six ans plus tard. Quoi qu'il en soit sur CentOS7, la clé pour changer une entrée au démarrage est maintenant tab, et une fois sur bash, vous devez monter votre système de fichiers (qui est toujours démonté à ce stade) avec un simple mount /dev/sda(X) /mnt(en changeant évidemment la partition racine avec la bonne)
nnsense

J'ai sauvé ma vie ..
TheEyesHaveIt

Bonne réponse. Merci.
Mohamed Bana

2

Que diriez-vous de supprimer l'entrée, de créer un instantané, puis d'essayer de modifier votre / etc / fstab afin d'avoir un instantané fonctionnel sur lequel vous pouvez revenir?

Selon la page de manuel, mount.cifs vous pouvez également spécifier un mot de passe via password=arg. De plus, selon cette page de manuel, il n'y a pas d'argument username=arg mais à la place user=arg. Mais cela peut être différent sur votre système, vérifiez mieux votre page de manuel pour les noms d'arguments corrects.


manpour la victoire.
Tim

J'étais sur le point de créer un instantané, mais pendant que fstabj'expérimentais, l'instance de VM s'est déclenchée pour une raison quelconque. Apparemment, je ne poserais pas la question si je pouvais le réparer moi-même.
alternatif le

2
La description de votre problème n'est pas claire. Vous ne pouvez pas démarrer en mode mono-utilisateur / récupération? Il devrait seulement essayer de monter le fs racine et laisser le fstab tranquille.
scai

1

L'autre moyen simple est de démarrer en mode live-cd et de monter la bonne partition. Ensuite, vous pouvez réparer tout ce que vous voulez!


1

J'ai trouvé une solution pour que le noyau d'erreur système ne se charge pas. Utilisez live cd pour accéder à votre installation existante. Une fois dans réinstaller le noyau Linux:

pacman -S Linux

Supprimez ensuite le fichier fstab de etc / fstab:

rm /etc/fstab

Maintenant, réinstallez systemd:

pacman -S systemd

Lors de la réinstallation de systemd, il générera automatiquement un nouveau fichier fstab

Maintenant, réinstallez le chargeur de démarrage dans ce cas, j'utilise grub:

pacman -S grub os-prober

(la sonde os est utile si vous avez plus de 1 os installé sur votre disque dur / ssd)

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

Une fois terminé, créez les fichiers de configuration:

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

Démontez ensuite les partitions utilisées et redémarrez

umount /dev/sdX 
reboot

Cela devrait résoudre le problème, cela a fonctionné pour moi.


0

Peut-être que je suis trop tard. Mais c'est FYI. Dans cette situation, vous pouvez utiliser nano pour charger fstab et vous pouvez redémarrer après avoir modifié le fstab.

sudo nano /etc/fstab
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.