Archlinuxが起動に失敗しました:' tにアクセスできません:ジョブ制御がオフになっています

後に問題が発生しましたpacman -Syuを使用してシステムをアップグレードします。

アップグレード中に、Pythonパッケージの競合が発生し、アップグレードトランザクションが中止されました。そこで、競合を解決しました。pip uninstall pkg_nameでPythonパッケージを削除してから、pacman -Syuを再試行しました。今回はエラーはもうありません。

システムを再起動すると、問題が発生しました:

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:警告として、私はカーネル4.18を4.19にアップグレードしていました

コメント

  • pacman -Q linux && uname -rの出力で質問を編集します。
  • @jasonwryan申し訳ありませんが'できません。前回の再起動以降、上記のWarningによってブロックされ、システムにログインできなくなりました。ただし、最後の再起動の前にuname -rを実行し、出力カーネルのバージョンがまだ4.18.xxxであったことを覚えています
  • chrootする必要があります、必ず//bootがマウントされ、Linuxが再インストールされます。

回答

更新が中止され、カーネルが更新中の場合は、/boot起動を妨げる可能性のある新しいカーネルをインストールしている間。これは、/bootパーティションを適切にマウントし忘れた場合に、新しくインストールしたシステムでも発生する可能性があります。

これを修正する最も簡単な方法は、archlinuxで起動することです。インストールメディアで、chrootを実行し、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 

を使用してカーネルを再インストールします。

変更する必要のあるファイルは/boot/initramfs-linux.img/boot/initramfs-linux-fallback.imgであるため、おそらくEFIパーティションをマウントする必要はありません

何らかの理由でpacmanを使用できない場合は、mkinitcpioを手動で起動して、使用するinitramfsを再生成することもできます。新しいカーネル

コメント

  • あなたの答えは正しいですが、iv id = “をしないでください。 791fa1af48 “>

、それはひどいアドバイスであり、破損につながるだけです。

  • 確かに良い点、編集済み
  • @Fredszaq回答ありがとうございました、それは私をsから救いました深刻なトラブル。それでも、'コマンドpacman -Syuが起動できなくなる前に競合なしで実行されたため、私の場合は何が悪かったのかよくわかりません。 。たぶん私の設定に何か問題があります。可能であれば、私のpacman.logをチェックして、'何かが足りないかどうか教えてください。可能な場合はファイルへのリンク:ix.io/2s1w
  • 回答

    テキストcan"t access tty: job control turned offは、ジョブ制御が機能しないというシェルによる通知にすぎません。つまり、 Ctrl + C または Ctrl +でプログラムを停止することはできません。 Z

    問題は上の行に表示され、おそらくその行の上にあるものが表示されます:

    Warning: /lib/modules/4.19.1-arch1-1-ARCH/modules.devname not found - ignoring mount: /new_root: unknown filesystem type "ext4" 

    Itカーネルモジュールが見つからないため、モジュールext4がないため、ext4ルートファイルシステムをマウントできません。

    ほとんどのディストリビューションは、新しいカーネルに問題が発生した場合に古いカーネルを削除しないため、前のカーネルを起動してみてください。

    それが機能しない場合は、ライブシステムを起動して以前のカーネルと一致するモジュール、新しいカーネル、または機能するカーネルをインストールします。

    initrdファイルシステムの作成に問題があった可能性もあります。は何らかの理由で含まれていませんでした。この場合、ライブシステムを起動し、ext4を使用してinitrdを再作成し、再起動できます。

    コメント

    • Archは古いカーネルを削除します。 OP 'の問題は、アップグレード中に/ bootが'マウントされなかったため、インストールされたモジュールがカーネルと一致しないことです。
    • @jasonwryan / bootがマウントされていない場合、一致するカーネルとinitrdはルートファイルシステムにあるはずなので、そこからロードできるはずです。
    • 必ずしもそうとは限りません。実際の/ bootが上部にマウントされたり、initrdが破損したりする可能性があります。安全な唯一のアプローチは、chrootして修正することです。

    回答

    以下のコマンドで解放してください

    mdev -s 

    私のqemuコマンドは

    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 

    そしてmdev -s

    ファイル内の

    お役に立てば幸いです。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です