Jeg kom over problemet etter oppgradering av systemet mitt gjennom pacman -Syu
.
Under oppgraderingen opplevde jeg en python-pakkekonflikt som forårsaket oppgraderingstransaksjonen avbrutt. Så jeg løste konflikten: Fjern pythonpakken med pip uninstall pkg_name
, og prøvde deretter pacman -Syu
. Denne gangen ikke flere feil.
Da startet jeg systemet på nytt, og problemet oppstod:
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: Som advarselen indikerer jeg var å oppgradere kjernen 4.18 til 4.19
Kommentarer
Svar
Hvis oppdateringen ble avbrutt og kjernen var i ferd med å bli oppdatert, har du sannsynligvis fortsatt initramfs til den gamle kjernen i /boot
mens den nye kjernen er installert, noe som kan forhindre oppstart. Dette kan også skje på et nyinstallert system hvis du glemte å montere /boot
-partisjonen.
Den enkleste måten å fikse dette på ville være å starte med en archlinux. installasjonsmedier, utfør en chroot
og installer kjernen på nytt med 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
Filene som skal endres er /boot/initramfs-linux.img
og /boot/initramfs-linux-fallback.img
så du trenger sannsynligvis ikke å montere EFI-partisjonen
Hvis du av en eller annen grunn ikke kan bruke pacman
, kan du også starte mkinitcpio
for hånd for å regenerere initramfs som skal brukes den nye kjernen
Kommentarer
- Svaret ditt er riktig, men vær så snill å ikke råde folk til å
-Sy $package
, det er forferdelig råd og fører bare til til brudd . - faktisk godt poeng, redigert
- @Fredszaq Tusen takk for svaret ditt, det reddet meg fra s alvorlige problemer. Likevel forstår jeg ikke ' hva som gikk galt i mitt tilfelle, da kommandoen
pacman -Syu
gikk uten konflikter før jeg ikke kunne starte . Kanskje det er noe galt med oppsettet mitt. Hvis du kan, kan du sjekke ut pacman.log og fortelle meg om jeg ' mangler noe? lenke til filen i tilfelle du kan: ix.io/2s1w
Svar
Teksten can"t access tty: job control turned off
er bare et varsel fra skallet om at jobbkontroll ikke fungerer, det betyr at du ikke kan stoppe et program med Ctrl + C eller Ctrl + Z .
Problemet er synlig i linjene over, og kanskje hva som er over de linjene:
Warning: /lib/modules/4.19.1-arch1-1-ARCH/modules.devname not found - ignoring mount: /new_root: unknown filesystem type "ext4"
It ser ut til at kjernemodulene ikke blir funnet, og derfor ingen modul ext4
, og derfor ikke monteres ext4
rotfilsystemet.
De fleste distribusjoner sletter ikke den gamle kjernen i tilfelle det er noe galt med den nye, så prøv å starte den forrige kjernen.
Hvis det ikke virker, start et live system og enten installer den forrige kjernen med matchende moduler, eller den nye, eller en hvilken som helst kjerne som fungerer.
Det er også mulig at det bare var noe galt med opprettelsen av initrd-filsystemet, at ble ikke inkludert av noen grunner. I dette tilfellet kan du starte et live system, gjenopprette initrd med ext4
og starte på nytt.
Kommentarer
- Arch fjerner den gamle kjernen. OP ' problemet er at / boot ikke var ' t montert under denne oppgraderingen, slik at de installerte modulene ikke samsvarer med kjernen.
- @jasonwryan Hvis / boot ikke var montert, skulle den samsvarende kjernen og initrd være i rotfilsystemet, så det skulle være mulig å laste dem derfra.
- Ikke nødvendigvis; faktisk / boot kan monteres over toppen, ellers kan initrd bli ødelagt. Den eneste sikre tilnærmingen er å rote og fikse det.
Svar
kommandoen nedenfor frigjør meg,
mdev -s
qemu-kommandoen min er
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
og jeg legger til mdev -s
i /init
-filen.
Jeg håper det hjelper.
pacman -Q linux && uname -r
.Warning
lagt ut ovenfor. Imidlertid husker jeg at før den siste omstarten utførte jeguname -r
og ouput-kjerneversjonen var fortsatt 4.18.xxx/
og/boot
er montert og installerer deretter Linux på nytt.