modprobe:致命:在目录 /lib/modules/4.4.0-19041-Microsoft 中找不到模块 cifs

modprobe:致命:在目录 /lib/modules/4.4.0-19041-Microsoft 中找不到模块 cifs

我在运行时遇到以下错误

sudo mount -t cifs //xx.xx.x.xx/shares /xxx -o guest

在适用于 Linux 的 Windows 子系统中。

mount error: cifs filesystem not supported by the system
mount error(19): No such device
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

这里,建议尝试

sudo modprobe cifs

但这会返回

modprobe: FATAL: Module cifs not found in directory /lib/modules/4.4.0-19041-Microsoft

有关如何解决此问题的建议将非常有帮助。

答案1

适用于 Linux 的 Windows 子系统有两种变体:WSL1 和 WSL2。您没有说明您使用的是哪一种,所以我将解释两种情况。

WSL1 模拟 Linux 系统调用和 Windows 内核中的特殊文件。因此,除非模拟的mount(2)系统调用支持 CIFS,否则 WSL1 将不支持它。

WSL2 使用 Microsoft 提供的真正的 Linux 内核。虽然该内核确实支持模块,但所有驱动程序均已编译完毕,并且未附带任何模块,因此如果该cifs模块尚未内置到内核中,则它将无法工作。您使用的发行版不附带内核或任何模块(因为 Microsoft 对此负责),因此包含哪些内容由 Microsoft 决定。

如果您使用的是 WSL1,则可以尝试使用 WSL2,在这种情况下,驱动程序可能存在,并且一切可能正常工作。请注意,这要求您的系统支持处理器中的相关虚拟化扩展,并在固件中启用。

您可能还希望尝试在 Windows 中挂载文件系统并分配驱动器号。在这种情况下,文件系统将在/mnt.例如,如果您将驱动器分配X:给 CIFS 共享,则该驱动器将在 下可用/mnt/x

相关内容