Debian が「*_head==_item」という主張でブロックされるのはなぜですか?

Debian が「*_head==_item」という主張でブロックされるのはなぜですか?

Debian 11 を起動しようとするたびに停止します。

Welcome to Debian GNU/Linux 11 (bullseye)!

systemd[1]: Set hostname to <arm>.
systemd[1]: Failed to open netlink: Function not implemented
systemd[1]: Failed to allocate device monitor: Function not implemented
systemd[1]: Failed to allocate notification socket: Function not implemented
systemd[1]: Assertion '*_head == _item' failed at src/core/device.c:46, function device_unset_sysfs(). Aborting.
systemd[1]: Caught <ABRT>, dumped core as pid 799.
systemd[1]: Freezing execution.

ベストアンサー1

システムはもともとDebian 11としてインストールされていますか、それとも以前のバージョンのDebianからアップグレードされましたか?

「Welcome to Debian...」というメッセージが表示されるという事実は、システムがinitramfsステップを通過して実際のルートファイルシステムに到達していることを意味しますが、systemdinitramfsのミニバージョンから実際のルートファイルシステムに切り替えると、状況は非常に高速です発生する可能性があります。すべての機能を備えたバージョン。問題が発生しました。

systemd一部のカーネル機能を使用したいようですが、「機能が実装されていません」というエラーを返してトリガーされます。パラドックス

(アサーションは基本的に開発ツールです。プロダクショングレードソフトウェアの基本的なエラーチェックメカニズムになるべきではありませんsystemd。根本的な原因を特定できる場合は、systemd問題の原因を説明するバグレポートを作成し、より良いエラーメッセージを提案することをお勧めします.)

これは、アップグレードの失敗とシステムが既存のライブラリと新しいライブラリを混在させて実行しようとするために発生する可能性がありますが、通常はパッケージの依存関係が原因で発生する可能性はほとんどありません。アップグレード中にシステムが間違った時間にクラッシュした可能性がありますか?

おそらくDebian 11と互換性のないいくつかのパッケージリポジトリを追加し、パッケージ管理システムがシステムのいくつかの一般的なパッケージを互換性のないリポジトリのパッケージに置き換えて、システムが機能しなくなる可能性があります。つまり、FrankenDebianが作成された可能性があります。: 無関係で互換性のないパッケージの奇妙な組み合わせです。

3番目の可能性は、カスタムカーネルがインストールされている場合です。これにより、最小限のカーネル構成は次のようになります。またsystemd実行に必要な最小および一部のカーネル機能は完全に無効になります。

systemd原因が何であれ、問題はシステムのプロセス#1が失敗し、システムにアクセスするほとんどの方法を実行できなくなることです。カスタムカーネルをインストールしても標準カーネルがまだインストールされている場合は、ブートローダに標準カーネルを起動するように指示してください。 (ホスト名が「arm」であることを確認しました。これがARMアーキテクチャプロセッサを使用しているという意味であれば、ブートローダは必ずしもGRUBではなく他のものかもしれないと思います。)

それ以外の場合は、プロセス#1など、rootとして実行される単一のシェルセッションを提供する開始引数を追加してみてくださいinit=/bin/bash。これが機能している場合は、少なくともシステムへのいくつかのアクセス(読み取り専用状態)を取得してより多くの情報を収集できます。 。この状態では、すべての一般的なユーザースペース起動プロセスは実行されないため、次のことを行う必要があります。すべて手動:ルートファイルシステムを読み取り専用モードで無効にし、必要に応じて追加のファイルシステムをマウントし、ネットワークインタフェースを設定すること(必要な場合)が含まれます。

コマンドが機能すると、ルートファイルシステムへの書き込みアクセス権が得られ、mountパッケージ管理ツールが実行されている場合は、最近更新または削除されたパッケージをmount -o remount,rw /確認して、最近のパッケージ操作をキャンセルできます。/var/log/dpkg.log、これは問題を引き起こす可能性があります。現在のネットワーク設定コマンドが機能しない場合は、必要なパッケージを別のコンピュータにダウンロードし、USBスティックまたはその他のリムーバブルメディアを介してこのコンピュータに転送する必要があります。

最近、多数のパッケージが交換/削除された場合、またはパッケージ管理ツールが機能していない場合は、回復可能なデータファイルをバックアップしてシステムを再インストールする方が簡単なポイントに達した可能性があります。 。

おすすめ記事