törmäsin ongelmaan päivitän järjestelmää pacman -Syu
-palvelun avulla.
Päivityksen aikana törmäsin python-pakettiristiriitaan, joka aiheutti päivitystapahtuman keskeytymisen. Joten ratkaisin ristiriidan: poistin python-paketin pip uninstall pkg_name
-toiminnolla ja yritin sitten uudelleen pacman -Syu
. Tällä kertaa ei enää virheitä.
Sitten käynnistin järjestelmän uudelleen ja ongelma ilmeni:
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: Varoituksen mukaan päivitti ytimen 4.18 arvoksi 4.19.
Kommentit
Vastaa
Jos päivitys keskeytettiin ja ydintä päivitettiin parhaillaan, sinulla todennäköisesti on edelleen vanhan ytimen initramfit /boot
samalla kun uusi ydin on asennettu, mikä voi estää käynnistämisen. Tämä voi tapahtua myös juuri asennetussa järjestelmässä, jos unohdit asentaa /boot
-osion oikein.
Helpoin tapa korjata tämä olisi käynnistys archlinuxilla asennusväline, suorita chroot
ja asenna ydin uudelleen käyttämällä 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
Muutettavat tiedostot ovat /boot/initramfs-linux.img
ja /boot/initramfs-linux-fallback.img
, joten sinun ei todennäköisesti tarvitse asentaa EFI-osiota
Jos jostain syystä et voi käyttää pacman
, voit myös käynnistää mkinitcpio
käsin regeneroidaksesi käytettävät initramf-tiedostot uusi ydin
Kommentit
- Vastauksesi on oikea, mutta älä älä kehota ihmisiä
-Sy $package
, se on kauheaa neuvoa ja vain johtaa rikkoutumiseen . - todellakin hyvä asia, muokattu
- @Fredszaq Paljon kiitoksia vastauksestasi, se pelasti minut s: stä vakavia ongelmia. Silti en ymmärrä oikein, mikä meni pieleen tapauksessani, koska komento
pacman -Syu
suoritettiin ilman ristiriitoja ennen kuin en voinut käynnistää . Ehkä asetuksessani on jotain vikaa. Jos pystyt, tutustu pacman.logiin ja kerro, jos minulta puuttuu jotain '? linkki tiedostoon, jos voit: ix.io/2s1w
Vastaa
Teksti can"t access tty: job control turned off
on vain kuoren ilmoittama, että työn hallinta ei toimi, mikä tarkoittaa, että et voi pysäyttää ohjelmaa Ctrl + C tai Ctrl + Z .
Ongelma näkyy yllä olevilla viivoilla ja ehkä mikä on näiden viivojen yläpuolella:
Warning: /lib/modules/4.19.1-arch1-1-ARCH/modules.devname not found - ignoring mount: /new_root: unknown filesystem type "ext4"
Se näyttää siltä, että ytimen moduuleja ei löydy, eikä moduulia ext4
eikä siksi ole asennettuna juuritiedostojärjestelmää ext4
.
Suurin osa jakeluista ei poista vanhaa ydintä, jos uudessa on jotain vikaa, joten yritä käynnistää edellinen ydin.
Jos se ei toimi, käynnistä live-järjestelmä ja joko asenna edellinen ydin vastaavilla moduuleilla tai uusi tai mikä tahansa toimiva ydin.
On myös mahdollista, että initrd-tiedostojärjestelmän luomisessa oli vain jotain vikaa, että ei sisällytetty jostain syystä. Tässä tapauksessa voit käynnistää elävän järjestelmän, luoda initrd-tiedoston uudelleen ext4
ja käynnistää uudelleen.
Kommentit
- Arch poistaa vanhan ytimen. OP ' -ongelma on, että / boot was ' t asennettiin päivityksen aikana, joten asennetut moduulit eivät vastaa ydintä.
- @jasonwryan Jos / bootia ei ole asennettu, yhteensopivan ytimen ja initrdin tulisi olla juuritiedostojärjestelmässä, joten niiden pitäisi olla mahdollista ladata sieltä.
- Ei välttämättä; actual / boot voidaan asentaa yläosaan tai initrd voi olla vioittunut. Ainoa turvallinen tapa on chroot ja korjata se.
Answer
alla oleva komento vapauttaa minut,
mdev -s
qemu-komentoni on
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
ja lisätään mdev -s
tiedostossa /init
.
Toivottavasti se auttaa.
pacman -Q linux && uname -r
-lähdön avulla.Warning
on estänyt sen. Muistan kuitenkin, että ennen viimeistä uudelleenkäynnistystä suoritinuname -r
ja ouput-ytimen versio oli edelleen 4.18.xxx./
ja/boot
asennetaan ja asennetaan sitten Linux uudelleen.