Jag stötte på problemet efter uppgradera mitt system genom pacman -Syu
.
Under uppgraderingen stötte jag på en pythonpaketkonflikt som orsakade att uppgraderingstransaktionen avbröts. Så jag löste konflikten: tog bort pythonpaketet med pip uninstall pkg_name
och försökte sedan igen pacman -Syu
. Den här gången inga fler fel.
Sedan startade jag om mitt system och problemet uppstod:
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 varningen indikerar jag uppgraderade kärnan 4.18 till 4.19
Kommentarer
Svar
Om uppdateringen avbröts och kärnan håller på att uppdateras har du förmodligen fortfarande initramfs för den gamla kärnan i din /boot
samtidigt som den nya kärnan har installerats vilket kan förhindra uppstart. Detta kan också hända på ett nyinstallerat system om du har glömt att montera /boot
-partitionen ordentligt.
Det enklaste sättet att fixa detta skulle vara att starta med en archlinux installationsmedia, utför en chroot
och installera om kärnan 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
Filerna som ska ändras är /boot/initramfs-linux.img
och /boot/initramfs-linux-fallback.img
så du behöver antagligen inte montera EFI-partitionen
Om du av någon anledning inte kan använda pacman
, kan du också starta mkinitcpio
för att återskapa initramfs som ska användas den nya kärnan
Kommentarer
- Ditt svar stämmer, men råd inte människor att
-Sy $package
, det är fruktansvärt råd och leder bara till till brott . - verkligen bra punkt, redigerad
- @Fredszaq Stort tack för ditt svar, det räddade mig från s allvarliga problem. Ändå förstår jag inte ' vad som gick fel i mitt fall, eftersom kommandot
pacman -Syu
sprang utan konflikter innan jag inte kunde starta . Kanske är det något fel med min inställning. Om du kan, skulle du snälla kolla in min pacman.log och berätta för mig om jag ' saknar något? länk till filen om du kan: ix.io/2s1w
Svar
Texten can"t access tty: job control turned off
är bara ett meddelande från skalet om att jobbkontroll inte fungerar, det betyder att du inte kan stoppa ett program med Ctrl + C eller Ctrl + Z .
Problemet syns i raderna ovan, och kanske vad som ligger ovanför dessa rader:
Warning: /lib/modules/4.19.1-arch1-1-ARCH/modules.devname not found - ignoring mount: /new_root: unknown filesystem type "ext4"
Det verkar kärnmodulerna inte hittas och därför finns ingen modul ext4
, och därför monteras inte ext4
rotfilsystemet.
De flesta distributioner raderar inte den gamla kärnan om det är något fel med den nya, så försök starta den tidigare kärnan.
Om det inte fungerar, starta ett live-system och antingen installera den tidigare kärnan med matchande moduler, eller den nya eller någon kärna som fungerar.
Det är också möjligt att det bara var något fel med skapandet av initrd-filsystemet, att ingick inte av några anledningar. I det här fallet kan du starta ett live-system, återskapa initrd med ext4
och starta om.
Kommentarer
- Arch tar bort den gamla kärnan. OP ' problemet är att / boot inte var ' t monterad under den uppgraderingen så att de installerade modulerna inte matchar kärnan.
- @jasonwryan Om / boot inte var monterad, skulle den matchande kärnan och initrd vara i rotfilsystemet, så det skulle vara möjligt att ladda dem därifrån.
- Inte nödvändigtvis; actual / boot kan monteras överst eller annars kan initrd skadas. Det enda säkra tillvägagångssättet är att krossa och fixa det.
Svar
kommandot nedan frigör mig,
mdev -s
mitt qemu-kommando är
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
och jag lägger till mdev -s
i min /init
-fil.
Jag hoppas att det hjälper.
pacman -Q linux && uname -r
.Warning
som publicerats ovan. Men jag kommer ihåg att innan den senaste omstarten körde jaguname -r
och ouput-kärnversionen var fortfarande 4.18.xxx/
och/boot
är monterade och installerar sedan om Linux.