web-dev-qa-db-ja.com

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

lsmodのmanページによると、コマンドは「現在ロードされているカーネルモジュール」を表示します。

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

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

8
JohnnyFromBF

nvidiaモジュールは完全にロードされ、機能しています。問題はmodinfoにあります。

modinfo/lib/modules/$(uname -r)/modules.*ファイルを読み取ることにより、既知のモジュールのリストを取得します。通常、depmodで更新されます。

depmod -anvidiaモジュールのインストール後に実行されていないため、modinfoはそれを認識していません。これは、誰かがinsmodを使用してモジュールをロードすることを妨げるものではなく、lsmodはロードされた場合に問題なく表示されます。

10
BatchyX

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

0
drs