modinfoでは「モジュールが見つかりません」と言いますが、lsmodではモジュールがロードされたと主張するのはなぜですか?

modinfoでは「モジュールが見つかりません」と言いますが、lsmodではモジュールがロードされたと主張するのはなぜですか?

lsmodコマンドのマニュアルページに従って、「現在ロードされているカーネルモジュール」が表示されます。

modinfo使用された実際のカーネルオブジェクト(.ko)ファイルを表示するスクリプトを作成しました。

#!/bin/sh
for i in `lsmod | awk '{print $1}' | sed -n '1!p'`; do
echo "###############################$i###############################"
echo ""
modinfo $i
echo ""
echo ""
done

これで、modinfo nvidia次の出力が表示されます。

ERROR: modinfo: could not find module nvidia

これについての説明はありますか?

答え1

モジュールnvidiaは完全にロードされ、正常に動作します。それが問題ですmodinfo

modinfo一般的/lib/modules/$(uname -r)/modules.*depmod

depmod -aモジュールの取り付け後に実行されなかった場合はnvidia不明ですmodinfo。これは誰かがモジュールをロードするのを防ぎません。insmodロードlsmodすると正常に表示されます。

答え2

最近nvidiaドライバをアンインストールした場合、モジュールはシステムから削除された可能性がありますが、まだinitrdにあります。を使用してinitrdの内容を確認できますlsinitrd。または、カーネルを再インストールして、表示されなくなったことを確認してくださいlsmod

関連情報