在我今天早些时候使用 apt-get upgrade 之后,我的 Raspberry Pi(Raspbian Jessie)不再能够自动挂载我的外部硬盘。在 apt-get upgrade 之前,自动挂载工作得非常好,但现在我什至无法再手动挂载我的外部硬盘了。
这是我收到的错误消息:
pi@raspberrypi:~ $ sudo mount /dev/sda1 /mnt
modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.26-v7+/modules.dep.bin'
ntfs-3g-mount: fuse device is missing, try 'modprobe fuse' as root
'modprobe fuse' 给了我同样的错误信息:
modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.26-v7+/modules.dep.bin'
我使用以下命令重新安装了内核和引导加载程序:
sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel
但这没有帮助。
从阅读其他论坛帖子来看,我的内核和 fuse 可能看起来不兼容 - 但这是怎么发生的?我觉得我在这里有点超出我的深度。
一些论坛帖子建议重新启动会有所帮助,但这并没有解决我的问题。
或者,我还发现了一个 post from drownboat on Reddit from two years ago这看起来很有希望 - 但老实说,我不知道这是否只是另一个红鲱鱼,或者这是否确实是我面临的问题。无论如何,我不确定溺水船到底是什么/如何做到的:
I suspect that what is happening is that updates to the kernel and grub config are being written to the /boot folder, but not onto the boot device. This has caused the modules and the kernel to go out of sync. [...]
I fixed it by adding /boot back to /etc/fstab, rebooting to another kernel where the modules were still working, thus mounting /boot, and finally reinstalling apt-get install --reinstall linux-image-3.16.0-4-amd64.
我将不胜感激任何帮助!
更多信息:
uname -a
Linux raspberrypi 4.4.26-v7+ #915 SMP Thu Oct 20 17:08:44 BST 2016 armv7l GNU/Linux
dpkg -s fuse
Status: install ok installed
Priority: optional
Section: utils
Installed-Size: 103
Maintainer: Laszlo Boszormenyi (GCS)
Architecture: armhf
Version: 2.9.3-15+deb8u2
Depends: libc6 (>= 2.4), libfuse2 (= 2.9.3-15+deb8u2), adduser, mount (>= 2.19.1), sed (>= 4), udev | makedev
Conffiles:
/etc/fuse.conf 298587592c8444196833f317def414f2
Description: Filesystem in Userspace
Filesystem in Userspace (FUSE) is a simple interface for userspace programs to export a virtual filesystem to the Linux kernel. It also aims to provide a secure method for non privileged users to create and mount their own filesystem implementations.
Homepage: http://fuse.sourceforge.net/
最佳答案
我找到了解决方案(有关详细信息,请参见下文)! 结果是引导分区没有挂载,操作系统恢复到apt-get升级前的旧内核。所以我只需要确保/boot 在启动时自动挂载,以便使用正确的内核。
我的错误分析的进一步步骤():
好的,所以我设法自己解决了这个问题。事实证明/boot 分区没有挂载,因此我的 Raspberry Pi 恢复到旧内核,而不是 apt-get upgrade 附带的花哨的新内核。
我通过使用 uname -r
发现了问题, 这给了我 ' 4.9.35-v7+ '作为回答。这很奇怪,因为原始错误消息具有不同的版本号:
modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.26-v7+/modules.dep.bin'
(我的重点)
当我使用
cd /lib/modules
导航到/lib/modules 时我也看到了这个:pi@raspberrypi:/lib/modules $ ls
4.9.35+ 4.9.35-v7+
因此,有关缺少 fuse 设备的错误消息似乎确实与内核和 fuse 版本不匹配有关。版本号之间的差异让我相信使用了错误的内核(就像两年前他们在 Reddit 上的帖子中提到的 dropboat)。
这就是我解决问题的方法(解决方案):
sudo nano /etc/fstab/
然后我在 fstab 中添加了以下几行:
# automount /boot partition at startup
/dev/mmcblk0p6 /boot vfat defaults 0 2
重启后,我用了
sudo raspi-config
检查启动分区是否正确挂载(raspi-config 只会让您在挂载分区时进入其菜单,否则它会告诉您需要先挂载启动分区)。然后我跑了
sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel
再次加倍确保最新的内核也安装在引导分区上 - 但我不知道这是否是关键步骤。最后,再次重新启动后,我能够再次挂载/自动挂载我的外部硬盘驱动器。
希望这可以帮助其他和我有同样问题的人! :)
关于raspberry-pi - 树莓派杰西 : Cannot mount NTFS external harddrive anymore after 'apt-get upgrade' (fuse device is missing),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47002854/