Archlinux na pas pu démarrer: ' t accéder à tty: le contrôle des tâches est désactivé

Jai rencontré le problème après mise à niveau de mon système via pacman -Syu.

Au cours de la mise à niveau, jai rencontré un conflit de package python qui a provoqué larrêt de la transaction de mise à niveau. Jai donc résolu le conflit: en supprimant le paquet python par pip uninstall pkg_name, puis en retentant pacman -Syu. Cette fois, plus derreurs.

Ensuite, jai redémarré mon système et le problème est survenu:

Warning: /lib/modules/4.19.1-arch1-1-ARCH/modules.devname not found - ignoring starting version 239 /dev/nvme0n1p2: clean, 968023/31227904 files, 27066236/124895569 blocks mount: /new_root: unknown filesystem type "ext4" You are now being dropped into an emergency shell, sh: can"t access tty: job control turned off [rootfs] # 

BTW: Comme lavertissement lindique, je était en train de mettre à jour le noyau 4.18 vers 4.19

Commentaires

  • Modifiez votre question avec la sortie de pacman -Q linux && uname -r.
  • @jasonwryan Désolé, je ne peux ' y arriver. Depuis le dernier redémarrage, je ne peux plus me connecter à mon système, bloqué par le Warning affiché ci-dessus. Cependant, je me souviens quavant le dernier redémarrage, jai exécuté uname -r et que la version du noyau de sortie était toujours 4.18.xxx
  • Vous devez effectuer un chroot, assurez-vous que / et /boot sont montés, puis réinstallez Linux.

Réponse

Si la mise à jour a été abandonnée et que le noyau était en cours de mise à jour, vous avez probablement toujours les initramfs de lancien noyau dans votre /boot tout en ayant le nouveau noyau installé, ce qui peut empêcher le démarrage. Cela peut également se produire sur un système récemment installé si vous avez oublié de monter correctement la partition /boot.

Le moyen le plus simple de résoudre ce problème serait de démarrer avec un archlinux support dinstallation, effectuez un chroot et réinstallez le noyau en utilisant pacman

# mount /dev/yourrootdisk /mnt # mount /dev/yourbootdisk /mnt/boot # if needed # mount /dev/yourefipartition /mnt/boot/EFI # if you use EFI (optionnal) # arch-chroot /mnt # pacman -S linux 

Les fichiers à modifier sont /boot/initramfs-linux.img et /boot/initramfs-linux-fallback.img donc vous navez probablement pas besoin de monter la partition EFI

Si, pour une raison quelconque, vous ne pouvez « t utiliser pacman, vous pouvez également lancer mkinitcpio à la main pour régénérer les initramfs à utiliser le nouveau noyau

Commentaires

  • Votre réponse est correcte, mais veuillez ne pas conseiller aux gens de -Sy $package, cest un conseil terrible et mène juste à la casse .
  • en effet un bon point, édité
  • @Fredszaq Merci beaucoup pour votre réponse, cela ma sauvé de s problème grave. Pourtant, je ne ' pas très bien comprendre ce qui na pas fonctionné dans mon cas, car la commande pacman -Syu a fonctionné sans conflit avant que je ne puisse pas démarrer . Il y a peut-être un problème avec ma configuration. Si vous le pouvez, pourriez-vous consulter mon pacman.log et me dire si je ' manque quelque chose? lien vers le fichier au cas où vous pourriez: ix.io/2s1w

Répondre

Le texte can"t access tty: job control turned off est juste une notification par le shell que le contrôle des tâches ne fonctionne pas, cela signifie que vous ne pouvez pas arrêter un programme avec Ctrl + C ou Ctrl + Z .

Le problème est visible dans les lignes ci-dessus, et peut-être ce qui est au-dessus de ces lignes:

Warning: /lib/modules/4.19.1-arch1-1-ARCH/modules.devname not found - ignoring mount: /new_root: unknown filesystem type "ext4" 

Il semble que les modules du noyau ne soient pas trouvés, et donc aucun module ext4, et donc pas de montage du système de fichiers racine ext4.

La plupart des distributions ne suppriment pas lancien noyau au cas où il y aurait un problème avec le nouveau, alors essayez de démarrer le noyau précédent.

Si cela ne fonctionne pas, démarrez un système en direct et soit installez le noyau précédent avec les modules correspondants, ou le nouveau, ou tout autre noyau qui fonctionne.

Il est également possible quil y ait eu un problème avec la création du système de fichiers initrd, que na pas été inclus pour certaines raisons. Dans ce cas, vous pouvez démarrer un système en direct, recréer initrd avec ext4 et redémarrer.

Commentaires

  • Arch supprime lancien noyau. Le problème de OP ' est que / boot na pas été ' monté pendant cette mise à niveau, de sorte que les modules installés ne correspondent pas au noyau.
  • @jasonwryan Si / boot na pas été monté, alors le noyau et initrd correspondants devraient être dans le système de fichiers racine, il devrait donc être possible de les charger à partir de là.
  • Pas nécessairement; réel / boot peut être monté par-dessus ou linitrd peut être corrompu. La seule approche sûre est de chrooter et de le réparer.

Réponse

commande ci-dessous libérez-moi,

mdev -s 

ma commande qemu est

qemu-system-x86_64 \ -s \ -kernel bzImage \ -initrd initrd.img.gz \ -smp 4 \ -m 1024 \ -append "console=ttyS0 root=/dev/ram " \ -monitor vc -serial stdio \ -nographic 

et jajoute mdev -s dans mon fichier /init.

Jespère que cela aide.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *