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
これについて何か説明はありますか?
nvidia
モジュールは完全にロードされ、機能しています。問題はmodinfo
にあります。
modinfo
/lib/modules/$(uname -r)/modules.*
ファイルを読み取ることにより、既知のモジュールのリストを取得します。通常、depmod
で更新されます。
depmod -a
はnvidia
モジュールのインストール後に実行されていないため、modinfo
はそれを認識していません。これは、誰かがinsmod
を使用してモジュールをロードすることを妨げるものではなく、lsmod
はロードされた場合に問題なく表示されます。
最近nvidiaドライバーをアンインストールした場合は、システムからモジュールをアンインストールした可能性がありますが、それはまだinitrdにあります。 lsinitrd
を使用してinitrdにあるものを確認できます。または、カーネルを再インストールして、lsmod
に表示されなくなったかどうかを確認してください。