Raspbian Jessie:“apt-get upgrade”后无法再挂载 NTFS 外置硬盘(缺少保险丝设备)

jam*_*ama 4 fuse raspberry-pi raspbian ntfs-3g

在我今天早些时候使用 apt-get upgrade 之后,我的 Raspberry Pi(Raspbian Jessie)不再能够自动挂载我的外部硬盘。在 apt-get upgrade 之前,自动挂载工作得非常好,但现在我什至无法再手动挂载我的外部硬盘了。

这是我收到的错误消息:

pi@raspberrypi:~ $ sudo mount /dev/sda1 /mnt
modprobe: 错误: ../libkmod/libkmod.c:557 kmod_search_moddep() 无法打开 moddep 文件 '/lib/modules/4.4.26-v7+/modules. dep.bin'
ntfs-3g-mount: 缺少保险丝设备,请以 root 身份尝试 'modprobe fuse'

'modprobe fuse' 给了我同样的错误信息:

modprobe:错误:../libkmod/libkmod.c:557 kmod_search_moddep() 无法打开 moddep 文件“/lib/modules/4.4.26-v7+/modules.dep.bin”

我使用以下命令重新安装了内核和引导加载程序:

sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel

但这没有帮助。

从阅读其他论坛帖子来看,我的内核和保险丝可能看起来不兼容 - 但这是怎么发生的?我觉得我在这里有点超出我的深度。

一些论坛帖子建议重新启动会有所帮助,但这并没有解决我的问题。

或者,我还在两年前在 Reddit 上发现了一条来自 dropboat帖子,看起来很有希望——但老实说,我不知道这是否只是另一个红鲱鱼,或者这是否确实是我面临的问题。无论如何,我不确定溺水船到底是什么/如何做到的:

我怀疑正在发生的事情是内核和 grub 配置的更新被写入 /boot 文件夹,但没有写入引导设备。这导致模块和内核不同步。[...]

我修复了它amd64。

我将不胜感激任何帮助!

更多信息:

uname -a
Run Code Online (Sandbox Code Playgroud)

Linux raspberrypi 4.4.26-v7+ #915 SMP Thu Oct 20 17:08:44 BST 2016 armv7l GNU/Linux

dpkg -s fuse
Run Code Online (Sandbox Code Playgroud)

状态:安装 ok 安装
优先级:可选
部分:utils
安装大小:103
维护者:Laszlo Boszormenyi (GCS)
架构:armhf
版本:2.9.3-15+deb8u2
依赖:libc6 (>= 2.4), libfuse2 (= 2.9.3 -15+deb8u2), adduser, mount (>= 2.19.1), sed (>= 4), udev | makedev
Conffiles:
/etc/fuse.conf 298587592c8444196833f317def414f2
描述:用户空间中的
文件系统 用户空间中的文件系统 (FUSE) 是用户空间程序将虚拟文件系统导出到 Linux 内核的简单接口。它还旨在为非特权用户提供一种安全的方法来创建和挂载他们自己的文件系统实现。
主页:http://fuse.sourceforge.net/

jam*_*ama 5

我找到了解决方案(有关详细信息,请参见下文)!结果是引导分区没有挂载,操作系统恢复到apt-get升级前的旧内核。所以我只需要确保 /boot 在启动时自动挂载,以便使用正确的内核。

我的错误分析中的进一步步骤():

好的,所以我设法自己解决了这个问题。事实证明 /boot 分区没有挂载,因此我的 Raspberry Pi 恢复到旧内核,而不是 apt-get upgrade 附带的新内核。

我通过使用找到了问题uname -r,这给了我“ 4.9.35-v7+ ”作为答案。这很奇怪,因为原始错误消息具有不同的版本号:

modprobe:错误:../libkmod/ libkmod.c :557 kmod_search_moddep() 无法打开 moddep 文件 '/lib/modules/ 4.4.26-v7+ /modules.dep.bin'

(我的重点)

当我使用导航到 /lib/modules 时,cd /lib/modules我也看到了这一点:

pi@
raspberrypi :/lib/modules $ ls 4.9.35+ 4.9.35-v7+

因此,有关缺少保险丝设备的错误消息似乎确实与内核和保险丝版本不匹配有关。版本号之间的差异让我相信使用了错误的内核(就像两年前他们在 Reddit 上的帖子中提到的 dropboat)。

这就是我解决问题的方法(解决方案):

sudo nano /etc/fstab/

然后我在 fstab 中添加了以下几行:

# 启动时自动挂载 /boot 分区
/dev/mmcblk0p6 /boot vfat defaults 0 2

重启后,我曾经sudo raspi-config检查过引导分区是否正确挂载(raspi-config 只会让您在分区挂载时进入其菜单,否则它会告诉您需要先挂载引导分区)。

然后我sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel再次运行以双重确保引导分区上也安装了最新的内核 - 但我不知道这是否是关键步骤。

最后,再次重新启动后,我能够再次挂载/自动挂载我的外部硬盘驱动器。

希望这可以帮助其他和我有同样问题的人!:)

  • 非常好 - 感谢您回来更新解决方案。就我而言,我不了解自动挂载部分,并且没有 /dev/mmcblk0p6,但是,模块版本与内核版本不同是对的。--reinstall 步骤为我修复了它。 (3认同)