web-dev-qa-db-ja.com

デバッグ `カーネルパニック-同期しない:initを強制終了しようとしました!`

カーネルの更新を受け入れた後、システムが機能しなくなりました。端末上のコマンド(lscdなど)が機能せず、エラーメッセージcommand not foundを返し、GUIを使用してアクションを実行しようとしました。

コンピューターを強制的にシャットダウンし、再起動後に(予想どおり)カーネルパニックエラーが発生しました。

[timestamp]Kernel panic - not syncing: Attempted to kill init! exitcode=0x0001000
[timestamp]CPU: 0 PID: 1 Comm: run-init Not tainted 3.19.0-25-generic #26~14.04.1-Ubuntu
[timestamp]Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./B150M Pro4S, BIOS P1.10 07/16/2015
[timestamp] ffff88084cd60380 ffff880851727e68 ffffffff817aed00 0000000000002478
[timestamp] ffffffff81a901a8 ffff880851727ee8 ffffffff817a8bc8 ffff880851728000
[timestamp] ffffffff00000010 ffff880851727ef8 ffff880851727e98 ffffffff81c5ee20
[timestamp] Call Trace:
[timestamp]  [<ffffffff817aed00>] dump_stack+0x45/0x57
[timestamp]  [<ffffffff817a8bc8>] panic+0xc1/0x1f5
[timestamp]  [<ffffffff81077ae1>] do_exit+0xa11/0xb00
[timestamp]  [<ffffffff81077c17>] SyS_exit+0x17/0x20
[timestamp]  [<ffffffff817b668d>] system_call_fastpath+0x16/0x1b
[timestamp] Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range:0xffffffff80000000-0xffffffffbfffffff)
[timestamp] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0001000

私はパニックにならず(あなたがしゃれが好きであることを願っています)、オンラインで可能な解決策を探しました。


このアプローチの問題は、新しいカーネルが古いカーネルを台無しにしているように見えることと、GRUBメニューを使用して以前のバージョン(通常モードとリカバリモードの両方)を選択した場合カーネルはまったく同じエラーを返します。


run-initコマンドは機能していませんが、ファイルが見つからないためではありません。 OPの場合と同様に、私のディスクは正常に動作しており、LiveOSからデバイスにアクセスすると、すべてのバイナリディレクトリとファイルを見つけることができます。


リンクは異なるシステムを参照するため、GRUBコマンドラインを開始したら、次のようにソリューションを適合させました。

grub> set root=(hd0,1) selinux=0 enforcing=0
grub> linux /boot/vmlinuz-3.19.0-25-generic root=/dev/sda1
grub> initrd /boot/initrd.img-3.13.0-29-generic
grub> boot

本当に解決策を提案しているわけではありませんが、私の問題に当てはまらない可能性のある複数の診断を指摘しています。


カーネルパニックとは無関係ですが、GRUBメニュー内からシングルユーザーモードで起動する方法について説明しています。これにより、X Serverが起動されなくなり、できればカーネルを実行できるようになります。


この時点で、私は多くの診断を見つけ、多くの解決策を試しましたが、何も機能しませんでした。

私が理解したこと(私が考えていること):

  • カーネル(新旧両方、リカバリモードかどうか)でrun-initコマンドの実行に問題があります。
  • コンピューターはLiveOSで正常に動作し、グラフィックカードを使用したり、ディスクにアクセスしたり、キーボードやマウスを使用したりできるため、これはハードウェアとは関係ありません。
  • このエラーは、シングルユーザーモードで起動しようとしても機能せず、X serverの読み込みを妨げても効果がないため、起動の初期段階にあります。

重要な順に、理解したいこと:

  • 新しいカーネルのインストールが古いカーネルを上書き/混乱させる可能性はありますか?
  • 誰かが私が見逃していることや他の解決策を知っていますか?
  • 上記のソリューションを実装する際にミスをしましたか?
  • あなたの頭の上から外れた、私が試したことがないことはありますか?
  • GRUBコンソールからすべてをフォーマットせずに新しいカーネルをインストールできますか?
  • OSを再インストールするときですか? (上記のものに答えられない場合、私はすでにこの答えを知っています...)

さらなる測定値

7
Matteo

バグのドキュメントのいずれかで見つかった ソリューション を使用して、統一 issue を解決しようとして、Trusty(14.04)で同じ問題が発生しています。

答えを出さなくても、この研究がすべて「無駄」になってしまうのを見ると悲しくなります。確かに、新規インストールなしでこれを修正する方法がなければなりません。


私はまだソリューションに来ていませんが、ソリューションへのエントリになり得るものを共有させてください(その一部はこのスレッドのおかげです):

  1. お好みのUbuntuディストリビューションで起動可能なUSBドライブを作成します

  2. Ubuntuを試すオプションを選択します

  3. ファイルシステムがe2fsck /dev/your-partitionで使用可能であることを確認してください

    • blikdまたはfdisk -lを実行して、正しい情報を取得できます
  4. Sudo mount /dev/your-partition /mntでパーティションをマウントします

  5. chroot /mntを使用してルートのenvにアクセスします

  6. これで、ファイルシステムへのフルアクセスが可能になります。
    USBドライブまたはrsyncを使用してデータを修正または取得するのはユーザー次第です

Sudo apt-get install initを介してinitを再構築しようとして立ち往生しました

unable to locate package initを返し、Sudo apt-get updateは次のようなものを返しました。

ubuntu 14.04用のデフォルトのinitパッケージはありますか?

手動でダウンロードしようとしたときに、initパッケージの膨大なリストが見つかりました here

唯一の "init" package 私が見つけたのは明らかにxenial用です。このパッケージを使用してtrustyにインストールできますか?


まだこの仕事をする方法を見つけようとしています。最初から再インストールする前に、敗北を認めて機密データのバックアップを開始するまで、さらに数時間かかります。