Archlinuxin käynnistys epäonnistui: voi ' t käyttää tty: työn hallinta kytketty pois päältä

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

  • Muokkaa kysymystäsi pacman -Q linux && uname -r -lähdön avulla.
  • @jasonwryan Valitettavasti en voi ' päästä siihen. Viimeisen uudelleenkäynnistyksen jälkeen en voi enää kirjautua järjestelmiini. Yllä oleva Warning on estänyt sen. Muistan kuitenkin, että ennen viimeistä uudelleenkäynnistystä suoritin uname -r ja ouput-ytimen versio oli edelleen 4.18.xxx.
  • Sinun on kirjattava sisään, varmista, että / ja /boot asennetaan ja asennetaan sitten Linux uudelleen.

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.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *