“使用循环挂载时无法打开moddep文件’/lib/modules/3.XX-generic/modules.dep.bin’”

在virtualbox 4.3.8中运行14.04

当我在IDE Secondary Master中选择guest adds.iso时,无法检测到guest adds.iso。

没问题,所以我使用wget并将iso下载到客户端ubuntu无头。

当我尝试使用这些命令从内部加载iso时:

sudo mkdir /media/iso sudo modprobe loop sudo mount filename.iso /media/iso -t iso9660 -o loop 

sudo modprobe loop ,我收到以下错误:

 modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/3.13.0-24-generic/modules.dep.bin' 

这是我的lsb_release -a

 No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04 LTS Release: 14.04 Codename: trusty 

编辑:

当我输入

 ls /lib/modules/*/modules.dep.bin 

我回来了

 /lib/modules/3.11.0-20-generic/modules.dep.bin /lib/modules/3.13.0-24-generic/mo‌​dules.dep.bin /lib/modules/3.5.0-49-generic/modules.dep.bin 

感谢Braiam的评论,我已经解决了它

 sudo apt-get install --reinstall linux-image-3.13.0 

无需重新安装linux映像

 sudo depmod 

对我来说很好。 信用到@pabouk

可能是系统更改等待更新后重新启动。 我的安装指向错误的/lib/modules/ ,但它在重启后自行完成。

 #:/ $ sudo modinfo iptable_nat libkmod: ERROR ../libkmod/libkmod.c:557 kmod_search_moddep: could not open moddep file '/lib/modules/4.1.18+/modules.dep.bin' modinfo: ERROR: Module alias iptable_nat not found. 
  #apt-get install --reinstall linux-image-`uname -r`

除非您想升级内核,否则这将起到作用。

奇怪的是,如果我在包含两个与&&连接的命令的systemd单元中指定ExecStart stanze,我遇到了这个问题,例如

 ExecStart=/sbin/modprobe zfs && /usr/local/sbin/zpool import -d /dev data 

这可能是不正确的,但是systemd仍然需要失败,并提供有用的错误消息 – 就像任何程序一样。

命令链可以用bash -c表示,例如

 ExecStart=/bin/bash -c '/sbin/modprobe zfs && /usr/local/sbin/zpool import -d /dev data' 

(注意简单的引号''而不是双引号"" )。

如果您无法访问网络,则可以执行此操作

 dpkg-reconfigure linux-image-$(uname -r) 

它对我有用

    Interesting Posts