Am întâmpinat problema după actualizarea sistemului meu prin pacman -Syu
.
În timpul actualizării, am întâlnit un conflict de pachete Python care a cauzat întreruperea tranzacției de actualizare. Așa că am rezolvat conflictul: eliminând pachetul python cu pip uninstall pkg_name
, apoi am reîncercat pacman -Syu
. De data aceasta nu mai sunt erori.
Apoi am repornit sistemul meu și s-a produs problema:
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: Ca indicație de avertizare, am actualiza kernelul 4.18 la 4.19
Comentarii
Răspundeți
Dacă actualizarea a fost întreruptă și nucleul era în curs de actualizare, probabil că încă aveți initramf-urile vechiului nucleu în /boot
în timp ce aveți instalat noul kernel care poate împiedica pornirea. Acest lucru se poate întâmpla și pe un sistem proaspăt instalat dacă ați uitat să montați corect partiția /boot
.
Cel mai simplu mod de a remedia acest lucru ar fi să porniți cu un archlinux suport de instalare, efectuați un chroot
și reinstalați nucleul folosind 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
Fișierele care ar trebui modificate sunt /boot/initramfs-linux.img
și /boot/initramfs-linux-fallback.img
, deci probabil că nu este necesar să montați partiția EFI
Dacă dintr-un anumit motiv nu puteți „folosi div <= id =" fb4b52cdef ">
, puteți lansa și mkinitcpio
manual pentru a regenera initramf-urile de utilizat noul kernel
Comentarii
- Răspunsul dvs. este corect, dar vă rog nu sfătuiți oamenii să
-Sy $package
, este un sfat teribil și duce doar la la ruperea . - într-adevăr un punct bun, editat
- @Fredszaq Mulțumesc pentru răspuns, m-a salvat de la s probleme serioase. Cu toate acestea, nu ' nu înțeleg destul de bine ce nu a funcționat în cazul meu, deoarece comanda
pacman -Syu
a rulat fără conflicte înainte de a nu putea porni. . Poate că este ceva în neregulă cu configurarea mea. Dacă poți, te rog să verifici pacman.log și să-mi spui dacă îmi lipsește ceva ' link către fișier în cazul în care puteți: ix.io/2s1w
Răspunde
Textul este doar o notificare din partea shell-ului că controlul jobului nu funcționează, ceea ce înseamnă că nu puteți opri un program cu Ctrl + C sau Ctrl + Z .
Problema este vizibilă în liniile de mai sus și poate ceea ce este deasupra acelor linii:
Warning: /lib/modules/4.19.1-arch1-1-ARCH/modules.devname not found - ignoring mount: /new_root: unknown filesystem type "ext4"
se pare că nu s-au găsit modulele kernel și, prin urmare, nu există modul ext4
și, prin urmare, nu se montează sistemul de fișiere rădăcină ext4
Majoritatea distribuțiilor nu șterg nucleul vechi în cazul în care este ceva în neregulă cu cel nou, așa că încercați să porniți nucleul anterior.
Dacă acest lucru nu funcționează, porniți un sistem live și fie instalați nucleul anterior cu module potrivite, fie cel nou, fie orice nucleu care funcționează.
De asemenea, este posibil să existe ceva în neregulă cu crearea sistemului de fișiere initrd, care nu a fost inclus din anumite motive. În acest caz, puteți porni un sistem live, puteți recrea initrd cu ext4
și reporniți.
Comentarii
- Arch elimină vechiul nucleu. Problema OP ' este că / boot nu a fost montat ' în timpul actualizării, astfel încât modulele instalate să nu se potrivească cu nucleul.
- @jasonwryan Dacă / boot nu a fost montat, atunci nucleul și initrd potrivite ar trebui să fie în sistemul de fișiere rădăcină, deci ar trebui să fie posibil să le încărcați de acolo.
- Nu neapărat; actual / boot poate fi montat deasupra sau inițialul ar putea fi corupt. Singura abordare sigură este chroot și remediere.
Răspuns
comanda de mai jos eliberează-mă,
mdev -s
comanda mea qemu este
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
și adaug mdev -s
în fișierul meu /init
.
Sper că vă va ajuta.
pacman -Q linux && uname -r
.Warning
postat mai sus. Cu toate acestea, îmi amintesc că înainte de ultima repornire am executatuname -r
și versiunea kernel de ieșire era încă 4.18.xxx/
și/boot
sunt montate și apoi reinstalați Linux.