我在运行时遇到以下错误
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
。