如上所述,当我尝试通过 SAMBA 挂载打开文件时,有时它可以正常工作并且 vi 会打开文件,但有时 vi 会打开并且我会收到如下错误:
"Windows/Custom2d.txt" [Permission Denied]
请注意,不仅仅是 vi 可以这样做:
cat: Windows/Custom2d.txt: Input/output error
其中 Windows 是挂载的 Linux 文件夹名称。我可以使用相同的命令和相同的共享设置挂载到其他 Windows 计算机共享文件夹,没有任何问题。
以下是我的安装命令:
sudo mount -o user=<username>,uid=<username>,gid=<username>,nolinux //<Windows-IP>/temp Windows
我安装时没有收到任何错误。
我在示例中打开的文件具有以下文件结构:
c:\temp\Custom2d.txt
我已确保 C:\temp 被共享且允许同时有 20 个用户。
这是一个测试,表明它与递归子文件夹共享无关。我尝试了 IP 刷新、重新安装、重新启动和几个不同的安装命令。有人知道会发生什么吗?
编辑:这里有一串命令来说明这个问题:
$ cat Windows/Custom2d.txt
...
File Text
...
$ cat Windows/Custom2d.txt
cat: Windows/Custom2d.txt: Input/output error
$ cat Windows/Custom2d.txt
cat: Windows/Custom2d.txt: Input/output error
$ cat Windows/Custom2d.txt
cat: Windows/Custom2d.txt: Input/output error
答案1
以下解决了我的问题:
一个已知的 Windows 7 错误会导致 Linux 端原本完美的 cifs 共享出现“安装错误 (12):无法分配内存”,可以通过在 Windows 框中设置几个注册表项来修复,如下所示:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache (set to 1)
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size (set to 3)