Hier soir, tout allait bien avec mon Ubuntu 16.04. Aujourd'hui, j'ai essayé de l'allumer et il ne veut tout simplement pas démarrer, en lançant ces erreurs:
run-init: /sbin/init: Permission denied
Target filesystem doesn't have requested /sbin/init.
run-init: /sbin/init: Permission denied
run-init: /etc/init: Permission denied
run-init: /bin/init: No such file or directory
/bin/sh: 0: Can't open splash
systemd.unit=rescue.target
en tant que paramètre du noyau; cela n'a pas fonctionné non plus.Comment puis-je résoudre ce problème?
Comme nous pouvons le constater dans les messages que vous recevez, la cause la plus probable est un problème d’autorisation. De plus, il semble que /sbin/init
et /etc/init
existent, mais /bin/init
n'existe pas.
Nous devrions d’abord faire appel à un Shell pour résoudre le problème. Pour vous débarrasser de /bin/sh: 0: Can't open splash
et obtenir un shell: Si vous n’avez qu’une Ubuntu installée (GRUB n’apparaîtra pas par défaut), pendant le démarrage du système, maintenez la touche enfoncée. shift touche pour faire apparaître GRUB. Ensuite, dans le menu par défaut, appuyez sur E.
Vous trouverez une ligne commençant par Linux
. Sur cette ligne, supprimez le paramètre splash
puis appuyez sur Ctrl+x, maintenant, vous serez déposé dans un shell sh
. Exécutez /bin/bash
pour obtenir un shell bash si vous le souhaitez. Je préfère bash
à sh
parce qu'il a une fonctionnalité de complétion automatique.
Sinon, au lieu de supprimer le paramètre splash
, vous pouvez ajouter init=/bin/bash
à la fin de cette ligne, puis appuyer sur Ctrl+x; cette fois, nous allons nous retrouver dans bash
au lieu de sh
.
Courir:
ls -lH /sbin/init
Il devrait produire quelque chose comme:
-rw-r--r-- 1 root root 1577000 Feb 15 12:20 /sbin/init
Comme nous pouvons le voir, les autorisations sont gâchées. De nos jours, dans presque tous les systèmes, /sbin/init
est un lien vers systemd
, juste pour vous assurer que:
# ls -l /sbin/init
-rw-r--r-- 1 root root 1577000 Feb 15 12:20 /sbin/init -> /lib/systemd/systemd
Bien sûr, votre système de fichiers /
(racine) est monté dans l’état ro
(lecture seule) et permet de le modifier en rw
(lecture et écriture):
# mount -o remount,rw /
Puis corrigez les permissions:
# chmod u=rwx,g=rx,o=rx /lib/systemd/systemd
Redémarrez le système.