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
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.
pacman -Q linux && uname -r
.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/
et/boot
sont montés, puis réinstallez Linux.